多功能数字时钟
目 录
一. 方案论证与比较
二. 系统设计
三. 软件设计
四. 系统测试与分析
五. 设计总结
六. 参考资料
摘要
本设计由单片机 89C51、DS12887A 时钟芯片、DAC0809 模数转换芯片
为核心,辅以必要的电路,构成了一个具有多功能的数字时钟 。它由 220V、50Hz
交流电源供电,能够准确的显示时间、调整时间、闹钟定时,并能够对时钟所
在的环境温度、工作时的电网电压、电网频率进行显示,还具有电压欠压、过
压报警以及非接触止闹功能。
一、方案论证与比较
1.数字时钟
数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。
方案一:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设
三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现 1 秒定时
中断,每产生一次中断,存储器内相应的秒值加 1;若秒值达到 60,则将其清零,
并将相应的分字节值加 1;若分值达到 60,则清零分字节,并将时字节值加 1;
若时值达到 24,则将十字节清零。
该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新
赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序
不执行时,时钟将不工作。
方案二:本方案采用 Dallas 公司的专用时钟芯片 DS12887A。该芯片内部采
用石英晶体振荡器,其芯片精度不大于 10ms/年,且具有完备的时钟闹钟功能,
因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电
网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电
网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统
不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的
时间。
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。
2.数码管显示
方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的
发光二极管恒定的导通或截止。该方式每一位都需要一个 8 位输出口控制。静态
显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,
静态显示所需的 I/O 口太多,造成了资源的浪费。
方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显
示器的 每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看
到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导
通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定
度的显示。动态显示节省了 I/O 口,降低了能耗。
本设计从节省 I/O 口和降低能耗出发,采用方案二。
二、系统设计
1.总体设计
(1)系统框图
系统框图如图 1 所示。
图 1 系统框图
(2)模块说明
a. 数码管显示模块:用数码管显示时间、环境温度、电网频率及电压温
度转换模块:测量环境温度,并经过模数转换后送单片机。
b. 时钟芯片:用 DS12887A 时钟芯片向单片机提供时间与闹铃信息。
c. 报警系统:用蜂鸣器。当闹铃开且所设置的闹铃时刻到时,蜂鸣器报
警,当电网电压欠压或过压时,蜂鸣器也报警。当“闹铃关”键按下
或有遥控器止闹时,停止报警。
d. 键盘和状态显示模块:用可编程并行 I/O 芯片 8255 接状态显示所用的
发光二极管及选择各功能的键盘。
e. 单片机控制模块:用 89C51 实现。是系统的主控制器,控制其它模块
协调工作。
f. 电源模块:向各用电系统提供电源。
g. 电压转换模块:测量电网电压,并经过模数转换后送单片机。
2.模块设计与参数计算
(1) 码管显示:本设计采用串行输出显示,利用一片 8 位移位寄存器
74LS164 给所有数码管提供显示信号,且利用动态显示,节约了单片机
I/O 口,降低了能耗。数码管采用 LG5643FH。电路如图 2 所示。
(2) 电源模块:由于单片机及其处围的用电模块都用 5V 或 12V 直流电源,
而电网电压为 220V 交流电,因此需要设计电源。利用 8W 的变压器将
220V 的电网电压变压后加在桥式整流电路的两端进行全波整流。利用
三 端 稳 压 电 源 分 别 产 生 12V 和 5V 的 电 压 。 三 端 稳 压 电 源 选 择
CW7812DS 和 CW7805DS。原因是它们有过压保护和过流保护而使其
免受高压或大电流的袭击;而且与其他三端稳压电源相比,它们更具经
济性的特点。
根据该电源所带的负载知流过该电源的电压不超过 I=1A。因为变
压器输出大约为 U
o
=12V,所以电阻
��� 12
I
U
R
o
。因为电网电压一般
数码管显示模块
单
片
机
温度转换模块
频率采集模块
时钟芯片
报警系统
键盘 状态显示
电源
电压转换模块
为 220V ,50Hz,所以全波整流后的电压周期大约为 10 毫秒。又因为
时间常数
10
2
��� RE
�
ms,所以取
fE
�
1000
2
�
。
图 2 数码管显示电路
图 3 电源电路
0.1pf 的小电容用于滤掉电路路频率较高的部分,使电压输出更加平
稳。
(3)频率采集模块:如图4所示,对电源电路中全波整流后的信号进行
判断:若电压大于+5V,则二极管正极电压被嵌位于为 5.7V,若小
于 5V,则为原值不变。因此形成向下的尖脉冲,经施密特触发器
CD4093 变为正脉冲。如图5所示。施密特触发器的输出接单片机的
P1.5 口。在单片机内部数 1S 内脉冲的个数,除以 2 后即为电网电压