现做了一个定时的小程序.片内振荡为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
|