大家周末好,我今天有2个问题想请教:
问题1:单片机中数码管为什么会出现影子?怎么消除?问题2: 为什么在段选打开之前要P0=0xff能消影?这个问题我有自己的解释,我想听听大侠们的想法~先谢过大家了!
没图纸,没程序,完全靠猜测:P0=0xFF,估计是关闭某位数码管的全部段显示.
从你的问题上看,你是采用扫描法显示数码管。对于单片机这种“眼急手快”的设备,关灯也是有一段过程的,灯不会一下子就灭了,如果在这段时间里,你让其它显示别的内容,就有“影子”。自己可以试验:P0=0xff,这句不要是什么结果,有了是什么结果;有了这句后,时间短是什么结果,时间长又是什么结果。
简单:关键在你显示的切换上,切换步骤如下:1、准备好显示的数据(是译码后的),最后先放在缓冲区(一个用于准备送出至LED接口的数据单元)2、关闭所有显示!!(当然未参与切换的,不必关闭)3、送出所有显示的数据(用缓冲区的目的,是为了这期间处理的时间最短,因为这时显示被闭了,相对显示的时间就短了,亮度有所影响)4、打开所有显示!!
消除起来还是不苦难的