单片机/MCUwilliam hill官网
直播中

伏尔加的鱼

12年用户 376经验值
擅长:模拟技术 控制/MCU RF/无线
私信 关注
[讨论]

pic16f877a的定时器TMR0和WDT问题,求解!

`本人学习pic一周了,今天做定时器TMR0和WDT实验,由于没有开发板,使用的十protuse仿真
发现的问题如下(pic16f877a芯片,4MHz晶振,):
1、仿真时发现在上述前提下看门狗溢出时间为18ms。
2、只要开启看门狗,不将TMR0分频器给WDT时(OPtiON_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();
}




` 新建位图图像 (2).jpg 新建位图图像.jpg

回帖(1)

伏尔加的鱼

2013-6-9 11:28:19
已解决,不需要大家帮忙了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分