浅谈单片机数字时钟的设计
2014-08-15济南职业学院杨清林
济南职业学院 杨清林
计时工具自问世至今已经有很长一段历史了,一直以来它都在人们日常生活生产中发挥着十分重要的作用。科学技术的不断发展为各种新型时钟的问世提供了先决条件,数字时钟就是其中之一。数字时钟能够精确地表示时、分、秒,至今已经普遍应用到各类行业以及公共场所,时钟的数字化更为人们的生活带来了极大的便利,所以对时钟进行研究有着十分重要的现实意义。
1 系统硬件设计
通常情况下,数字时钟的硬件部分主要包括数码管输出显示电路、按键输入电路以及最小系统三大部分。
1.1 单片机和外围总体电路
本次设计将Atmel公司生产制造的AT89 C51单片机作为主要的研究部分之一,该部分往往是整个控制系统的最关键部件,它不仅能够用于数值计算,同时还能够控制整个系统,并能够对系统每一时刻的输出量和输入量进行反馈,最终实现自动控制的目的。
1.2 数码管显示电路
数码管显示电路通常会采用动态显示方式。整个电路采用了三位共阴的数码管,也就是将发光二极管的阴极部分都连接起来,作为它们的公共端,而将发光二极管的阳极单独引出,此时将阳极与高电平相连后,相应的数码段就会发亮。所以要想显示出不同的数字,只需通过分别控制各数码段的发光二极管的亮灭状态即可。将两个三位的共阴数码管的a-dp的所有的同名端连接到一起,接到输出口上,那么每一时刻数码管将仅会显示相同的字符[1]。
2 系统软件设计
2.1 系统主程序设计
程序的编写往往都会按照相应的流程图,并且流程图也会体现出设计要求,因此源程序的设计与流程图两者之间有着紧密的联系。软件设计的总体框架为主程序,所以要想使得整个程序不存在设计问题,就必须要保证主程序流程图的准确性。
2.2 时间控制子程序
时间控制子程序中,要借助定时器TO中断,第一步要先给TO装入初值3CBOH,通常情况下产生一次中断需要50 m/s[2]。当TO产生第一次中断时,PC指针将转到TO中断入口执行中断程序。要想尽可能地减小程序在两次中断间执行所产生的时间误差,就必须要将重装的初值限定为3CC2H。随后便进行循环计数环节。
2.3 整点报时子程序设计
整点报时子程序在设计过程中的第一步就是要检查分与秒的指向。当两者都是0时,则向输出口P3.4输出低电平,以此来使蜂鸣器出声,并坚持1秒钟[3]。当两者都没有到整点时,就要返回到主程序继续完成下一个操作。
2.4 秒表显示子程序设计
秒表显示子程序与时钟显示子程序在设计上有很大共同之处,两者的最大区别在于前者比后者增加了延时程序,这样就能够保证L E D数码管显示秒表计时的数字,并保持2秒钟。当去掉延时程序时,秒表计时的结果将不再为固定不动的显示,而是被覆盖。因此,延时程序对于秒表显示子程序来说有着十分重要的作用。
3 系统调试
3.1 电路连接部分测试
电路连接部分测试的第一步就是要检查所有的器件自身可否正常工作,这为之后的调试工作提供了保证。第二步就是要画出正确的元器件引脚图,并按照引脚图进行正确的连接。最后就是要借助万用表测试所有的导线是否可以正常导通,这样可以为单片机之后的工作做好准备。
3.2 数字时钟实物的运行与调试
数字时钟实物的调试主要分为两大部分,第一部分为软件部分的调试,第二部分为实物调试。前者指的是在单片机开发综合实验装置上做硬件仿真,以此来检验程序可否按照预想的运行。当试运行结束后,就要按照时钟的实际运行状态作出针对性的修改。当进行实物调试时,需要在确定线路完好后接入5V电源进行调试。若接入5V电源后,出现数码管显示不清晰,并且出现亮度偏低的情况时,就表明单片机管脚的输出电流过小,无法驱动数码管。所以,这就需要在P1的各个端口并联一个1 K的电阻来保证通过数码管的电流不至于偏低。
4 总结
本文将单片机A T89 C51作为本次研究的核心控制器,其中单片机的作用主要为保障硬件电路的稳定,并最大限度地降低电磁以及其他因素的干扰,以及尽可能地发挥出软件编程的巨大优势。
科技的不断发展为单片机数字时钟的发展提供了一大助力,在未来的时间里单片机数字时钟必将得到进一步的发展。
[1]张毅刚,彭喜元,姜守达,乔立岩.新编M CS-51单片机应用设计[M].哈尔滨∶哈尔滨上业大学出版社,2004.
[2]需思孝,冯育氏.单片机系统设计及上程应用[M].陕西∶西安电子科技大学出版社,2005.
[3]戴胜华,蒋大明,杨世武等单片机原理与应用[M].北京∶清华大学出版社,北京交通大学出版社,2006.