void display()
{
sta
tic 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是段码。
只有第一个可以正常显示,动态显示不是要用到延时么?第二个反而会让数码管出现余晖。
说明前一个段码数据没关掉,影响下一位数码管,在延时后面加一句把P0全部关掉,试试
是的,第二个显示程序放在中断里跑时间不够。第一个显示程序是可以的,p2直接选通位,定时中断2ms,每次就显示一位,i是用static声明过可以保持。刚想明白了,谢谢。
一语惊醒梦中人啊,都写糊涂了,想明白了。谢谢
一周热门 更多>