注册 登录
查看: 446|回复: 7

单片机双数码管显示的问题求方案!

[复制链接]
发表于 2014-11-15 20:52:01 | 显示全部楼层 |阅读模式

电路图如上!
下面是显示12的代码!

  1. while(1)
  2. {
  3. P0=0x00;
  4. P2=0xfe;//选择数码管的十位
  5. P0=0x06;//数码管显示1
  6. P0=0x00;
  7. P2=0xfd;//选择数码管的个位
  8. P0=0x06;//数码管显示2
  9. }
大家应该都看到两者之间都有一个P0=0x00,作用就数码管不显示东西,
如果去掉这个的话,由十位数码管 切换到个位数码管,因为之前的段码还是1,所以个位的数码管也会显示一下1,之后赋值才会变成2,
十位个位数码管都是这样,人眼余辉,两个数码管就会显示1与2的叠加!

问题来了,每次都要把数码管关显示一下,才能切换数码管!
写上P0=0x00;后,我觉得效率降低了好多,但是又想不出好的方案,
特来向各位大神求解!
求一个高效的漂亮代码!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-11-15 20:55:46 | 显示全部楼层
哥们一边搞51,另外一边搞智能车?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-15 22:03:26 | 显示全部楼层
东门梦泽 发表于 1416056146
哥们一边搞51,另外一边搞智能车?
没有哈!只是突然想起来这个问题来了!之前弄光立方的时候这里就觉得蛋疼!所以提问一下!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-15 22:31:27 | 显示全部楼层
效率降低了好多~~~~~~~~   这个是没办法的,要取消残影,仅仅是一句命令而已,用不了多少时间。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-15 22:33:26 | 显示全部楼层
山外メ雲ジ 发表于 1416061887
效率降低了好多~~~~~~~~   这个是没办法的,要取消残影,仅仅是一句命令而已,用不了多少时间。
有木有别的办法来消除呃!感觉效率降低了一半呢!虽然代码不费事吧!但是还是感觉不是很好!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-15 22:36:10 | 显示全部楼层
ii童话Bū说话 发表于 1416062006
有木有别的办法来消除呃!感觉效率降低了一半呢!虽然代码不费事吧!但是还是感觉不是很好!
你的代码没加延时而已,加了延时,就不会显得效率低。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-16 01:16:30 | 显示全部楼层
对于这个电路图,如果是我的话,我会这么写,感觉逻辑清晰些
  1. sbit NUM1 = P2^0;
  2. sbit NUM2 = P2^1;

  3. while(1)
  4. {
  5.     P0=0x06;//数码管显示1
  6.     NUM1 = 0; NUM1 = 1;  //数码管1来一个使能脉冲

  7.     P0=0x06;//数码管显示2
  8.     NUM2 = 0; NUM2 = 1;  //数码管2来一个使能脉冲
  9. }


当然,要是在光立方里,用锁存器的话还会有别的方法。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-16 02:00:15 | 显示全部楼层
xkwy 发表于 1416071790
对于这个电路图,如果是我的话,我会这么写,感觉逻辑清晰些


当然,要是在光立方里,用锁存器的话还会有别的方法。
一个性质的呃!不过谢谢啦!貌似没找到更好的办法!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

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

本版积分规则

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