复位方法
外部RST引脚复位
对RST引脚施加两个机器周期以上的高电平信号后,再恢复为低电平,即可对单片机系统软件复位
软件复位
可以通过修改ISP控制寄存器中的位置,实现单片机系统软件复位
通电 / 关电复位
当单片机的供电电压低于门槛值,不足以支持单片机正常工作时,单片机内部所有的逻辑电路都会被复位,并会在电压恢复后自动进行复位操作
看门狗复位
看门狗实际上是一个定时器,一般有一个输入操作,称为喂狗。单片机正常工作时,每隔一段时间喂一次狗。但如果单片机死机,超过规定时间不喂狗,看门狗定时器就会超时溢出,强制对单片机进行复位
看门狗相关寄存器
需要使用以下代码定义该寄存器,然后其才能在程序中调用
sfr WDT_CONTR = 0xE1;
看门狗溢出时间
- 当看门狗允许位被置位时,看门狗定时器即开始运行。如果在溢出时间内没有进行喂狗操作,看门狗将会在到达溢出时间后对系统进行复位。
- 看门狗溢出时间的计算方法:溢出时间 = 12 * 预分频系数 * 32768 / 晶振频率
- 可通过以下代码启用看门狗并设置溢出时间为524.2ms
WDT_CONTR = 0x33;
看门狗喂狗操作
喂狗操作是指置位看门狗清零位
注意:看门狗喂狗操作不能在定时机中断中进行