标题:
单片机数码管为什么会出现影子?消影原理是什么?
[打印本页]
作者:
yihaibo123
时间:
2019-1-21 22:01
标题:
单片机数码管为什么会出现影子?消影原理是什么?
各位大佬,教教小弟
问题1:单片机中数码管为什么会出现影子?怎么消除?
问题2: 为什么在段选打开之前要P0=0xff能消影?这个问题我有自己的解释,我想听听大佬们的想法
回答的大佬,谢谢啦
作者:
笨笨兔
时间:
2019-1-22 08:09
没图纸,没程序,完全靠猜测:P0=0xFF,估计是关闭某位数码管的全部段显示.
作者:
HC6800-ES-V2.0
时间:
2019-1-22 08:18
从你的问题上看,你是采用扫描法显示数码管。
对于单片机这种“眼急手快”的设备,关灯也是有一段过程的,灯不会一下子就灭了,如果在这段时间里,你让其它显示别的内容,就有“影子”。
自己可以试验:P0=0xff,这句不要是什么结果,有了是什么结果;有了这句后,时间短是什么结果,时间长又是什么结果。
作者:
佛云
时间:
2019-1-22 09:22
1.段码变,位码未变,产生残影
2.段码未变,位码变,产生残影
只要在改变段码或者位码之前,确保段码和位码处在关闭状态就不会有残影了
送段码;
送位码;
延时;
关位码;
关段码;
延时;
作者:
weidoit
时间:
2019-1-22 10:07
段码还在的时候就切换位选了,影子就出现了。
消除鬼影可以按照,关显示,送段码,送位选,延时;
关显示可以是关段选(0xFF)之类的,或者关位选,,,
作者:
yzwzfyz
时间:
2019-1-22 14:51
简单:
关键在你显示的切换上,切换步骤如下:
1、准备好显示的数据(是译码后的),最后先放在缓冲区(一个用于准备送出至LED接口的数据单元)
2、关闭所有显示!!(当然未参与切换的,不必关闭)
3、送出所有显示的数据(用缓冲区的目的,是为了这期间处理的时间最短,因为这时显示被闭了,相对显示的时间就短了,亮度有所影响)
4、打开所有显示!!
作者:
累不死的狗
时间:
2019-1-22 18:05
程序执行是需要时间的。而硬件反应也需要时间的,当程序执行比硬件执行的速度快时 硬件来不及反应,所以会出现重影的现象(个人理解),硬件那个反应时间有个专有名词,你可以去数字电路里面查一查,至于消除的问题可以靠延时解决,但是不如直接全都熄灭掉的效果好
作者:
npn
时间:
2021-4-16 19:27
段码和位码不是并行发送的,新的段码发出去,位码还是旧的,就出现影子了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1