找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7308|回复: 7
收起左侧

单片机数码管为什么会出现影子?消影原理是什么?

[复制链接]
ID:462718 发表于 2019-1-21 22:01 | 显示全部楼层 |阅读模式
各位大佬,教教小弟

问题1:单片机中数码管为什么会出现影子?怎么消除?
问题2:  为什么在段选打开之前要P0=0xff能消影?这个问题我有自己的解释,我想听听大佬们的想法

回答的大佬,谢谢啦
回复

使用道具 举报

ID:158375 发表于 2019-1-22 08:09 | 显示全部楼层
没图纸,没程序,完全靠猜测:P0=0xFF,估计是关闭某位数码管的全部段显示.
回复

使用道具 举报

ID:164602 发表于 2019-1-22 08:18 | 显示全部楼层
从你的问题上看,你是采用扫描法显示数码管。
对于单片机这种“眼急手快”的设备,关灯也是有一段过程的,灯不会一下子就灭了,如果在这段时间里,你让其它显示别的内容,就有“影子”。
自己可以试验:P0=0xff,这句不要是什么结果,有了是什么结果;有了这句后,时间短是什么结果,时间长又是什么结果。
回复

使用道具 举报

ID:466578 发表于 2019-1-22 09:22 | 显示全部楼层
1.段码变,位码未变,产生残影
2.段码未变,位码变,产生残影

只要在改变段码或者位码之前,确保段码和位码处在关闭状态就不会有残影了

送段码;
送位码;
延时;
关位码;
关段码;
延时;
回复

使用道具 举报

ID:149389 发表于 2019-1-22 10:07 | 显示全部楼层
段码还在的时候就切换位选了,影子就出现了。

消除鬼影可以按照,关显示,送段码,送位选,延时;
关显示可以是关段选(0xFF)之类的,或者关位选,,,
回复

使用道具 举报

ID:123289 发表于 2019-1-22 14:51 | 显示全部楼层
简单:
关键在你显示的切换上,切换步骤如下:
1、准备好显示的数据(是译码后的),最后先放在缓冲区(一个用于准备送出至LED接口的数据单元)
2、关闭所有显示!!(当然未参与切换的,不必关闭)
3、送出所有显示的数据(用缓冲区的目的,是为了这期间处理的时间最短,因为这时显示被闭了,相对显示的时间就短了,亮度有所影响)
4、打开所有显示!!
回复

使用道具 举报

ID:453974 发表于 2019-1-22 18:05 | 显示全部楼层
程序执行是需要时间的。而硬件反应也需要时间的,当程序执行比硬件执行的速度快时 硬件来不及反应,所以会出现重影的现象(个人理解),硬件那个反应时间有个专有名词,你可以去数字电路里面查一查,至于消除的问题可以靠延时解决,但是不如直接全都熄灭掉的效果好
回复

使用道具 举报

ID:57657 发表于 2021-4-16 19:27 | 显示全部楼层
段码和位码不是并行发送的,新的段码发出去,位码还是旧的,就出现影子了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表