如下图所示
4X3的矩阵LED;
由7个GPIO控制;
这个LED效果穿插在系统中;
首先说说,我的系统,单线程状态机,并且不能增加任何外部器件和
电路;
我尝试了单个点亮(一次只点亮一个灯),然后根据要点亮的效果(比如点亮LED2 LED 4 LED6 LED8 LED11 LED12)刷新6次;
然后,发现亮度不够,并且显示起来亮度不均匀,
然后又尝试了行列式点亮,也是亮度不均匀,
其实单独做个LED显示,问题简单,但是这个灯效怎么穿插到系统中,并且亮度要均匀(其实也就是刷新频率要固定);
最后在说一句,系统是裸奔,没有任何操作系统
所以向大家求个思路,对了有偿的,100RMB
不要按行列扫描一次点多个灯。
12个灯,每次只点亮1个就行了,也就是每个灯的扫描时间是扫描周期的1/12。
注意,即使某个灯信息为0,也要占用1/12的扫描周期,以确保无论显示亮多少个灯,亮度都一样。
这样就解决了亮度不均匀的问题。
限流电阻改小一点,这是不增加硬件的条件下,提高亮度的唯一方法了。
要保证固定扫描周期,当然要用定时器。可以设置优先级低于语音所用的定时器中断。
如果语音所用定时中断处理时间较长,影响到亮度的话,可以在进入该中断时,暂停显示用的定时器,并关闭显示,并保存当前扫描的位置,退出中断时开显示和恢复定时器。
这样不对,我觉得 应该是行列式的,这样可以减少扫描周期,从而提高亮度;
我现在设置的定时器 是 48000000/(479+1)(1+1) = 50KHZ;
但是,尝试更高亮度,发现会影响我读取按键值的速度;后面我会去采用降低限流电阻去尝试提高亮度
先看看吧,我主要是觉得单个点要 12次,行列式 只需要3次;这样亮度会高点
一周热门 更多>