PIC16F877A 看门狗定时器(WDT)

//PIC.H中定义了宏   #define CLRWDT()  asm("clrwdt")因此在PICC的c语言中可以直接使用CLRWDT()对WDT清0
//若单片机WDT使能,在适当位置加入CLRWDT(),程序进入正常运行时,每隔一定时间均会执行CLRWDT()语句对WDT清0,芯片不会复位
//如果程序陷入死循环,不会执行到CLRWDT()语句,则超出所设定的时间后,WDT溢出使芯片复位,从头(000H)开始执行,单片机恢复正常运行
//PIC16F单片机,看门狗定时器的启用只能在芯片的烧写时确定,即无法用软件来开启或关闭WDT,但在PIC16f88X中可以。
//PIC16单片机的WDT基本溢出时间为18MS,由RC充放电时间确定,在-40~85度之间变化时,WDT基本溢出时间在7-33ms变化
#include<pic.h>
__CONFIG(0X3F3D);//开启WTD
void DELAY(unsigned int);
#define LED1 RB1
main(void)
{
TRISB=0B11111101;
OPTION=0B11111011;  //WDT的分频比为1:8,最大复位时间为18*8=144ms
if(TO==0)// 若写成T0,则编译出错。。。
{
  LED1=1;  //看门狗定时器溢出,仿真时溢出TO不会清零
}
else
  LED1=0;
while(1)
{
  DELAY(100);//模拟一个运行100ms的子程序
  CLRWDT();
  DELAY(200);//模拟一个运行200ms的子程序,时会产生溢出(200ms>144ms)
  CLRWDT();
};
}
void DELAY(unsigned int n)
{
unsigned int j;
char k;
for(j=0;j<n;j++)
  for(k=246;k>0;k--)
NOP();
}

转载于:https://www.cnblogs.com/LakeFollow/archive/2012/06/28/2568495.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pic16f1947是一种MPLAB IDE软件下支持的微控制器芯片,它内置了各种通信接口、计时器和中断处理器等基本模块,可广泛应用于传感器、开关控制、电机控制、通信设备等领域。 为使用pic16f1947,需要对其进行编程。编程可以使用C语言和汇编语言,开发工具可以是MPLAB X IDE软件。编写代码时需要了解pic16f1947寄存器的地址和作用,以及各外设模块的控制方法。 以控制LED灯为例,以下是一个简单的pic16f1947代码: ```c #include <xc.h> //头文件,包含芯片寄存器地址定义 #pragma config FOSC = INTOSC //配置寄存器,设置时钟源为内部振荡器 #pragma config WDTE = OFF //关闭看门 #pragma config PWRTE = OFF //关闭上电复位计时器 #pragma config MCLRE = ON //MCLR复位功能打开 #pragma config CP = OFF //关闭代码保护 #pragma config CPD = OFF //关闭数据保护 #pragma config BOREN = ON //开启复位电压检测 void main() { TRISBbits.TRISB0 = 0; //设置B0引脚为输出模式,控制LED灯亮灭 RB0 = 1; //B0引脚输出高电平,LED灯亮 while(1) //循环控制 { __delay_ms(500); //延时0.5秒 RB0 = ~RB0; //B0引脚输出反转,LED灯灭 } } ``` 该代码使用TRISB寄存器将芯片引脚配置为输出模式,使用RB0控制LED灯的亮灭,并在主循环中使用__delay_ms函数实现延时效果。 pic16f1947代码的编写需要对芯片及其外设进行深入了解,需要充分了解相关原理和编程技术,以实现各种控制和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值