1、单片机数字时钟控制课程设计单片机原理及系统课程设计专 业:电气工程及其自动化 班 级: 姓 名: 学 号: 指导教师: 评语:平时(40)修改(30)报告(30)总成绩兰州交通大学自动化与电气工程学院2012 年 7月1日1 引言1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。现在高精度的计时工具大多数都使用了石英晶体振荡器,由
2、于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。2 设计方案及原理2.1系统方案介绍用AT89C51单片机设计一个简单的数字时钟,能进行时分秒的调整,能够较准确地显示时间。用单片机控制6位LED数码管显示时、分、秒;并且具有二十四小时循环记时功能,走时要准。能够用按键开关可实现时、分调整。2.2 系统原理一个AT89C51单片机做为控制电路,用P0、P2口来控制数码管的
3、段码和位码,利用动态扫描来实现数码管的显示。开通定时器T0中断来对数码管的查表和1秒的准确计时,然后利用P3口的低三位作为判断程序,判断是否分时秒是否溢出,若无溢出则显示当前值,若溢出则清零实现时分秒的加一。3 硬件设计主要用到这些元件:AT89C51单片机与单片机的最小系统,八位显示数字管,74LS245锁存器。用12MHZ的晶振和两个较小的22pF的电容组成振荡器电路,用一个按键,一个电解电容,一个10K电阻组成具有上电自动复位和手动复位两种操作的复位电路。用P0口作为输出需接上拉电阻,即需RESPACK-8排阻,74LS245锁存器保存要开通的位码。通过控制P0,P2,P3口来控制时间的
4、计时。P0口送入要显示的字段,P2口送入要显示的位码,P3口低三位即为查询是否需要调整时分秒数。开通计时器中断0来查表得到要显示的数字。图3.1硬件电路图4 软件设计整个程序先给数码管送初值120000,然后进行初始化工作。程序由一个主函数,一个定时器中断程序,一个延时子程序,三个判断子程序,一个显示子程序构成。程序通过按键扫描程序来确定是否调用中断程序来对时间进行调整。用一子程序完成时分秒的调整,通过循环扫描三个按键的电平变化来判断对应按键是否按下,并带有去抖动功能,当某个按键按下时,则对应的进行增一操作。若分秒增一到达60次或者时增一到达24次,将对其清零,各个操作均实时的通过数码管显示。
5、图4.1 显示程序流程图图4.2 主程序流程图5 设计总结课程设计还是很有挑战性的,从开始选择课题到最后的成型阶段遇到了很多的困难。但在其中收获的比遇到的困难要多的多,因此还是非常乐意去将课程做好。我所选的课程设计题目是数字时钟。刚拿到这个课题时,不只如何动手去做。就去上网查询资料和源程序,认真研究了其他学长学姐的程序之后,才有了基本的思路,先将整个系统根据不同的功能化分成模块,再分别进行设计,逐个攻破,最后将其整合即可。知道最重要的是1秒定时部分和如何把时分秒在数码管中显示出来,同时设计出来的产品还必须具备一些基本的人机交互功能。在做的过程中用到proteus软件时,由于对软件的不熟悉,第一
6、次做的时候就将八管电子显示屏选错极性,反复测试都没有出理想的效果,在逐一排除错误后,终于找到错误并改正,才有了合适的结果。总的来说这次课程设计我收获了很多东西,使我的动手能力有了极大的提高,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。参考文献1 李建忠. 单片机原理及应用M.西安:西安电子科技大学出版社,20
7、08.2 张迎新. 单片机初级教程单片机基础M.北京:北京航空航天大学出版社,2006.3 李华.王思明 单片机原理及应用M.兰州:兰州大学出版社,2009.附录A 源程序ORG 00H LJMP START ORG 0BH ;定时器0中断入口地址 LJMP INT_T0START: MOV 30H,#00H;程序初始化 MOV 31H,#00H MOV 32H,#12 MOV 48H,#00H MOV 49H,#00H MOV 4AH,#00H MOV TMOD,#01H MOV TH0,#248 MOV TL0,#248 SETB TR0;启动定时器0 SETB ET0;允许T0中断 SE
8、TB EA;开中断ADDMIAO:JB P3.2,ADDFEN LCALL DELY10MS;去抖动 JB P3.2,ADDFEN INC 30H MOV A,30H CJNE A,#60,NS60;满60清零 MOV 30H,#00HNS60:LCALL DISP JNB P3.2,$ADDFEN:JB P3.1,ADDSHI LCALL DELY10MS JB P3.1,ADDSHI INC 31H MOV A,31H CJNE A,#60,NM60 MOV 31H,#00HNM60:LCALL DISP JNB P3.1,$ADDSHI:JB P3.0,RETURN LCALL DELY
9、10MS JB P3.0,RETURN INC 32H MOV A,32H CJNE A,#24,NH24 MOV 32H,#00HNH24:LCALL DISP JNB P3.0,$RETURN: LJMP ADDMIAODELY10MS: MOV R6,#10D1:MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETDISP: MOV A,#40H ADD A,#8 DEC A MOV R1,A MOV A,32H MOV B,#10 DIV AB MOV R1,A DEC R1 MOV A,B MOV R1,A DEC R1 MOV A,#10 MOV R1,A DE
10、C R1 MOV A,31H MOV B,#10 DIV AB MOV R1,A DEC R1 MOV A,B MOV R1,A DEC R1 MOV A,#10 MOV R1,A DEC R1 MOV A,30H MOV B,#10 DIV AB MOV R1,A DEC R1 MOV A,B MOV R1,A DEC R1 RETINT_T0: MOV TH0,#248 MOV TL0,#248 MOV A,#40H ADD A,48H MOV R0,A MOV A,R0 MOV DPTR,#TABLE;送表头 MOVC A,A+DPTR MOV P2,#0FFH MOV P0,A MOV
11、 A,48H MOV DPTR,#TAB;扫描控制位 MOVC A,A+DPTR MOV P2,A INC 48H MOV A,48H CJNE A,#08H,KNA;8个数码管送数是否结束 MOV 48H,#00HKNA:INC 49H MOV A,49H CJNE A,#100,DONE MOV 49H,#00H INC 4AH MOV A,4AH CJNE A,#05H,DONE MOV 4AH,#00H INC 30H MOV A,30H CJNE A,#60,NEXT MOV 30H,#00H INC 31H MOV A,31H CJNE A,#60,NEXT MOV 31H,#00H INC 32H MOV A,32H CJNE A,#24,NEXT MOV 32H,#00H NEXT:LCALL DISPDONE:RETITABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00HTAB:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH END附录B 仿真结果及说明(1)系统初始化时,仿真如下: 附图 1初始状态图(2)时键按下,增加一小时,仿真如下:附图 2增加一小时仿真图(3)分键按下,增加一分钟,仿真如下:附图 3增加一分钟仿真图
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1