也谈单片机LED显示驱动
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8616次
文章摘要:图4图4由于所有的LED模块公用了驱动端,因此LED的驱动不再像静态法一样为每个LED所独享,因此其驱动的设计方法也与静态法完全不同,需要采用分时扫描(也称动态扫描)方法来实现对所有LED的显示驱动,其原理如下(以图4为例):a. 将A0设置为高电平,也即允许第一组LED显示,同时将A2,A3,A4设置为低电平,也即关闭该阴极所对应的LED组的显示;b. 在P0口输出A0组对应的显示数据(也称为Pattern),如字符点阵数据,7-段码对应的数字的数据等,该数据可以通过ROM表的形式来预先定义;c. 保持一定的时间T,该时间即为所设定定时器的中断时间;d. 将A0口设置为低电平,关闭A
也谈单片机LED显示驱动,标签:电子小制作,http://www.88dzw.com图4
图4
由于所有的LED模块公用了驱动端,因此LED的驱动不再像静态法一样为每个LED所独享,因此其驱动的设计方法也与静态法完全不同,需要采用分时扫描(也称动态扫描)方法来实现对所有LED的显示驱动,其原理如下(以图4为例):
a. 将A0设置为高电平,也即允许第一组LED显示,同时将A2,A3,A4设置为低电平,也即关闭该阴极所对应的LED组的显示;
b. 在P0口输出A0组对应的显示数据(也称为Pattern),如字符点阵数据,7-段码对应的数字的数据等,该数据可以通过ROM表的形式来预先定义;
c. 保持一定的时间T,该时间即为所设定定时器的中断时间;
d. 将A0口设置为低电平,关闭A0组LED的显示;
e. 将A1设置为高电平,其他几个设置为低电平,开启A1组对应的LED的显示;
f. 在P0口输出A1组对应的显示数据(也称为Pattern,意义同上);
g. 重复以上步骤,直到所有组被扫描一遍,然后又从A0组开始下一个循环,如此周而复始,实现所有LED的动态显示。
1.该方法的原理利用了人眼对物体的视觉延迟来达到所有LED的同时显示,实际上,在每一个时刻,只有一组LED是处于显示的状态,而其他LED组均为关闭状态。理论上,若两次显示之间的时间间隔小于32ms时,人眼即无法分辨,因此,为了达到此要求,LED的扫描频率一般可按照下式计算得出:
f = 32 * N
式中,
f为扫描的频率,对应为定时器的定时时间(T=1/f);
32 则是由32ms换算而来,32ms对应的频率刚好为 32Hz;
N则是总的LED的组数(此例中为N=4)。
根据此式算出的扫描频率f实际上是LED 驱动扫描的最小频率,若低于此频率,则有可能导致LED的闪烁。当然,f也不可能越高越好,扫描的频率太高,相对而言,每一组LED的点亮的时间就越短,因此有可能导致LED的亮度不够或显示效果不理想等一些问题。当然提高LED的驱动电压也可以弥补由此造成的亮度不够的问题。
在此例中,由公式可知其扫描的频率应大于等于128Hz,则较为理想。
2. MCU程序的实现:
a. 模块的划分:
在说明其编程之前,先说明一下模块化编程思想在LED驱动设计中的应用。为了使程序的结构清晰和维护的便利,特别是为了使程序的移植等变得可行,在程序的设计过程中应尽可能地采用模块化的设计思想,对于复杂的程序结构和功能的实现,更应该在编程之前理顺其相互之间的关系,划分好各功能模块所应完成的功能,定义好各模块之间的数据接口和相互关系。
一般而言,显示部分所涉及到的内容和功能相对较广,比如按键的变化、系统状态的变化、数据的变化等均需在显示的结果上表现出来。因此,为了保证不同的模块之间的独立性,我们将与LED显示的有关的功能进行如下的划分:
1.扫描驱动模块:此模块的功能只完成对所有LED的扫描,而不关心所显示的数据的具体变化情况,其从固定的显示缓冲其中提取每一扫描地址所对应的数据,该对应关系是固定的,由程序设计时来设定。该实现的方法类似与PC机中CRT的显示驱动和显示缓冲;
2.字符、点阵发生器:由于实际的数据与显示的数据(Pattern)之间并非是相同的,因此,需要将实际的数据转化成能够显示的数据。例如在MCU中的各种计算的数据是以BCD码或二进制码的形式来表示的,需要将其转化成7-段码或nxn点阵的Pattern数据进行显示;
3. 显示缓冲刷新和处理模块:该模块的功能是接受诸如按键、系统状态变化、数据变化所引起的显示数据的变化。其需要调用到字符、点阵发生器来完成显示缓冲的刷新,其与按键、系统状态变化等之间的接口是采用消息的机制来实现。该模块一般需要根据不同的显示内容来进行分类,比如在跑步机的设计中,可以划分为如下的内容:距离、速度、时间、能量消耗、心率及其他相关的数据。
《也谈单片机LED显示驱动》相关文章
- › 也谈单片机LED显示驱动
- 在百度中搜索相关文章:也谈单片机LED显示驱动
- 在谷歌中搜索相关文章:也谈单片机LED显示驱动
- 在soso中搜索相关文章:也谈单片机LED显示驱动
- 在搜狗中搜索相关文章:也谈单片机LED显示驱动