LEDs
中颖MCU普通LED模块(非恒流)提供了两种LED驱动模式:亮灭模式、调光模式。两种模式的功能及使用方法简介如下:
1、模式1:亮灭LED模式
当LED驱动器工作在亮灭LED模式时,每一个LEDRAM位控制一个LED灯,当LEDRAM位为0时,LED熄灭,当LEDRAM位为1时,LED点亮;在LED一帧或者一个COM扫描结束后,LED驱动器对应的中断标志位LEDIF或者COMIF标志位置1。
下面给出Mode1下,LED配置方法及其RAM的刷新流程。以需要显示的LED帧频200Hz(5ms)为例,当LED为5 COM且系统时钟为RC 24MHz 时,
COM扫描宽度控制寄存器配置值按如下方式计算:
LED帧频200Hz(5ms),5COM à 单COM的扫描时间TB = 1ms
TB = TSYS * 256* DISCOM (系统时钟RC 24MHz) à DISCOM = 94 (5EH)
注:TSYS为系统时钟周期;DISCOM为COM扫描宽度控制寄存器。
LED模块配置及数据刷新流程如下:
a.配置好LED模块各个寄存器参数(工作模式、COM宽度、死区宽度、COM/SEG引脚)。
b. 写入COM周期内的SEG波形数据(即LED RAM数据);
c. 开启LED模块(在开启LED模块前,可根据需求选择是否使能LED 中断);
d. LED扫描过程中,根据实际需求对显示数据(LED RAM)进行刷新。
2、模式2:调光LED模式
当LED驱动器工作在调光LED模式时,每一个LEDRAM byte控制正在扫描的COM周期内SEG的占空比;该占空比总共可以256档可选;当LEDRAM byte为0xff时,SEG输出最大占空比,当LEDRAM byte为0x00时,SEG输出最小占空比;当LEDRAM byte为0x00~0xff中间值时,SEG输出 相对应的占空比;
在Mode2模式下,LED COM中断使能的情况下,LED模块使能后会立刻开始显示第一个COM的数据(亮度),同时产生一个COM中断。因此,在开启LED 功能前,必须设置好第一个COM周期内的SEG数据;在启动LED功能后,会立刻进入LED COM中断,需在LED中断中改写第二个COM周期的SEG数据SEGXduty(X=0~16)。如果不修改,则第二个COM会显示上个COM周期的波形。以此类推,到一帧(LEDIF=1)结束。一帧最后一个COM中断来临时,填写下一帧的第2个COM的SEG 的波形。
下面给出Mode2下,LED配置方法及其RAM的刷新流程。以需要显示的LED帧频200Hz(5ms)为例,当LED为5 COM且系统时钟为RC 24MHz 时,
COM扫描扫描宽度控制寄存器配置值按如下方式计算:
LED帧频200Hz(5ms),5COM à 单COM的扫描时间TB = 1ms
TB = TSYS * 256* DISCOM (系统时钟RC 24MHz) à DISCOM = 94 (5EH)
注:TSYS为系统时钟周期;DISCOM为COM扫描宽度控制寄存器。
LED模块配置及数据刷新流程如下:
a.配置好LED模块各个寄存器参数(工作模式、中断允许位、COM宽度、死区宽度、COM/SEG引脚)。
b. 写入第1个COM周期的SEG波形数据(LED RAM);
c. 使能LED COM、中断允许位及总中断允许位后,开启LED模块;(与a中所配置的中断允许位不是一个)
d. 开启LED模块后会立刻进入COM中断程序,在COM中断中写入COM2周期的SEG波形数据;清除中断标志位。
e. 等待下一个COM中断来临时(COM1中断),写入COM3周期的SEG波形数据;
f. 重复步骤e,在COM n 中断程序中,配置COMn+2周期的SEG波形数据;
g. 在1帧中的倒数第二个COM中断程序中写入下一帧的COM1周期的SEG波形数据。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !