普通单片机电子时钟的设计
2011-03-15
(江西信息应用职业技术学院,江西 南昌 330043)
1.引言
如今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行校对,片灵活性好。
本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。
2.设计方案
2.1 数字时钟方案
数字时钟是本设计的最主要的部分。本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
2.2 数码管显示方案
动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。
3.系统设计
3.1 总体设计:系统说明及设计框图
如图1所示,利用单片机(AT89S51)制作简易电子时钟,由六个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。6个PNP管(9012)分别控制六个数码管的亮灭,一个按键用于时间调整。
图1 设计框图
3.2 模块设计
如图2所示,从外部引入4.5V的直流电,为单片机、位选电路提供电源。
图2 电源部分
位选电路如图3所示,复位电路二极管,电解电容,瓷片电容,10K的电阻以及按键S1构成,S1接芯片的相应引脚RST,当开关按下时引脚RST为高电平1,断开时引脚为低电平0。
三极管的集电极接数码管的公共端,当P2口对应的引脚输出高电平时三极管导通,对应的数码管显示数据。这样,在同一时刻,6位LED中只有选通的那1位显示出字符,而其他5位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他个位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,每位显示间隔足够短,可以造成多位同时亮的假象,达到同时显示的效果。
图4为数码管的连接电路,每位的段码线分别与1个8位的锁存器输出相连,由AT89S51。
4.软件设计
4.1 程序流程图
软件流程图如图5所示。
4.2 源程序
5.设计总结
本设计能够很准确的走时,并能够通过硬件对时钟进行时间调整。
功能介绍:
(1)显示XX:XX:XX时间
(2)时间可调:调整键(S2)按下时间小于1秒(t<1s),关闭显示(省电)。调整键(S2)按下(t>0.5s)分钟位闪亮,此时按下S2键(t<0.5s)该个位数值加1,当加到9时,再按下S2键则该个位显示0,分钟十位加1。继续按下调整键(S2)(t>0.5s)时钟位闪亮,此时按下S2键(t<0.5s)该个位数值加1,当加到9时再按下加S2键则该个位显示0,时钟十位加1。继续按下调整键(S2)(t>0.5s),返回到正常显示状态。
(3)调试要点:检查装置无误后插上AT89S51并烧写程序,观察电路是否能协同工作。最后烧写工作程序,根据显示现象调试程序直至成功。上电运行时,数码管开始显示00:00:00,时钟开始走时。
(4)在此设计过程中,改善了自己的创新思维,提高了自己的实际操作能力,了解了团结协作的可贵之处。
[1]张淑清.单片微型计算机接口技术及其应用[M].北京:国防工业出版社,2001.
[2]于海生.微型计算机控制技术[M].清华大学出版社,1999-6.
[3]孙涵芳.MCS-51系列单片机原理及应用[M].北京航空航天大学出版社,1996-4.
[4]杨欣等.电子设计从零开始[M].清华大学出版社,2005-10.
[5]谢嘉奎.电子线路[M].高等教育出版社,2003-2.