您的位置 首页 FPGA

PIC16F877A 看门狗定时器试验

//*******************PIC16F877A看门狗定时器实验*******************////PORTA,PORTB,PORTC,PORTD,PORTE复位时为输入状态/

//*******************PIC16F877A 看门狗定时器试验*******************

//
//PORTA,PORTB,PORTC,PORTD,PORTE复位时为输入状况
//PORTA.4(RA4)为开漏输出
//
//WDT运转于独立的内部RC振动器,即便器材时钟停振,WDT仍正常作业
//PIC16F877A单片机的WDT只能在烧写芯片时经过装备位发动或中止
//WDT根本溢出时刻为18ms,因为温度影响,该值在7-33ms之间改变
//WDT和TMR0共用一个预分频器
//PSA=1; //预分频器分配给WDT运用
//PS2 PS1 PS0 WDT
// 0 0 0 1 分频
// 0 0 1 2 分频
// 0 1 0 4 分频
// 0 1 1 8 分频
// 1 0 0 16 分频
// 1 0 1 32 分频
// 1 1 0 64 分频
// 1 1 1 128分频
//
//mcu: PIC16F877A 12MHz
//2010年7月11日8:03:01
//****************************************************************

#include __CONFIG(HS&WDTEN&LVPDIS&PWRTEN);
//HS振动,翻开看门狗,低压编程封闭,发动延时定时器

//********************函数界说*********************
void delay1ms(uint DelayTime);

//*************** 主程序 ********************
void main(void)
{
PSA=1; //预分频器分配给WDT运用
PS2=1;
PS1=1;
PS0=1; //预分频器128分频
TRISC=0x00; //PORTC口设置为输出
PORTC=0x00;
CLRWDT(); //清看门狗

while(1)
{
PORTC++;
delay1ms(200);
}
}

//***************延时 n*1ms 12MHz***************
void delay1ms(uint DelayTime)
{ uint temp;
for(;DelayTime>0;DelayTime–)
{ for(temp=0;temp<270;temp++)
{;}
}
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/274885.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部