本帖最后由 hzocce 于 2010-5-26 18:44 编辑
求一个PIC延时 (无中断的8位定时器)
unsigned char times1=46;
void delay_s(unsigned char s)
{
while(s--)
{
while(times1--)
{
TMR0 =1;
while(TMR0<255);
}
}
}
如上,是个8位的定时器,无中断, 分频比是 1:256 . 是PIC 的。
使用的晶振是12M 。 要定一个 1 S 时间。怎么定?
如上;delay_s(1) 的时候,时间是 999ms . 接近1S.
可为什么delay_s(2) 的时候确不是2S , 是11S 多一点点呢???????????????
请高手帮我改下,谢谢!!!
|
|