本次设计,采用AT89C51单片机为主控芯片,控制8位LED灯的亮、灭,以此作为设计的显示模块。显示模块在可调电机的驱动下快速旋转[4]。根据视觉暂留现象,旋转的LED在人眼中看起来像是连续的画面时,要求电机的转速至少需达到10r/s。当然为了使设计显示效果更加稳定,在实际的设计中要适当的增加电机的转速。同时,因为显示电路要做快速的旋转,所以显示电路的供电成为一个难题,而为了使系统更加稳定以及实用性考虑,本次设计采用无线供电。本次设计还采用了一个时钟芯片DS1302,来进行准确时间的读取。红外发射、接受模块是本次设计的一个重要环节,为了使显示稳定,我们要确定一个起始点,同时这也是一个刷新点。这时我们需要给系统确定一个开始的位置,这个位置就是红外发射和接受对齐的时候。当红外接收端得到一个信号时,系统即为开始,将从DS1302中读取到的时间用LED灯来显示出来。当转一圈时,红外接收端又接受到一个信号,继续从DS1302中读取时间,用LED灯来显示。以此循环,根据人眼的视觉暂留效果,当电机的转速达到10r/s以上时,我们看到的即是一幅连续的数字钟画面。
2.硬件系统设计
2.1显示模块
显示模块由AT89C51单片机的最小系统控制8位LED灯构成[5]。包含了时钟电路、复位电路、显示电路。原理图如下:
显示模块
2.1.1主控制器AT89C51芯片
AT89C51是一种低电压、高性能CMOS 8位微处理器。内部拥有128字节的RAM,4K的FLASH闪存,32个I/O口,一个全双工串行通信口,2个16位定时器/计数器。可降至0Hz的静态逻辑操作,支持两种软件可选的节电工作模式。空闲模式下暂停CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电模式下保存RAM中的内容源!自`751~文)论(文]网[www.751com.cn,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。下图为AT89C51单片机的引脚图:
AT89C51引脚
2.1.2时钟电路
时钟电路是用于产生时钟信号,是单片机必不可少的工作电路。没有时钟电路,单片机就没有时钟周期和指令周期,单片机也就无法工作。两种通用时钟方式:外部时钟和内部时钟。
本次设计采用的就是内部时钟。在AT89C51单片机的内部构造中有一个高增益的反向放大器,它能够组成所需的振荡器。该反向放大器的输入引脚与输出引脚分别为XTAL1和XTAL2,它们被连接在晶体振荡器和用来微调的电容上,从而组成了一个自激励振荡器。在电路中C1、C2的数值我选取的是22PF,但是如果所选取电容的数值太小,将直接影响振荡系统的运行速度与稳定性。通常情况下我们会采用温度稳定性较好的NPO电容来提高振荡的稳定性,选取的晶振频率为11.0592MHZ。