关于数码管消隐的疑问

[复制链接]
15856|33
 楼主| 爬山虎1234 发表于 2013-1-14 16:24 | 显示全部楼层 |阅读模式
各位大虾好 小弟最近买了一块郭天祥老师的TX-1C单片机开发板   在做数码管显示的时候  对数码管(共阴)消隐有点疑问   在先写段选后写位选的时候用P0=0xff消隐(个人理解为 共阴数码管高电平时位选关闭,防止位选打开时P0口上的数据干扰) 但为什么在先写位选后写段选时用P0=0不能消隐啊?谢谢 (段选、位选用了两个74HC573)
  dula=1;
  P0=table[ten];
  dula=0;
  P0=0xff;
  wela=1;
  P0=0xfe;
  wela=0;
  delayms(1);//延时1个ms
  
  dula=1;
  P0=table[one];
  dula=0;
  P0=0xff;
  wela=1;
  P0=0xfd;
  wela=0;
  delayms(1);
 楼主| 爬山虎1234 发表于 2013-1-14 16:26 | 显示全部楼层
等大虾光临啊
ningling_21 发表于 2013-1-14 21:16 | 显示全部楼层
LZ需要对硬件电路也有足够的了解...
zhhbncwu 发表于 2013-1-14 21:53 | 显示全部楼层
自己试一下,应该也可行吧
 楼主| 爬山虎1234 发表于 2013-1-14 22:01 | 显示全部楼层
ningling_21 发表于 2013-1-14 21:16
LZ需要对硬件电路也有足够的了解...

谢谢您的回复  对于我提的问题 我不太懂你的意思  需要从硬件分析?
 楼主| 爬山虎1234 发表于 2013-1-14 22:03 | 显示全部楼层
zhhbncwu 发表于 2013-1-14 21:53
自己试一下,应该也可行吧

谢谢您的回复  我就是试过后 没有效果  所以才有此疑问
ningling_21 发表于 2013-1-14 23:01 | 显示全部楼层
"个人理解为 共阴数码管高电平时位选关闭,防止位选打开时P0口上的数据干扰"
高电平关闭位选,如果全都是低电平(P0=0)怎么关闭位选?
消隐有什么作用?
erjh 发表于 2013-1-15 00:49 | 显示全部楼层
anazel 发表于 2013-1-15 06:57 | 显示全部楼层
为什么要消隐呢,不是送完段选,再送位选不就行了
W_Controller 发表于 2013-1-15 08:22 | 显示全部楼层
楼主要先弄清楚什么是消隐,为什么要消隐啊。
数码管在刷新下一个数据之前,上次的数据留有余晖;
你的数码管是共阳数码管,所以要先写P0 = 0Xff来对数码管之前的数据关掉再去显示最新的数据,从而达到消隐的目的。
coody 发表于 2013-1-15 11:38 | 显示全部楼层
要消隐时,不发光就是
快乐小小鱼 发表于 2013-1-15 17:18 | 显示全部楼层
我觉得先写哪个都没有关系,都能把数据写进74HC573里面,数码管有阴影是某个中间变化的状态持续的时间太长了,因为是动态显示嘛,每次只能显示一个数码管,所以数码管显示的开始可以用来刷屏,不显示!还有74HC573的锁定时低电平锁定,要保数码管的SEG端口和COM端口在一个改变的时候,不要让另一个也跟着改变了!
 楼主| 爬山虎1234 发表于 2013-1-16 12:29 | 显示全部楼层
W_Controller 发表于 2013-1-15 08:22
楼主要先弄清楚什么是消隐,为什么要消隐啊。
数码管在刷新下一个数据之前,上次的数据留有余晖;
你的数码 ...

您好 数码管是共阴的
 楼主| 爬山虎1234 发表于 2013-1-16 12:42 | 显示全部楼层
ningling_21 发表于 2013-1-14 23:01
"个人理解为 共阴数码管高电平时位选关闭,防止位选打开时P0口上的数据干扰"
高电平关闭位选,如果全都是低 ...

您好  小弟愚钝  如果写0xff  那么段选一打开 573是直通状态 数码管岂不是要全亮?(先写位选 再写段选 共阴)
ccxlslr 发表于 2013-1-16 12:43 | 显示全部楼层
本帖最后由 ccxlslr 于 2013-1-16 12:46 编辑

消隐有用你找我。不要光看书上写就照作。你以为你的几微秒的消隐真有用。心理作用而已。

眼睛的反应时间,叫什么视觉停留,远不止几微秒
woshixinshou 发表于 2013-1-16 15:28 | 显示全部楼层
分三个步骤
关位选
送段选
开位选
那样频率高点都不会有鬼影
飞过love 发表于 2013-1-16 21:20 | 显示全部楼层
这本书我也看过了,我感觉没必要用消影,我把消影去了之后显示效果一样!!
ningling_21 发表于 2013-1-16 23:21 | 显示全部楼层
要根据实际的硬件电路来编程。
理论上应该:
1.关闭所有位选
2.送段码;
3.送位码;
zwz7219 发表于 2013-1-17 14:37 | 显示全部楼层
16 楼和 18 楼说得过程是对的,应该这么做。

其实,不管用的是共阴还是共阳的 LED 屏,消隐都是必要的,并非是象楼上几位说得可有可无,如果没有消隐过程,会使下一位数码管显示上一位的数据,或本位数码管显示下一位的数据。

如果相邻两位数码管显示的数据相同的话,对显示没有影响,但如果显示数据不同,则会使不该发光的位相应段发光,降低整个屏的对比度,使可视距离下降。
ccxlslr 发表于 2013-1-17 15:22 | 显示全部楼层
本帖最后由 ccxlslr 于 2013-1-17 15:29 编辑
zwz7219 发表于 2013-1-17 14:37
16 楼和 18 楼说得过程是对的,应该这么做。

其实,不管用的是共阴还是共阳的 LED 屏,消隐都是必要的,并 ...


做东西要讲实际,你没错。但不要想当然。给你说了视觉有停留,看他的程序只有几微秒的消隐时间。你以为你关几微秒,就没了,看不见了! 用高速相机也许可以,便你眼睛不是高速想机。

为什么说电影至少要24帧才连续,就是视觉停留, 算算1帧就40多毫秒,这与几微秒是一个概念吗!

也就是说即使你消隐了,对眼睛来说,还是停留在前一状态达几十毫秒。

想当然的还有,是不是我点1微秒就关了,这样是不是太节能了。因为理论上是可以的。

这是数码管,与大型屏不一样。大型屏有时候刷新并不快。但这程序的消隐只有几微秒



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

本版积分规则

14

主题

203

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部