一、什么是单片机复位
单片机复位是单片机上的复位电路的复位操作,作用是使电路恢复到起始状态,为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分。
简单来说,单片机复位,就是把数据清零,从头再来的意思,一般单片机在运算过程中,由于干扰等外界原因,造成寄存器中数据混乱,不能使其正常继续执行程序,或产生的结果不正确时,需要复位,以使程序重新开始运行。
二、单片机复位方式有几种
复位的功能是将单片机里的重新开始,主要防止程序混乱,也就是跑飞、或者死机等现象,单片机的复位方式主要有以下几种:
1、上电复位
当电源电压VCC低于上电/掉电复位电路的门槛电压时,所有的逻辑电路都会被复位。当VCC重新恢复到正常电压时,单片机延迟32768个时钟后,上电复位/掉电复位状态结束。
2、看门狗复位
在工业应用中,绝大多数应用系统都会用到看门狗(Watch Dog Timer)。在工业控制/汽车电子/航空航天等高可靠系统中,为了防止系统在异常情况下受到干扰导致MCU长时间异常工作、程序跑飞,通常是引进看门狗。如果CPU不在规定时间内访问看门狗,看门狗就认为系统出了问题,会强制将系统进行复位,使系统从头开始执行程序。
3、软件复位
单片机系统在运行过程中,有时难免会遇到需要软件复位的情况。有些古老的单片机在硬件上可能不支持软件复位功能,所以我们就需要去模拟软件复位的过程。比较常用的方法是跳转到程序的入口地址,利用汇编LJMP、JMP等跳转语句跳到程序的初始入口。但是现在常用的一些单片机(8051、STM32等)在硬件上都支持软件复位,配置专门的寄存器就可以实现复位功能。例如常用的8051单片机,有专门的ISP_CONTER寄存器来支持复位。
4、按键复位
如果系统内部不能正常复位或者软件复位无效的时候,可以依靠外部的按键进行复位。
三、单片机复位原理是什么
无论使用上面的哪种复位方式,其本质都是在操作RST复位引脚。8051单片机的RST引脚只需要保持2个机器周期的高电平即可产生复位。利用电容电压不可突变的性质,适当选取电容充放电的参数(电容值、电阻值)即可达到要求。刚开始上电时,由于电容电压(0V)不能突变,所以电容两端电压为0V,RST此时的电压为VCC。电容慢慢充电,充电结束后,电容两端的电压为VCC,所以此时RST的电势为0V。电容的这一段充电时间要大于单片机的2个机器周期。
软件复位和看门狗复位方式的原理都是使RST的高电平持续时间能够维持2个机器周期。