具体制作过程如下:
一、系统设计
1.主要功能该电子倒计时牌能显示时钟和倒计时天数。时钟为24小时制,显示六位(时/分,秒),倒计时天数两位,最大99天。倒计时结束后,若需要进入顺计时,可显示正在进行的活动天数(若不需要顺计时,可以修改程序取消该功能)。
2.主要器件AT89S52、12MHz晶振、两片四位七段数码LED、两片一位七段数码LED、两片七段译码驱动块、7805、7812三端稳压器、20W变压器,若干三极管、电阻、红色LED。
3.采用时钟内部中断,定时,计数器设置成工作方式1。
二、硬件设计
电路见图,P10口控制天数显示,高四位控制天数的十位,低四位控制天数的个数,最大天数显示值为99。P0口控制时钟显示的段码,P2口控制时钟显示的位码,显示格式为××-××-××,即时-分-秒,用8位LED显示。按键K1为加、减转换键,K2为时调整键,K3为分调整键,K4为天数调整键。
三、软件设计
在明确时钟频率为12MHz,需要50ms定时后,可以计算出内部时钟TD定时初值,C=65536-(50/10-3)=15536(D)=3cb0H,赋初值为TH0=0x3e,TL0=0xb0。该程序采用C语言编写。
上述源程序在Keilμvision2中调试通过,并生成。hex文件。如果有条件,还可以在仿真器上测试,本人在DVCC-598JH上进行仿真并通过。最后将。hex文件通过编程器(本人用的是RF-2148编程器)写入AT89S52的FLASHROM中。
四、实物制作
按照电路图连接好即可实现制作好的电子倒计时牌,74LS47可以用CD4511替换,但CD4511的③脚要改为接地。另外,由于CD4511输出的七段数字中6和9显示均感觉缺一笔画,可加简单电路完善。如果只有共阴七段数码LED,那么AT89S52的P0口需要接680Ω上拉电阻。
完成上述功能后,将高亮LED排列成大型七段数码形式,通过七段译码驱动块输出控制数字显示,LM7812供电。笔者制作的一位数码显示尺寸为22cmx17cm,每段(笔画)串共并联LED39个,可以在较远处看见。