数字时钟教程,数字时钟显示屏

首页 > 教育培训 > 作者:YD1662023-06-05 10:37:29

图1.7 数码管动态扫描原理

4个数码管轮流显示一遍为一个周期T,即4个显示ton之和,且由于每个显示时间一样,也即T=4×ton,在软件实现手段上,我用的是定时器中断,这样便于main函数处理多个任务。使用的数码管为共阳极的,所以ton时间数码管的位引脚为低电平(以数码管DS1为例:当LED_COM1=0,三极管导通,DS1选通,此时如果有段码数据加到A-H引脚,则DS1显示),即数码管显示,数码管会按照300μs的时间轮流循环显示,即:数码管1→数码管2→数码管3→数码管4→数码管1……无限循环往复,由于“数码管1→数码管2→数码管3→数码管4”仅需要1200μs,即扫描频率833Hz,我们眼睛是分辨不出它们是在逐个显示的,我们可以看到的是每个数码管都完整显示。如果,你想仔细看看所谓的“扫描”是啥,你可以把T选得大一些,对应的ton=T/4也大些,那样你就会看到数码管逐个显示,显示的界面会让你感觉很不舒服(一个接一个地闪烁显示)。

数字时钟教程,数字时钟显示屏(9)

图1.8 ELEJ-CDC1数码管实物

数字时钟教程,数字时钟显示屏(10)

图1.9 ELEJ-CDC1整机焊接面实物图

总结一下:我们调试数码管,说白了就是调试T(根据实际调试数据ton≈1ms时,显示效果也很不错,当然是越小越好了;扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感),此外还要注意以下两个问题。

(1)所谓的“消隐”问题,当你更新显示的“段”的时候,显示的位置还是在前一时间的“位”上;然后你再更新“位”,这就出现移动的效果了。解决方法:显示下一位时先让数码管熄灭;在位的数码显示前,先关闭一下数码管,这样方可消除拖尾现象。

(2)驱动要足够,例如,我在使用数码管时均使用了三极管驱动,尽管STC控制器I/O口可以配置为推挽输出,但是为了便于硬件移植,即51控制器通用,还是加了驱动,在实际制作调试时,你也可以选择用STC控制器直接驱动。

ELEJ-CDC1创意数字时钟数码管实物如图1.8所示,焊接面如图1.9所示。

软件设计思路

这里我直接用文字叙述:在没有任何认为“干预”ELEJ-CDC1的情况下,ELEJ-CDC1从用户接通电源起,工作步骤(也就是软件执行过程)为控制器初始化、某些系统参数初始化→配置PCF8523、获取RTC数据(通过I2C接口读取)→处理RTC数据,处理结果暂时存储在控制器缓存中→通过定时器中断技术使控制器缓存中的RTC数据显示在数码管上→再读取新的RTC数据,处理数据,实时显示……就这样只要用户不断电,ELEJ-CDC1就会“不知疲倦”地重复实时显示RTC的实时数据。

然而,RTC芯片内部的数据在上电时,一般不会是当前的时间,怎么办呢?一般人都知道重新校准时间。其实,从PCF8523角度来看,就是重新向PCF8523内部时钟寄存器内写入数据,覆盖掉原始的不是当前时间的数据,然后PCF8523就从新的时间数据开始计时(时钟源就是那个32768Hz的晶体振荡器)。这样,自然就需要一个校时程序,而且这个校时程序块不是一直运行,只有用户需要时才启动,所以就需要一个开关。开关?你可能会惊讶:软件里面哪里有开关呢?此时,如果你仔细想一想数字电路,是不是想起了0和1,就是啊,这个开关就用一个Bit变量实现,比如,变量为1时启动校时程序块,为0时运行时钟。记住一点,校时程序块和正常走时程序块在同一时间绝不可能同时运行!

至于闹钟,也很简单,每读取一次RTC数据显示,程序就判断一次此时的时间和用户设定的闹钟时间是否一样,如果一样,那就“闹”吧!闹多久?程序开发者自行设置,如果开发者愿意,甚至可以让用户自行配置;如果你既是开发者又是用户,那我就不说啥了,随你的心情,随意配置吧!

读到这里,你是不是感觉ELEJ-CDC1总体脉络很清晰了呢!如果真的用心说是,那就好,你肯定可以独立调试ELEJ-CDC1了,而且,你还可以学习很多工程设计调试的方法。再说得犀利些:如果你仅仅是为了做一个ELEJ-CDC1,完全或者基本没有什么浓厚实物兴趣驱使你,你可能在调试时非常痛苦,甚至不能让ELEJ-CDC1正常运行。比如,你在调试ELEJ-CDC1时,你会彻彻底底地明白什么是数码管动态显示,为什么动态显示要用定时器中断,为什么不直接用延时扫描的方法,数码管不同界面切换方法,I2C驱动如何写(后续我会仔细说),甚至蜂鸣器振荡频率如何选择……总之,我们喜欢电,我们可以在兴趣中提高能力和扎实掌握解决实际工程问题的方法。哇!说多了,不过这样的兴趣就是动力,可以很随意地步行10多里路去二手电子市场(偷笑)。

数字时钟教程,数字时钟显示屏(11)

图1.10 “AL:--”界面

数字时钟教程,数字时钟显示屏(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.