本帖最后由 sh007 于 2011-3-28 12:14 编辑
那请教一下各位,各位都采用哪种延时方式呢?因为现在的测试 单片机不需要做太多的事情,所以采用DELAY的方式。除了这种方式的延时和定时器延时方式,请教各位还有用其他你们觉得更好的延时方式?谢谢赐教!
加上之前的程序:
以前是直接用如下一个DELAY:
void Delay(unsigned int t)
{
unsigned int j;
while(t--){
j = 35000;
while(j--);
}
}
//用这样的一个代码,一个批次的MCU常温下即出现问题,595驱动的数码管闪烁,且数值不对,而有些批次即使高温下 也不会出现问题。
修改后的DELAY:
void Delay(unsigned int t)
unsigned char d1,d2;
while(t--) {
d1=250;
while(d1--) {
d2 = 140;
while(d2--);
}
}
}
修改后,出问题的MCU,高温下一个小时也不曾出现过问题。
现在就是不谈什么效率之类的问题,为何同样是空转,使用char类型就不出问题。故到处向各位大侠请教!谢谢!
*/ |