为什么单片机c语言编写时钟程序 实现时钟显示时delay()函数延时的值如果设的少于1 ms时时钟会变慢啊

这是什么原因啊 我试了一下delay时间越短时钟本来是1秒跳一下 后来就变成两三秒跳一下了 这是什么情况 求高手指导 小弟不胜感激void display(unsigned char a,unsigned char b,unsigned char c,unsigned char d)
{

P0=num[a];
LED_3=0;
delay();
LED_3=1;

P0=num[b];
LED_2=0;
delay();
LED_2=1;

P0=num[c];
LED_1=0;
delay();
LED_1=1;

P0=num[d];
LED_0=0;
delay();
LED_0=1;

}这是程序 四个数码管

设置延时时间时,在一定的数值范围内速度会变快如果超过就会变慢,具体数值忘啦 在书上查一下就有
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-22
有没有可能后来你的延时时间变长了,
要不,试一试这样编写状态。LED_0=!LED_0追问

我写的变短了 但是时钟却是时间延长了 有没有可能是堆栈的问题啊 我们老师不给力啊 出差去了

第2个回答  2011-06-22
建议用定时器,空循环不准
第3个回答  2011-06-22
把你的延时程序发一下吧,可能是那里设置错了
相似回答