电子时钟设计单片机原理与应用.doc
《电子时钟设计单片机原理与应用.doc》由会员分享,可在线阅读,更多相关《电子时钟设计单片机原理与应用.doc(28页珍藏版)》请在沃文网上搜索。
1、 目 录第一章 课程设计要求的目的与意义1第二章 总体设计方案选择与说明22.1 设计方案2第三章 系统结构框图和工作原理33.1 系统结构框图33.2 系统工作原理3第四章 各单元的硬件设计及说明44.1 键盘接口电路44.2 显示电路44.3 74LS373作用6第五章 软件设计与说明75.1 软件设计75.2 主程序流程图9第六章 调试结果与调试说明10第七章 总结11第八章参考文献12附录13第1章 课程设计要求的目的与意义 通过单片机课程设计,加深对单片机的更深层次的理解,熟悉单片机的内部硬件资源,掌握单片机的编程及技巧,要学会对单片机的各部硬件资源的控制,分配,特别是对单片机中断,
2、定时器的编程方法。且需要学会利用所学单片机只是独立设置系统的能力。 作为一个电气工程及其自动化专业大三的学生,做这次课程设计的意义是很大的。这能让我们把我们在课堂上学的知识能够运用到实践当中。在这次课程设计我们能够学会对一些软件的使用,如proteus和Keil uvision等。这次我们将所学知识汇聚到了一起,并适当的加入了一些其它的知识,让我们自己动手动脑完成一次课程设计是很有意义的。第2章 总体设计方案选择与说明2.1 设计方案本电子时钟采用AT89C51单片机为核心器件,将可编程芯片8255A与6个LED数码管连接,用于显示时钟与跑秒。PA口输出显示段码,PB口输出位码,单片机的P1.
3、0-P1.4、P3.2、P3.3接K1-K6,用于实现表的清零/启动/复位/调整/暂停功能,其可由软件来完成。由于数码管要显示时钟,还要显示跑秒,利用T0定时器定时1s,T1定时器定时100ms,即0.1s,用R6和R7作为扫描的短延时数据地址。因此,分别用30H、31H、32H、33H、34H、35H计时钟,即时钟计数器;用40H、41H、42H、43H、44H、45H计跑表,即秒表计数器。当要显示时钟的时候,就把时钟地址中的数据通过8255A的PA口输出给显示器显示;当要显示跑秒的时候,就把跑秒地址中的数据通过8255A的PA口输出给显示器显示。第3章 系统结构框图和工作原理3.1 系统结
4、构框图单片机6个按键输入电路LED显示器段码驱动电路6位LED显示电路LED显示器位码驱动电路时钟电路复位电路 图3.1 系统结构框图3.2 系统工作原理 利用单片机定时器完成计时功能,定时器1计时中断程序每隔10ms中断一次并当作一个计数,设定定时1秒的中断计数初值阀值为100,每中断一次中断计数加1,当加到100时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码
5、管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。第4章 各单元的硬件设计及说明4.1 键盘接口电路 单片机的P1.0-P1.4、P3.2、P3.3分别接6个按键,用于实现电子时钟的清零/启动/复位/暂停/分钟调节/秒钟调节,独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立。I/O口通过按键与地相连,I/O口有上拉电阻,无键按下时,引脚端为高电平,有键按下时,引脚电平被拉低,I/O口内部有上拉电阻时,外部可不接上拉电阻。图4.1 键盘借口电路4.2 显示电路 本次需用到六个LED数码管用来分别显示时、分、秒。
6、将可编程芯片8255A的PB0、PB1、PB2、PB3、PB4、PB5接数码管的1、2、3、4、5、6,然后数码管的A-G分别接74LS245的B0-B7。8255A的PA口输出显示段码,由一个74LS245驱动输出给LED数码管,PB口输出段码直接输出给LED数码管显示。时间显示功能通过LED数码管动态扫描来实现,在显示器上进行动态扫描。图4.2 显示电路4.3 74LS373作用当三态允许控制端 OE 为低电平时,Q0Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电
7、平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。图4.3 74LS373引脚图第5章 软件设计与说明5.1 软件设计本设计的软件程序包括主程序、中断子程序、时钟显示子程序等。在整个系统中,在单片机的30H、31H和32H中存储当前时间的小时、分钟和秒。用LCD显示当前的时间,必须用到分字和合字,因此在33H、34H、35H、36H、37H和38H中存储当前时间的时十位、时个位、分十位、分个位、秒十位和秒个位,方便显示。本设计有由四个轻触按键组成的小键盘,这些按键可以任意改变当前的状态。按SECOND键触发秒钟位加1,按MINUTE键触发分钟位加1,按HOUR键触
8、发时钟位加1。按电平复位电路开关则触发LCD显示复位。控制子程序数据表为:DB 3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FH时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中
9、的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。实时时钟程序设计步骤:(1)选择工作方式,计算初值;(2)采用中断方式进行溢出次数累计;(3)从秒分时的计时是通过累加和数值比较实现的;(4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部;RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值;(5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来,流程如图4-1所示;(6)中断服务程序:进行计时操作;(7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共三次调用加1子程序,包括:
10、合字、加1并进行进制调整、分字。5.2 主程序流程图 图5.2 主程序流程图第6章 调试结果与调试说明过proteus仿真,开始后数码管可以正常显示时间,按【暂停】键可以让时钟停止走动,此时按下【调整分钟】和【调整时钟】可以分别调整分钟和时钟,每按一下便增加一。这时候再按下【复位清零】键,即把时钟显示清零了,然后按【显示秒表】键,可切换到秒表模式并开始计时,最小值为10ms。按【暂停】键可以暂停计时,按【复位清零】键可以清零秒表,以便开始下一轮的计时。调试过程中的截图如下:图6 调试过程截图第7章 总结通过本次的单片机课程设计电子时钟的设计,我学到了很多课本上无法学到的知识,也让我们对仿真软件
11、等的使用也更熟练了。在程序方面,我借鉴了实验课本上的程序进行了改进,让自己的程序更优秀。而且我觉得写程序注释写得越详细越好、不要怕麻烦。这样方便自己读懂程序,也是有利于让别人能读懂你写的程序。在反复确认自己的程序正确无误之后,接下来要做的就是模拟仿真了。我们在书上、网上都查阅了相关芯片的功能、管脚等信息。也自己研究了一下proteus仿真软件的使用,仔细研究芯片的主要功能及管脚接法,这也就为我们后面比较成功地仿真出结果打好了基础。当仿真出错时我们反复检查线路连接是否有误,仔细的观察相应管脚在运行时的电位的变化。我相信,不管是什么电路,经过如此仔细的检查后,任何错误不会遗漏。当然,这也是我们最终
12、走向成功的原因。而且在肖老师的辛勤的指导下,最后我们顺利地完成了这次的课程设计。看见到课本所学知识得以应用,一股成就感油然而生。这次课程设计加强了我的实际操作能力,提高了我解决实际问题的能力,也锻炼了和同学之间的合作能力,并对本专业的课程充满了浓厚的兴趣,相信有了兴趣,我在以后对本专业的学习会更加得心应手。第8章 参考文献1、 单片机原理与应用 王迎旭等编 机械工业出版社2、 51系列单片机设计实例 楼然苗等编 北京航空航天大学出版社3、 计算机硬件技术基础实验教程 黄勤等编 重庆大学出版社4、微型计算机接口技术及应用 刘乐善主编 华中科技大学出版社5、单片微型计算机原理及接口技术陈光东等编
13、华中科技大学出版社附录附录A 系统原理图 系统原理图附录B 程序清单 ORG 0000H LJMP START ORG 0003H ;INT0中断入口 LJMP S5 ORG 000BH ;T0中断入口 LJMP Y0 ORG 0013H ;INT1中断入口 LJMP S6 ORG 001BH ;T1中断入口 LJMP Y1 ORG 2000HSTART: MOV DPTR,#0FF7FH ;8255A初始化 MOV A,#89H ;PA口PB口输出方式 MOVX DPTR,A ;方式控制字送控制字入口S1: MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#
14、0 MOV 34H,#0 MOV 35H,#0S2: MOV R0,#14H MOV TMOD,#11H ;T0/T1工作方式 SETB EA ;开放总中断 SETB TR0 ;启动T0 SETB ET0 ;启动定时中断T0 SETB ET1 ;启动定时中断T1;*时钟主程序*LOOP: CLR TR1 ;关闭T1计时 MOV A,#0DFH MOV DPTR,#0FF7DH ;取位控信号(8255A的PB口地址) MOVX DPTR,A ;显示值转换显示码 MOV A,35H MOV DPTR,#DIRTAB ;七段数码管显示断码首地址 MOVC A,A+DPTR ;查表 MOV DPTR,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 时钟 设计 单片机 原理 应用
