打印

求一个PIC延时 (无中断的8位定时器)

[复制链接]
1978|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hzocce|  楼主 | 2010-5-26 10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hzocce 于 2010-5-26 18:45 编辑

求一个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 多一点点呢???????????????

请高手帮我改下,谢谢!!!

相关帖子

沙发
ayb_ice| | 2010-5-26 11:27 | 只看该作者
既然没有中断,
PICC支持延时内嵌的延时函数,直接使用那个好

使用特权

评论回复
板凳
hzocce|  楼主 | 2010-5-26 12:14 | 只看该作者
但是有 8 位的定时器 。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

561

帖子

4

粉丝