ELEJ-CDC1是一款创意型数字时钟(即Creative Digital Clock)。之所以说它是创意制作,其实就是使用常规的数码管和常见元器件,实现通常时钟具备的功能的同时,还通过硬件改进和软件设置,巧妙实现通常时钟不具备的功能——人性化用户体验。
时钟太常见了,是生活中极其普通的物品之一,我们只需瞧一下钟,就能说出时间,而且我们也把这看成是很自然的事情。功能完善的时钟可以计时间(Clock)和日期(Calendar),即年、月、星期、日、时、分和秒的实时参数。时钟有很多种,按照不同的分类标准可以分为不同的类型,对于按照模拟数字量分为传统的模拟时钟和数字时钟,这里主要分析一下数字时钟。
数字时钟可以由模块化的时钟电路实现,可以由数字门电路 时钟发生电路实现,也可以由控制器(单片机) 定时器实现,还可以由控制器 RTC芯片实现等,其实这里也不用“等”了,因为似乎没有其他方法了。你可能会说从网上下载一个时钟软件不也是嘛,哈哈,告诉你吧,其实这样的软件用的时钟信号是你计算机主板上的RTC芯片时钟或者集成在某个大规模集成电路内部的RTC模块提供的。
RTC即为实时时钟,它是可提供时间(通常也提供日期)的时钟器件。RTC通常包含一个可长期供电的电池,即使在没有电源供电的情况下也可以保持时间的跟踪。
有很多著名厂商和很多著名的RTC芯片,玩单片机的应该没有不知道DS1302、DS12887和PCF8523等芯片的;RTC著名厂商有很多,比如Maxim(美信〈达拉斯半导体〉)、NXP(恩智浦)、Intersil(英特矽尔)等。笔者曾经使用过美信的DS3231用作智能电表的时钟计量,调过英特矽尔的ISL12022M,DS3231和ISL12022M,它们都集成了晶体振荡器,精度极高,且外围电路十分简单,基本无需外围元器件,其实DS3231和ISL12022M的功能也很相似、性能也差不多。恩智浦的RTC芯片有很多款,比如本文要介绍的ELEJ-CDC1,使用的是PCF8523。PCF8523性能很不错,使用的是I2C总线与控制器连接,且是高速I2C总线(Fm ),可以达到1MHz,在某些实时性要求极高的系统中非常适用。常见的PCF8523有SO8和TSSOP14封装,TSSOP14引脚间距较小,引脚排列很密,不容易焊接,大家可以选择SO8封装的,容易焊接。
制作实时时钟非常有趣,可以同时学会很多与界面显示相关的技术、控制器接口技术、数字处理技术和按键功能实现技术等,对于各种智能家用电器的显示界面设计有参考意义,例如冰箱、洗衣机、电磁炉等的显示界面。关于实时数字显示器件的选择,可以是LED、数码管、点阵屏、LCD等,实际学习可以逐个调试掌握、真正搞懂,然后独立开发基于控制器的项目就不成问题了。(不骗你,真的!)
现在,我们就一起开始制作吧!
ELEJ-CDC1硬件原理ELEJ-CDC1由6个模块电路构成:电源电路、控制器电路、RTC电路、数码管电路、蜂鸣器电路和按键电路,其中电源电路、数码管电路、蜂鸣器电路和按键电路与ELEJ-IDBC1智能数字电池充电器设计中的电路设计方法和电路原理一样,只是数码管在实际的排列时有所不同,而且数码管选用的是1位的8段式数码管。
下面主要介绍控制器电路、RTC电路和特殊处理的数码管电路。
为了大家的制作方便,这个制作仍然使用STC的51控制器,ELEJ-CDC1使用的控制器型号为STC15F204EA,用DIP-20封装,电路连接如图1.1所示。STC15F204EA内部高精度R/C时钟,常温下温漂5‰,时钟从5~35MHz可选,这样我们就无需再外置晶体振荡器了。实际焊接在“洞洞板”上如图1.2所示。
RTC芯片用NXP的PCF8523时钟芯片,PCF8523电路图如图1.3所示。
图1.3中电阻R11、R16和R17是上拉电阻,因为PCF8523的INT2、INT1/CLKOUT引脚都是开漏输出,所以必须上拉,此外,SDA和SCL也必须上拉。仔细看看图1.3,你会发现在 5V电源和PCF8523的VDD之间接了VD5、R15和C6,有什么用,不接可以吗?很多时钟芯片都不接的呀!说说原因吧:仔细阅读PCF8523数据手册的典型应用一节,你会发现它提供的典型应用电路连接有R15和C6,它俩的作用是限制VDD的压摆率,如果VDD下降得过快,就不能确保内部电路可靠切换到备用电池供电;二极管VD5是为了防止电源反接烧坏PCF8523TS,PCF8523TS不便宜啊,烧的是钱呢!
注 :电压转换速率(Slew Rate),简写为SR,简称压摆率,其定义是在1μs或者1ns的时间里电压升高的幅度,直观上讲就是方波电压由波谷升到波峰所需时间,单位通常有V/s、V/ms、V/μs和V/ns四种。电压转换速率用示波器就可以测量。
我使用的是TSSOP14封装的,由于芯片引脚很密,所以我腐蚀了一块转接板,实物如图1.4所示。注意:在制作中你可以使用SO8封装的,无转接板也可以焊接。
图1.1 控制器电路
图1.2 控制器实物图