本帖最后由 xueshawu1 于 2017-12-6 10:53 编辑 如下图所示 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;
但是,尝试更高亮度,发现会影响我读取按键值的速度;后面我会去采用降低限流电阻去尝试提高亮度
STM32030下拉电流只有20mA左右,上拉供电更少,显然STM32O3O力不从心。如果不增加外设驱动,你的这个方案应该是作废了。
评分
查看全部评分
好像很难把亮度能均匀啊,你尝试一下办法:
1、I/o驱动电流最大25ma,在此口点亮最多LED时和单独点亮LED时 ,使其流过的工作电流一致,
你的lED压价多少,调整电阻值试一下,
评分
查看全部评分
这样貌似不行,这个方法我之前就试过,因为我还有语音播报功能,语音播报也是采用定时器更新WAV文件 的方式实现,这样做的结果就是会影响语音播放;不过也有可能是我之前的LED优先级比语音要高导致的,我刚已经想到这一点了,等下去试下
两边都是OUT PP;出来的亮度还可以,也而不需要多亮
1K电阻是有点大
以前我用51时用的573
评分
查看全部评分
评分
查看全部评分
评分
查看全部评分
"不要按行列扫描",理由是你当前的电路下,减小电阻后,GPIO输出电流有限,驱动多个灯时,亮度不均匀。
先看看吧,我主要是觉得单个点要 12次,行列式 只需要3次;这样亮度会高点
两者可以共用定时器的,语音走一个采样显示走一行。电流问题就是外挂驱动 MOS 管。