1、#51单片机的数字时钟 中北大学信息商务学院课 程 设 计 说 明 书 学生姓名: 王春鸣 学 号:08050642X39 学 院: 信息商务学院 专 业: 电子信息项目 题 目:专业综合实践之单片机信息处理部分:单片机控制的数字钟的设计 指导教师: 王浩全 职称: 副教授 2018 年 12 月 12日中北大学信息商务学院课程设计任务书 2018-2018 学年第 一 学期学 院: 信息商务学院 专 业: 电子信息项目 学 生 姓 名:王春鸣学 号:08050642X39 课程设计题目: 专业综合实践之单片机信息处理部分:单片机控制的数字钟的设计 起 迄 日 期: 2018年12 月12日2
2、018年12月24 日 课程设计地点: 系专业实验室,201 指 导 教 师: 王浩全 系 主 任: 王浩全 下达任务书日期: 2018 年12月12日课 程 设 计 任 务 书一设计目的:巩固掌握单片机工作原理及应用提高编程能力二设计内容和要求、图纸、实物样品等:1)提供核心器件的工作原理与应用介绍;2)提供用Protel设计的电路原理图,印刷板电路图;3)提供用Multisim、MaxPlus、Proteus、Medwin、KeilC等软件对电路的仿真、编程与分析;4)提供符合规定要求的课程设计说明书;5)提供参考文献不少于15篇,且必须是相关的参考文献;课 程 设 计 任 务 书四主要参
3、考文献:1王守中,聂元铭,51单片机开发入门与典型实例.北京:人民邮电出版社,20092徐爱钧,单片机原理实用教程-基于proteus虚拟仿真.北京:电子工业出版社,20183周润景,袁伟亭,景晓松,Proteus在MCS-51&ARM7系统中的应用百例.北京: 电子工业出版社,20064雷思孝,冯育长,单片机系统设计及项目应用.西安:西安电子科技大学出版社,20055先锋工作室,单片机程序设计实例.北京:清华大学出版社,20036AT89C51 Datasheet,ATMEL,2004五设计成果形式及要求:说明书一份六工作计划及进度:12月12日 12月15日:查资料;12月16日 12月2
4、0日:在指导教师指导下设计方案;12月21日 12月23日:在指导教师辅导下完成实验;撰写课程设计说明书;12月24日:答辩系主任审查意见:签字:年月日1设计方案简介11.1 设计分析11.2 方案选择与论证11.2.1方案简介11.2.2 方案的论证41.3 设计条件及主要参数表41.4 系统设计框图52 硬件电路设计62.1 Proteus ISIS仿真原理图62.2 基于ARES 7 professional的PCB图和3D图示63实验源程序74 仿真结果与说明105 课程设计心得体会106参考文献111.设计方案简介1.1 设计分析利用89C51单片机结合数码管显示器设计一能够显示时、
5、分、秒的电子时钟,因为用LED数码管显示数据,在夜晚或黑暗的场合里也可以使用,具有一定的实用性;电子时钟的设计利用单片机的输入输出功能、定时/计数功能和中断功能,因此,是对前面讲的单片机基本功能知识的一次复习、总结和提高;因为设计单片机时钟时应尽量减少硬件,所以丰富的功能只能由软件来完成,因此使程序语句比较多,看起来较复杂。所以,在学习设计过程中会给我们带来两点启发。1)注意程序的模块化设计与分析。在程序设计时,一般将比较复杂的大程序分解若干个功能模块,然后再把各模块通过主程序有机地联系在一起。分析程序是设计程序的逆过程,首先要弄清程序是由几个模块所组成,每个模块主要功能是什么,模块之间是怎样
6、联系在一起的。先有一个粗线条、总轮廓,然后再逐步深入分析。每个子程序就是一个模块,子程序段的特征是:开始行有程序标号,以便主程序调用;末尾行有子程序返回指令RET或RETI。 。重置计数值 MOV C100us+1,#LOW(TICK INC SECOND 。秒值加1 MOV A,SECOND CJNE A,#60,EXIT 。秒值是否为60 MOV SECOND,#0 。秒值为60则清0 INC MINUTE 。分值加1 MOV A,MINUTE CJNE A,#60,EXIT 。分值是否为60 MOV MINUTE,#0 。分值为60则清0 INC HOUR 。小时值加1 MOV A,HO
7、UR CJNE A,#24,EXIT 。小时值是否为24 MOV HOUR,#0 。小时值为24则清0EXIT: POP ACC POP PSW RETIDELAY: MOV R7,#0FFH 。延时子程序DELAYLOOP: DJNZ R7,DELAYLOOP DJNZ R6,DELAYLOOP RETLEDMAP: DB 3FH,06H,5BH,4FH 。8段管显示码 DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71HDISPLAYLED: MOV C100us+6,#0 。右边两位不显示 MOV C100us+7,#0 MOV
8、 R0,#LEDBUF MOV R1,#6 。共6个8段管 MOV R2,#01111111B 。从左边开始显示LOOP: MOV A,#0 MOV P0,A 。关闭所有8段管 MOV A,R0 MOV P0,A MOV A,R2 MOV P3,A 。显示1位8段管 MOV R6,#01H CALL DELAY MOV A,R2 。显示下一位 RR A MOV R2,A INC R0 DJNZ R1,LOOP RETT0LED: MOV DPTR,#LEDMAP 。将字段码转换显示码 MOVC A,A+DPTR RETSTART: MOV TMOD,#02H 。模式2,定时器 MOV TH0,
9、#T100us 。设置定时器初始值 MOV TL0, #T100us MOV IE,#10000010B 。EA=1,IT0=1 MOV HOUR,#0 。显示初始值 MOV MINUTE,#0 MOV SECOND,#0 MOV C100us,#HIGH(TICK MOV C100us+1,#LOW(TICK SETB TR0 。启动定时器0MLOOP: MOV A,HOUR 。显示小时十位值 MOV B,#10H DIV AB CALL T0LED MOV LEDBUF,A 。将十位值送显示缓存 MOV A,B 。显示小时个位值 CALL T0LED ORL A,#80H 。显示小数点 M
10、OV LEDBUF+1,A 。送显示缓存 MOV A,MINUTE 。显示分钟十位值 MOV B,#10 DIV AB CALL T0LED MOV LEDBUF+2,A 。将十位值送显示缓存 MOV A,B 。显示分钟个位值 CALL T0LED ORL A,#80H 。显示小数点 MOV LEDBUF+3,A 。送显示缓存 MOV A,SECOND MOV B,#10 。显示秒十位值 DIV AB CALL T0LED MOV LEDBUF+4,A 。送显示缓存 MOV A,B CALL T0LED MOV LEDBUF+5,A CALL DISPLAYLED 。调用显示子程序 LJMP
11、MLOOP END4、仿真结果与说明本设计使用单片机内部计数器的定时功能,有关设置主要针对定时器/计数器工作方式寄存器TMOD。具体内容为:工作方式选择位,设置为方式2;计数/定时方式选择位,设置为定时器工作方式。定时器每100s中断一次,在中断服务程序中,对中断次数进行计数,100s计数10000次就是1s。然后在对秒计数得到分和小时值,并送入显示缓存。单片机P0口输出字段码,P3出输出位码。5、课程设计心得体会本设计能够准确显示时间显示格式为时时:分分:秒秒,24小时制),设计以硬件软件化为指导思想,充分发挥了单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。基于单片机
12、的数字时钟系统具有显示准确,直观等特点,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。电子时代已经到来,作为新时代的我们,更应该提高自身能力,适应新世代的发展,知识来自实践,多去生活中探寻所需要的。对于上述所提到的课程设计,应尽量考虑到人为因素,增强时钟的实用性和操作性,为使用者提供切实的方便。所以,在设计的时候,应该从多方面,多角度去考虑问题,而且应该进一步提高时钟的质量。此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,和与人合作共同提高,都受益非浅,对今后这类工作有着和大的帮助,日后也可以高质量的完成项目。这次课程设计终于顺利完成了,在设计中
13、遇到了很多专业知识问题,最后在王老师的辛勤指导下,终于游逆而解。同时,在王老师的身上我们学也到很多实用的知识,在此我们表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!6、参考文献1王守中,聂元铭,51单片机开发入门与典型实例.北京:人民邮电出版社,20092徐爱钧,单片机原理实用教程-基于proteus虚拟仿真.北京:电子工业出版社,20183周润景,袁伟亭,景晓松,Proteus在MCS-51&ARM7系统中的应用百例.北京: 电子工业出版社,20064雷思孝,冯育长,单片机系统设计及项目应用.西安:西安电子科技大学出版社,20055先锋工作室,单片机程序设计实例.北京:清华大学出版社,20036AT89C51 Datasheet,ATMEL,2004
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1