74HC595驱动8位数码管有闪烁感该怎么办
答案:3 悬赏:60 手机版
解决时间 2021-11-30 00:51
- 提问者网友:最美的风景
- 2021-11-29 01:21
74HC595驱动8位数码管有闪烁感该怎么办
最佳答案
- 五星知识达人网友:掌灯师
- 2021-11-29 02:22
没源程序很难说,还要结合硬件。但是如果你是用动态扫描的方法 那么 你的显示程序必须时刻的被调用,如果不被调用 就会闪烁。换句话说 主程序的扫描方式是逐行扫描,程序中做了显示程序,就不能做其他,你可以把显示程序写到 定时中断中去,定时中断 是和主程序并行执行的。另一种方法就是用静态扫描,这样就不用怎么麻烦了,在不调用显示程序时由于显示数据是被锁存的,故不会暗掉。
还有你要用显示缓存,就是先将要显示的数据移动到缓存数字中,这样在显示的时候直接读取缓存的数据。追问595 LED之间没用限流电阻,笔画少的比如1字亮度明显比8字高,是不是电流过小?追答要看你的硬件,595是接的共阳还是共阴?如果共阳那么就有影响,如果共阴,就和595关系不大。
一个LED需要1.8V/ 2ma左右就能稳定点亮。自己计算一下。另外用程序写一个1位数码管的 看看有没有问题 ,如果没有问题的话 程序的问题大一些,反之查一下硬件。追问写过测试程序,在main里循环,没有其他分支,亮度很好,算了,共阳管,处理其他子程序时间比较长吧。显示子程序是放在1ms中断里,每次更新8位。试过每次更新过1位亮度上来了闪死人了。应该还是驱动电流的问题,595貌似最大35ma。8位64段总共估计少了点。
还有你要用显示缓存,就是先将要显示的数据移动到缓存数字中,这样在显示的时候直接读取缓存的数据。追问595 LED之间没用限流电阻,笔画少的比如1字亮度明显比8字高,是不是电流过小?追答要看你的硬件,595是接的共阳还是共阴?如果共阳那么就有影响,如果共阴,就和595关系不大。
一个LED需要1.8V/ 2ma左右就能稳定点亮。自己计算一下。另外用程序写一个1位数码管的 看看有没有问题 ,如果没有问题的话 程序的问题大一些,反之查一下硬件。追问写过测试程序,在main里循环,没有其他分支,亮度很好,算了,共阳管,处理其他子程序时间比较长吧。显示子程序是放在1ms中断里,每次更新8位。试过每次更新过1位亮度上来了闪死人了。应该还是驱动电流的问题,595貌似最大35ma。8位64段总共估计少了点。
全部回答
- 1楼网友:深街酒徒
- 2021-11-29 03:31
我也遇到了这个问题,而且是时好时坏,郁闷ing...9
- 2楼网友:詩光轨車
- 2021-11-29 03:14
减少延时时间;亮度低的话,单片机I/O口加上拉电阻
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯