1、单片机设计方案单片机设计方案 电脑钟设计报告 一、概要: 现在电子钟与机械时钟相比已具有了更高的准确性和直观性,切无机械装置,具有更长的使用寿命。现在,电子钟的制作不仅需要数字电路技术而且需要模拟电路技术和单片机技术,所以设计时可以方便的增加电子钟原有的功能。电子钟的设计与制作可以采用数字电路实现,也可以采用单片机来完成。若采用数字电路完成,所设计的电路相当复杂,大概需要十几块数字集成块,焊接复杂成本高。若用单片机来设计制作完成,其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且成本也有所降低,所以在该设计与制作中采用单片机来完成。电子钟电路可以由实时时钟模块、人机接口模块
2、、报警模块等部分组成。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点,见此奥因元器件精度不够引起的误差,但还是电子钟还是可以改进和提高,如选用更精密的元器件。因此本设计的目的就是利用单片机来研制更具使用价值的电子钟。二、实验目的:1. 实时显示当前时间即北京时间(时、分)2. 可修改北京时间(时、分)。3可设定闹铃时间(时、分)。三、系统设计方案根据系统功能要求,可将系统组成结构分成四大部分:单片机控制中心、键盘接口、时钟显示和声音报时,如下图为系统的组成结构图。其中,单片机控制中心是核心。MCU根据按键输入,可切换不同的显示模式或设置不同的参数。时钟
3、显示完成北京时间或秒表时钟的信息。声音报时可完成闹铃的提示。四、系统功能根据系统功能描述,可以将功能大致分成两类:北京时间,闹铃功能。 系统设有六个数码管,12个按键,采用菜单式人机对话,便于操作,所以可以分成多个菜单功能键切换菜单,C/R或ALM键设置时间,确定菜单。整个程序采用的是按键输入,数码管显示。所以数码管采用动态扫描原理。所以系统需使用单片机定时器资源。定时时间可设为5ms,即六位数码管,每5ms扫描一位数码管,30ms循环一次。按键接普通IO口,所以按键管理程序所涉及到的识键、译键均需采用软件扫描的方法。这里选用定时扫描控制方式。,通过用定时器0来实现计时功能。五、试验设计所需硬
4、件89C51单片机芯片一个、LED数码显示管六个,低压电源,开关、电阻、电容及导线若干。采用proteus软件进行模拟设计及调试工作。六、设计原理图 最小系统有一个6MHZ单片机的晶振组成的时钟电路,和一个复位电路还有单片机组成。显示电路的数码管由六个位选端口和八个段选端口组成。本次选用的是共阴极数码管,并采用的是动态的显示方式段选择先全部并在一起,有统一的I/O资源来控制,公共端也由I/O资源来控制。采用了矩阵式键盘 可以减少I/O资源的使用程序框图:程序代码: ORG 0000H AJMP MAIN ORG 000BH AJMP CLOCK ORG 0030H DISP0 EQU 30H
5、DISP1 EQU 31H DISP2 EQU 32H DISP3 EQU 33H DISP4 EQU 34H DISP5 EQU 35H HOUR EQU 3CH MIN EQU 3DH SEC EQU 3EH MSEC EQU 3FH AHOUR EQU 40H AMIN EQU 41H ASEC EQU 42H ;F0 BIT PSW.5 F1 BIT PSW.1 MAIN: MOV SP, #50H CLR F0 CLR F1 MOV AHOUR,#0FFH MOV AMIN, #0FFH MOV ASEC, #0FFH ;- MOV R7,#10H ;16个字节 MOV R0,#DI
6、SP0 CLR ALOOP: MOV R0,A INC R0 DJNZ R7,LOOP ;MOV HOUR, #11 ;MOV MIN, #59 ;MOV SEC, #57 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 SETB EA SETB ET0 BEGIN: ACALL ALARM ACALL KEYSCAN CJNE A,#0AH,NEXT1 CLR TR0 MOV R1,#HOUR AJMP MODE NEXT1: CJNE A,#0BH,BEGIN JB F1,NEXT2 MOV R1,#AHOUR MODE: SETB F0
7、 ACALL MODIFY SETB TR0 CLR F0 AJMP BEGIN NEXT2: SETB P2.7 CLR F1 AJMP BEGINMODIFY:ACALL KEYIN ACALL COMB RET KEYIN: PUSH PSW PUSH ACC SETB RS1 RS1 RS0=10 MOV R0,#DISP0 MOV R7,#06H L1: CLR RS1 ACALL KEYSCAN SETB RS1 CJNE A,#0AH,L2L2: JNC L1 MOV R0,A INC R0 DJNZ R7,L1 CLR RS1 POP ACC POP PSW ; CLR RS1
8、 RET KEYSCAN: ACALL TEST JNZ REMOV ACALL DISPLAY ACALL ALARM AJMP KEYSCANREMOV: ACALL DISPLAY ACALL TEST JNZ LIST ACALL DISPLAY ACALL ALARM AJMP KEYSCAN LIST: MOV R2,#0FEH MOV R3,#00H LINE0: MOV A,R2 ;MOV P2,A MOV P0,A ;MOV A,P0 MOV A,P2 JB ACC.0,LINE1 MOV A,#00H AJMP TRYKLINE1: JB ACC.1,LINE2 MOV A
9、,#04H AJMP TRYKLINE2: JB ACC.2,NEXT MOV A,#08H AJMP TRYKNEXT: INC R3 MOV A,R2 JNB ACC.3,EXIT RL A MOV R2,A AJMP LINE0 EXIT: AJMP KEYSCAN TRYK: ADD A,R3 PUSH ACC LETK: ACALL TEST JNZ LETK POP ACC RET ;- TEST: MOV A,#00H ;MOV P2,A MOV P0,A ;MOV A, P0 MOV A,P2 CPL A ANL A,#07H RET DISPLAY: JB F0,DISP A
10、CALL SEPA DISP: PUSH PSW PUSH ACC SETB RS0 MOV A,#0FFH ;MOV P2,A MOV P0,A MOV R0,#DISP0 MOV R7,#00H MOV R6,#06H MOV R5,#0FEH DIS1: MOV P0,#0FFH MOV DPTR,#TAB MOV A,R0 MOVC A,A+DPTR MOV P1,A MOV A,R5 MOV P0,A DJNZ R7,$ DJNZ R7,$ INC R0 MOV A,R5 RL A MOV R5,A DJNZ R6,DIS1 CLR RS0 POP ACC POP PSW RET T
11、AB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H COMB: MOV R0,#DISP1 ACALL COMB1 ;合字 CJNE A,#24,CHKCHK: JNC EXIT1 MOV R1,A ; INC R1 MOV R0,#DISP3 ACALL COMB1 CJNE A,#60,CHK1 CHK1: JNC EXIT1 MOV R1,A INC R1 MOV R0,#DISP5 ACALL COMB1 CJNE A,#60,CHK2 CHK2: JNC EXIT1 MOV R1,A RE
12、T EXIT1: AJMP MAIN COMB1: MOV A,R0 ANL A,#0FH MOV 43H,A DEC R0 ; MOV A,R0 ANL A,#0FH MOV B,#10 MUL AB ADD A,43H RET SEPA: PUSH PSW PUSH ACC SETB RS0 MOV R0,#DISP5 MOV A,SEC ACALL SEPA1 MOV R0,#DISP3 MOV A,MIN ACALL SEPA1 MOV R0,#DISP1 MOV A,HOUR ACALL SEPA1 CLR RS0 POP ACC POP PSW ;CLR RS0 RET SEPA1
13、: MOV B,#10 DIV AB MOV R0,B DEC R0 MOV R0,A ;MOV 44H,A ;ANL A,#0FH ;MOV R0,A ;DEC R0 ;MOV A,44H ;ANL A,#0F0H ;SWAP A ;MOV R0,A RET ALARM: MOV A,ASEC CJNE A,SEC,BACK MOV A,AMIN CJNE A,MIN,BACK MOV A,AHOUR CJNE A,HOUR,BACK CLR P2.7 SETB F1 BACK: RET CLOCK: MOV TL0,#0B7H MOV TH0,#3CH PUSH PSW PUSH ACC
14、INC MSEC MOV A, MSEC CJNE A,#0AH,DONE ; MOV MSEC,#00H MOV A,SEC INC A DA A MOV SEC,A CJNE A,#60,DONE MOV SEC,#00H MOV A,MIN INC A ; DA A MOV MIN,A CJNE A,#60,DONE MOV MIN,#00H MOV A,HOUR INC A ; DA A MOV HOUR,A CJNE A,#24,DONE MOV HOUR,#00H DONE: POP ACC POP PSW RETI END_七、设计总结 经过了这一个学期的学习,我学会了对单片机的一写简单的设计及操作。因此,我们设计了这一个电脑时钟的单片机系统,通过这个时钟可以控制北京时间,闹铃功能,达到了我们的初级要求。通过一个简单的电脑时钟,我们熟悉和掌握了单片机的许多应用对我们以后的工作中有很大的帮助。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1