设计中采用单片机技术来实现数字钟的功能。采用AT89C51单片机,用由LED驱动器MC14543构成的7位LED显示电路。还有一些其他控制电路,如:晶振电路,复位电路,报时电路和键盘电路。
2.1 系统结构框图
系统由六个模块组成,既:单片机模块、晶振电路模块、复位电路模块、独立键盘模块、报警电路模块和显示电路模块。按照系统设计功能的要求。电路系统构成框图如图1所示。
2.2 系统设计思想
使用9V干电池经LM7805稳压,再经稳压管D1稳压后输出+5V直流电,供给AT89C51单片机模块、晶振电路模块、复位电路模块、独立键盘模块、显示电路模块和报时电路模块所需的工作电源,电源正常工作由LED指示灯指示。
AT89C51单片机的内部电路在时钟信号的控制下,严格地按时序执行指令进行工作。在执行指令时,CPU首先到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号完成指令所规定的操作。论文网
复位是单片机的初始化操作,只需给AT89C51的复位引脚RESET加上大于2个机器周期的高电平就可使AT89C51复位。当AT89C51进行复位时,PC初始化为0000H,使AT89C51单片机从程序存储器的0000H单元开始执行程序。除了进入系统的正常初始化之外,当程序运行出错(如程序“跑飞”)或操作错误使系统处于“死锁”状态时,也需要按复位键即RESET为高电平,使AT89C51摆脱“跑飞”或“死锁”状态而重新启动程序。
键盘的任务有三项:(1)首先判别是否有键按下。若有,进入下一步工作。(2)识别哪一个键被按下,并求出相应的键值。(3)根据键值,找到相应键值的处理程序入口。在本设计中,键盘具有向单片机输入数据、命令等功能,是人与单片机对话的主要手段。通过键盘,可以预置时间、星期。
常见的LED数码管为“8”字型的,共计8段。每一个段对应一个发光二极管。这种数码管显示器有共阳极和共阴极两种,本文采用共阴极接法。共阴极LED数码管的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。采用MC14543作为LED驱动器来实现LED的动态扫描驱动,通过七位共阴LED显示星期、时、分、秒。
通过加入一个使用晶体管驱动的蜂鸣器报时电路,当时间到达整点时,报警电路进行报时。工作原理为:P1.7接晶体管基极输入端,当P1.7输出高电平时,晶体管导通,压电式蜂鸣器两端获得+5V电压而鸣叫;当P1.7输出低电平时,晶体管截止,蜂鸣器停止发声。[2]
3.3 系统计时方式
电脑数字钟的秒信号是利用AT89C51单片机内部定时器TO产生的。由于振荡器的晶振频率为12MHz,使得TO的最大定时时间远远小于1秒,因此,在设计时采用了硬件计数与软件计数相结合的方式,即通过TO产生0.1S的时基信号,然后再利用软件进行计数,从而产生1秒钟的时间信号。
在设计中,定时器TO采用了中断方式。当定时时间到时,定时器向CPU申请一次中断,CPU响应中断后转入中断服务程序,在TO的中断服务程序中实现时、分、秒的累加,即每产生一次中断,0.1S时基单元的内容加1,当0.1S时基单元的内容等于10时,便产生1S信号,使秒计数单元的内容加1,并将0.1S时基单元的内容清0;当秒计数单元计满60后,向分计数单元进位,使分计数单元的内容加1,并将秒计数单元的内容清0;当分计数单元计满60后,向时计数单元进位,使时计数单元的内容加1,并将分计数单元的内容清0;时计数单元计满24后清O。[3] AT89C51单片机的数字时钟设计+程序+电路图(2):http://www.751com.cn/zidonghua/lunwen_76880.html