1、基于proteus和单片机的时钟设计报告 一、设计题目:基于单片机的时钟设计二、设计目的:1、通过课程设计,进一步巩固、深化和扩充在单片机原理及相关课程方面的基本知识、基本理论和基本技能。 2、 掌握单片机开发软件Keil的使用和调试。 3、 学习Keil与Protel的联合使用,以及主要技术指标的测试方法。三、设计要求及主要技术指标:设计要求:用试验箱设计一个时钟,可以用来显示当前时间。用六位数码管显示增强功能:可以校正时间。主要技术指标 :1、准确计时,以数字形式显示时、分、秒的时间。2、小时以24小时计时形式,分秒计时为60进位。 3、校正时间功能,即能随意设定走时时间。4、设计系统晶振
2、电路、时钟电路、复位电路。一、方案论证与比较1.1 方案提出方案1:采用实时时钟芯片。现在市场上有很多实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。方案2:使用单片机内部的可编程定时器。利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。方案3::通过硬件译码实现时间显示系统采用通用的89C51芯片,显示器为6个共阳极LED数码管,用1个BCD 7段译码器74LS47驱动数码管,用3-8译码器74LS13
3、8的输出作为动态扫描时数码管的位选信号,因为采用了上述两个芯片,所以在对数码管进行扫描显示时,只需要单片机的7条I/O线就能完成显示功能了。1.2设计方案的论证和选择方案1:要用到实时时钟芯片,计时数据的更新每秒自动进行一次,不需要程序干预,因此不适用于软件设计过程中,而且成本相对也比较高。方案2:利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时该方案节省硬件成本,但程序设计较为复杂。方案3:采用通用的89C51芯片,电路简单,实现的功能齐全,按键设置简单,程序的设计相对也比较容易,总的来说,此方案可行性比较高。 综上利弊,我们采用方案3。二、系统的功能及设计框图2.1
4、 系统的全部功能、要求及技术指标。时间以24小时为一个周期,时钟的格式为:XX XX XX,由左向右分别为:时、分、秒。完成显示由秒加1,一直加1至529,再恢复为00;分加1,一直加1至59,再恢复00;时加1,一直加1至23,再恢复00。按键功能:1.启动时,数字时钟从23:59:00 开始自动计时; 2.接P1.0按键控制对“时”的调整,每按一次时计数值加1;3. 接P1.1按键控制对“分”的调整,每按一次分计数值加1;4. 接P1.2按键控制对“秒”的调整,每按一次秒计数值加1;5. 接P1.3按键控制对“时”的调整,每按一次时计数值减1;6. 接P1.4按键控制对“分”的调整,每按一
5、次分计数值减1;7. 接P1.5按键控制对“秒”的调整,每按一次秒计数值减1。 8.接RST的按键按下时,时钟恢复初值23:59:002.2确定设计框图(系统包含的单元电路及结构)和总体设计方案 时钟设计原理图 该系统采用通用的89C51芯片,用1个BCD 7段译码器74LS47驱动数码管,用3-8译码器74LS138的输出作为动态扫描时数码管的位选信号,在 6个共阳极LED数码管上显示。2.3软件流程图主程序:首先进行初始化,设置数字时钟的计时初值为23:59:00,启动T0进行50ms定时,且允许T0中断。然后检测S1-S6是否按下,当按键S1-S6按下时,转入时、分、秒计数值的调整程序,
6、系统主程序流程图如图所示。主程序流程图定时器T0中断子程序:中断服务子程序的作用是进行时、分、秒的计时与显示。定时器T0用于定时,定时周期设为50ms,中断累计20次(即1s)。定时器T0中断服务程序流程图如图所示。定时器流程图 时、分、秒计数值调整子程序TIME:时间计数单元分别在40H(s),41H(min),42H(h)内存单元中, 在计数单元中采用组合BCD码计数。TIME子程序的作用是当满1秒时,对秒计数单元进行加1操作,满60向分进位;对分计数单元进行加1操作,满60向时进位;对时计数单元进行加1操作,满24清零。显示子程序VIEW:VIEW子程序的作用是分别将时间计数单元40 H
7、(s),41H(min),42H(h)中的十进制时间值(组合BCD码)转化为个位和十位(分离BCD码)存放在显示缓冲区中,显示缓冲区地址为30H-35H。其中30H-31H存放秒数据,32H-33H存放分数据,34H-35H存放时数据。由于每一个地址单元内均为分离BCD码,用BCD一个7段译码器74LS47直接进行译码,因此不需要软件方式对BCD码数据进行译码。扫描子程序SCAN:SCAN子程序的作用是把显示缓冲区中的数据依次送往显示器显示。把扫描值作为高4位,显示数据值作为低4 位,输出P0口,以完成显示,因为采用了3-8译码器74LS47作为扫描输出,所以用36H单元存放扫描指针,即36H
8、中存放的是数码管的序号,显示时,只需取出30H-35H某一地址中的数据,并从P0口的低4位输出,同时P0口的高4位作为扫描值输出,就能保证数码管的正常工作。三、 系统调试分析3.1软件仿真原理图3.2模拟仿真过程本次设计主要采用软件模拟仿真的方法。在Proteus中画图、连线形成可用电路。在KEIL中编写汇编程序,并产生HEX文件,接着将其导入Proteus中,模拟运行。3.3各项指标测试1.启动时,数字时钟从23:59:00 开始自动计时; 2.接P1.0按键控制对“时”的调整,每按一次时计数值加1;3. 接P1.1按键控制对“分”的调整,每按一次分计数值加1;4. 接P1.2按键控制对“秒
9、”的调整,每按一次秒计数值加1;5. 接P1.3按键控制对“时”的调整,每按一次时计数值减1;6. 接P1.4按键控制对“分”的调整,每按一次分计数值减1;7. 接P1.5按键控制对“秒”的调整,每按一次秒计数值减1; 8.接RST的按键按下时,时钟恢复初值23:59:00。四、结束语(结论及体会)两周的单片机课程设计很快就结束了,在这期间,开始比较困难,但是经过慢慢摸索,合理地进行设计安排,我们终于顺利地完成了本次单片机课程设计,同时也学到了很多东西。在本次课程设计中,我们通过对proteus和keil软件的结合利用,进一步学习和掌握了单片机原理的有关知识,特别是程序的编程方面,加深了对单片
10、机原理及应用技术的认识,进一步巩固了对单片机知识的理解,掌握简单单片机应用系统的设计、制作的方法。在设计时根据课题要求,复习相关的知识,查询相关的资料。根据实验条件,找到适合的方案,找到需要的元器件及工具,进行实验。这次的单片机课程设计重点是通过实践操作和理论相结合,提高科学的思维能力,更在短短两周时间了解了更多的有关单片机的知识,使知识更加丰富。 在设计的过程中,一次性成功的可能性小之又小,在设计完思路之后,要用proteus软件找出元器件进行连接实验,因为平时接触proteus较少,在找一些实验所需的元器件时也花了不少功夫 。而在成功连接并运行时却又发现实验结果与连线有差错,于是我们又对源
11、程序和电路图的连接进行缜密的阅读与检查,也查阅了不少资料并请教了指导老师,终于能够实现我们要的功能。因此,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,要进过反复修改、不断改进;还有注释程序,一个程序不仅仅是实现功能还,应该让人一看就能明白设计思路,这样也为资料的保存和交流提供了方便。五、参考文献(1)李朝青编著.单片机原理及接口技术.北京:航空航天大学出版社,1999.3;(2)谢维成等.单片机原理与运用及C51程序设计.北京:清华大学出版社;(3)李广第主编.单片机基础.北京:北京航天工业出
12、版社.2002;(4)丁元杰主编.单片微型计算机.北京:机械工业出版社.2003。(5)附录1:设计中用到的元器件、芯片的外引脚图及引脚功能说明。元器件: 1、AT89C51单片机 2、BCD 7段译码器74LS47 3、3-8线译码器74LS1384、LED数码管(7SEG-MPX6-CA)5、CAP电容6、CRYSTAL晶振7、BUTTON按键使用芯片:(1)AT89C51单片机 89C51单片机管脚图P0端口(P0.0-P0.7):P0口是一个漏极开路的8位准双向I/O端口。P1端口(P1.0-P1.7):P1是一个带有内部上拉电阻的8位准双向I/O端口。RST:复位输入。当振荡器复位器
13、件时,要保持RST脚两个机器周期的高电平时间。它可用作对外部输出的脉冲或用于定时目的。PSEN:外部程序存储器的选通信号。EA:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2、BCD 7段译码器74LS47 74LS47管脚图(1)LT:试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT=0时,无论输入A3 ,A2 ,A1 ,A0为何种状态,译码器输出均为低电平,若驱动的数码管正常,是显示8。 (2)BI:灭灯输入,是为控制多位数码显示的灭
14、灯所设置的。BI=0时。不论LT和输入A3 ,A2 ,A1,A0为何种状态,译码器输出均为高电平,使共阳极7段数码管熄灭。 (3)RBI:灭零输入,它是为使不希望显示的0熄灭而设定的。当对每一位A3= A2 =A1 =A0=0时,本应显示0,但是在RBI=0作用下,使译码器输出全1。其结果和加入灭灯信号的结果一样,将0熄灭。 (4)RBO:灭零输出,它和灭灯输入BI共用一端,两者配合使用,可以实现多位数码显示的灭零控制。3、 3-8线译码器74LS138当一个选通端(E1)为高电平,另两个选通端(/E2)和/(E3))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译
15、出。74LS138管脚图4、LED数码管 该系统使用的是共阳极的LED数码管,ABCDEFGK控制段选,123456控制位选,DP为小数点。附录2:(1)时钟电路原理图: (2)晶振电路原理图:(3)复位电路原理图:(4)按键电路原理图:附录3:源程序 ORG 0000H LJMP START ORG 000BH LJMP TT0 ORG 0050H START: MOV SP,#70H MOV 36H,#00H MOV 40H,#00H MOV 41H,#59H MOV 42H,#23H MOV 30H,#00H MOV 31H,#00H MOV 32H,#09H MOV 33H,#05H
16、MOV 34H,#03H MOV 35H,#02H MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH MOV IE,#82H MOV 50H,#20 SETB TR0 LOOP: JB P1.0,N2 CALL DE MOV A,42H ADD A,#01H DA A MOV 42H,A CJNE A,#24H,N1 MOV 42H,#00HN1: JNB P1.0,$ CALL DEN2: JB P1.1,N4 CALL DE MOV A,41H ADD A,#01H DA A MOV 41H,A CJNE A,#60H,N3 MOV 41H,#00HN3:
17、JNB P1.1,$ CALL DEN4: JB P1.2,N6 CALL DE MOV A,40H ADD A,#01H DA A MOV 40H,A CJNE A,#60H,N5 MOV 40H,#00HN5: JNB P1.2,$ CALL DEN6: JB P1.3,N8 CALL DE MOV R7,34H CJNE R7,#00H,N60 MOV R6,35H CJNE R6,#00H,N61 MOV 42H,#23H JMP N7N60: MOV A,34H DEC A MOV 34H,A MOV A,35H SWAP A ADD A,34H MOV 42H,A JMP N7N6
18、1: MOV 34H,#09H MOV A,35H DEC A SWAP A ADD A,34H MOV 42H,AN7: JNB P1.3,$ CALL DEN8: JB P1.4,N10 CALL DE MOV R7,32H CJNE R7,#00H,N80 MOV R6,33H CJNE R6,#00H,N81 MOV 41H,#59H JMP N9N80: MOV A,32H DEC A MOV 32H,A MOV A,33H SWAP A ADD A,32H MOV 41H,A JMP N9N81: MOV 32H,#09H MOV A,33H DEC A SWAP A ADD A,
19、32H MOV 41H,AN9: JNB P1.4,$ CALL DEN10: JB P1.5,N11 CALL DE MOV R7,30H CJNE R7,#00H,N100 MOV R6,31H CJNE R6,#00H,N101 MOV 40H,#59H JMP N11N100: MOV A,30H DEC A MOV 30H,A MOV A,31H SWAP A ADD A,30H MOV 40H,A JMP N11N101: MOV 30H,#09H MOV A,31H DEC A MOV 31H,A SWAP A ADD A,30H MOV 40H,AN11: JNB P1.5,$
20、 CALL DE TT0: MOV TH0,#3CH MOV TL0,#0B0H PUSH ACC PUSH PSW DJNZ 50H,TINT0 CALL TIME CALL VIEWTINT0: CALL SCAN POP PSW POP ACC LJMP LOOPSCAN: MOV R0,#36HSCAN0: MOV A,R0 ADD A,#30H MOV R1,A MOV A,R0 SWAP A ORL A,R1 MOV P0,A CALL DELAY INC R0 CJNE R0,#06H,SCAN0 MOV R0,#00H RETTIME: MOV A,40H ADD A,#01H
21、 DA A MOV 40H,A CJNE A,#60H,TTI MOV 40H,#00H MOV A,41H ADD A,#01H DA A MOV 41H,A MOV A,41H CJNE A,#60H,TTI MOV 41H,#00H MOV A,42H ADD A,#01H DA A MOV 42H,A CJNE A,#24H,TTI MOV 42H,#00HTTI: RETVIEW: MOV A,40H ANL A,#0FH MOV 30H,A MOV A,40H SWAP A ANL A,#0FH MOV 31H,A MOV A,41H ANL A,#0FH MOV 32H,A MOV A,41H SWAP A ANL A,#0FH MOV 33H,A MOV A,42H ANL A,#0FH MOV 34H,A MOV A,42H SWAP A ANL A,#0FH MOV 35H,A RETDELAY: MOV R7,#65 DJNZ R7,$ RETDE: MOV R4,#10 DE1: MOV R5,#100 DJNZ R5,$ DJNZ R4,DE1 RET END
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1