标题: 哪位给解释下数码管延时取消和不取消显示不同的问题 [打印本页]

作者: ghostry    时间: 2016-8-1 17:19
标题: 哪位给解释下数码管延时取消和不取消显示不同的问题
我写的程序动态显示数码管
  1. for(i=0;i<6;i++){
  2. P0=wei[i];
  3. P2_7=1;
  4. P2_7=0;

  5. j=_nums[i];
  6. P0=table[j];
  7. P2_6=1;
  8. P2_6=0;
  9. sleep(3);
  10. }
复制代码



这样是正常显示预期的6,5,4,3,2,1
如果sleep为1或者去掉sleep。则显示6,9,9,反6,反6,8
谁知道原因能说下吗。
开始以为是要消隐,在P2_7=0;后和P2_6=0;加P0赋值也不行。
我看着像显示错位了,5显示到6上面,4到5,2到3.。
6到1
如果sleep写大点,写个500,看着 是没错的,轮流显示没错位
sleep写到5以下就会看着有错位残影。



作者: ghostry    时间: 2016-8-2 16:14
解决了,是位变更后的段变更前段还是上次的值,会传过来。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1