两个数码管动态显示的程序,有点想不通

2019-07-16 04:52发布

void display()
{
static int i=0;
  P2=i;
  P0=TempData[i];
  i++;
  if(i==8 ) i=0;
}
/////////////////////////////////////////////
void display()
{ int i;
  for(i=0;i<8;i++)
  {
   P2=i;
  P0=TempData[i];
  delay(1);   //延时一毫秒
  }

}

最近在用ds1302做电子钟,数码管显示。以上是我写的显示程序,放在定时器中断里调用。P2是位码,P0是段码。
只有第一个可以正常显示,动态显示不是要用到延时么?第二个反而会让数码管出现余晖。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
jackor88
1楼-- · 2019-07-16 22:55
 精彩回答 2  元偷偷看……
lovedollar
2楼-- · 2019-07-17 02:46
jackor88 发表于 2012-8-24 09:50
可能是我刚入行不久,也可能因为没有看到你整个程序,不知道你程序调用情况,无法找出具体原因,给你我写过 ...

en ,谢谢那
fl国际八点半
3楼-- · 2019-07-17 05:44
main()
{  char i;
while(1)
{
   for(i=0;i<100;i++)
{  P1=0xfe;
    P0=led[i/10];
   delay();
     P1=0xfd;
     P0=led[i%10];
      delay();
}
}
引脚不同要改

   

一周热门 更多>