打印

定时器程序的误差为何这么大??????

[复制链接]
1622|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jzfbbs|  楼主 | 2007-8-26 10:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现做了一个定时的小程序.片内振荡为4MHZ.       定时的理论值为167秒.(分频比*溢出次数*第一次循环值*第二次循环值).

而实际测量的定时时间为:152秒.请大家帮忙分析一下,为何误差会这么大.程序如下:

 INCLUDE"P16F630.INC";定时器程序
   ORG 0
   NOP
   BSF STATUS,RP0
   CLRF TRISC;C口设置为输出
   MOVLW 07H
   MOVWF OPTION_REG;设置为定时器状态,分频比为1:256
   BCF STATUS,RP0
   CLRF PORTC
   MOVLW .10;设置第二次循环的次数
   MOVWF 22H
S   MOVLW .255;设置第一次循环的次数
   MOVWF 21H
ST BCF INTCON,T0IF;清除定时器0的溢出标志位
   CLRF TMR0;定时器清零
   BTFSS INTCON,T0IF;检测定时器的溢出标志位
   GOTO $-1;不断检测
   DECFSZ 21H;第一次循环次数递减
   GOTO ST
   DECFSZ 22H;第二次循环次数递减
   GOTO S
   MOVLW 0FFH;
   MOVWF PORTC;C口全部为高电平输出
   GOTO $-1;
   END

相关帖子

沙发
一级菜鸟| | 2007-8-26 11:06 | 只看该作者

片内RC振荡器本身的精度就不高,要得到精确计时,用晶振吧

使用特权

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

本版积分规则

112

主题

387

帖子

3

粉丝