`本人学习pic一周了,今天做定时器TMR0和WDT实验,由于没有
开发板,使用的十protuse
仿真,
发现的问题如下(pic16f877a芯片,4MHz晶振,):
1、仿真时发现在上述前提下看门狗溢出时间为18ms。
2、只要开启看门狗,不将TMR0分频器给WDT时(OP
tiON_REGbits.PSA=0),分频器给任何值都是以18ms未周期复位。
3、分频器给WDT时(OPTION_REGbits.PSA=0),定时器不对机器周期计数。
由于本人没有条件实际验证是否有问题(主要是因为在英文芯片手册内未发现WDT是多少机器周期溢出一次),希望有条件的朋友帮帮!
本人仿真程序如下:
#include
//MPLAB IDE V8.80
//PICC V9.83
__CONFIG(FOSC_HS&WDTE_ON&PWRTE_OFF&BOREN_OFF&LVP_OFF&CPD_OFF&WRT_OFF&DEBUG_OFF&CP_OFF);
void DELAY(unsigned int);
void main(void){
PORTB=0X01;
TRISB=0X00;
OPTION_REGbits.PSA=0;//分频器分配给TMR0/WDT
OPTION_REGbits.PS=0B111;
while(1){
DELAY(65530);
CLRWDT();//qing chu kan men gou
}
}
void DELAY(unsigned int n){
unsigned char i;
for( ; n>0; n--)
for( i=10; i>0; i--)NOP();
}
`