|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
摘要
! i6 H0 w7 T# [. Q. [' A5 r本设计由单片机89C51、DS12887A时钟芯片、DAC0809模数转换芯片为核心,辅以必要的电路,构成了一个具有多功能的数字时钟 。它由220V、50Hz交流电源供电,能够准确的显示时间、调整时间、闹钟定时,并能够对时钟所在的环境温度、工作时的电网电压、电网频率进行显示,还具有电压欠压、过压报警以及非接触止闹功能。
, D$ g( {) z( k. F6 b
9 h" _1 H# Z3 _( y7 o5 p- a一、方案论证与比较/ x9 ^8 U. s/ i" O- U; ~
1.数字时钟
/ v b. z+ l, N6 H数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。3 Y7 m- \ s' p
方案一:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。5 K* ~3 e) Y2 T
该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
/ g# ~+ X& [1 e- o4 U) [方案二:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。 ~, `/ [. V% N1 p/ z/ {3 ~
基于时钟芯片的上述优点,本设计采用方案二完成数字时钟的功能。- f/ Y, X7 t) b7 S2 w& c0 U+ e3 l
2.数码管显示
6 I, C/ A' I# V4 l$ c+ {, l方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。
) n2 Q# X0 W. A$ v: n方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的 每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。' V. C" k9 U8 U/ x% C6 v
本设计从节省I/O口和降低能耗出发,采用方案二。
l, t; ]! h( U# a5 @9 w! d' N5 e+ X1 V3 j$ J9 a
% G4 @4 ?1 ~+ k! X1 [
; X* r9 G; i, d6 y. e |
|