产品选型

单片机 软件复位 常见的单片机复位方式及其原理分析

小编 2024-10-09 产品选型 23 0

常见的单片机复位方式及其原理分析

为确保设计出的电路系统稳定可靠的工作,必须在电路中加入复位电路——将电路恢复到初始状态。类似于我们使用的电脑,一旦我们电脑死机或发生其他问题,我们会利用重启按钮重启我们的电脑。复位电路亦是如此,一旦我们按下复位按键,复位电路就会将系统恢复到初始状态。复位电路的一般组成是电容和电阻组合形式,少部分会用到三极管。

复位方式

1、上电复位/掉电复位

上电复位

当电源电压VCC低于上电/掉电复位电路的门槛电压时,所有的逻辑电路都会被复位。当VCC重新恢复到正常电压时,单片机延迟32768个时钟后,上电复位/掉电复位状态结束。

2、按键复位

3、软件复位

涉及的单片机系统在运行过程中,有时难免会遇到需要软件复位的情况。有些古老的单片机在硬件上可能不支持软件复位功能,所以我们就需要去模拟软件复位的过程。比较常用的方法是跳转到程序的入口地址,利用汇编LJMP、JMP等跳转语句跳到程序的初始入口。但是现在常用的一些单片机(8051、STM32等)在硬件上都支持软件复位,配置专门的寄存器就可以实现复位功能。例如常用的8051单片机,有专门的ISP_CONTER寄存器来支持复位。寄存器的具体配置参考如下。

ISP_CONTER

4、看门狗(WDT)复位

在工业应用中,绝大多数应用系统都会用到看门狗(Watch Dog Timer)。在工业控制/汽车电子/航空航天等高可靠系统中,为了防止系统在异常情况下受到干扰导致MCU长时间异常工作、程序跑飞,通常是引进看门狗。如果CPU不在规定时间内访问看门狗,看门狗就认为系统出了问题,会强制将系统进行复位,使系统从头开始执行程序。现在绝大多数的单片机都支持看门狗功能,例如STC89C52、STM32等。STC89C52单片机有专门的看门狗寄存器WDT_CONTER,配置相应的位即可启动看门狗。

看门狗

复位原理

无论使用上面的哪种复位方式,其本质都是在操作RST复位引脚。用8051单片机按键复位方式的图来说明复位电路的原理。8051单片机的RST引脚只需要保持2个机器周期的高电平即可产生复位。利用电容电压不可突变的性质,适当选取电容充放电的参数(电容值、电阻值)即可达到要求。刚开始上电时,由于电容电压(0V)不能突变,所以电容两端电压为0V,RST此时的电压为VCC。电容慢慢充电,充电结束后,电容两端的电压为VCC,所以此时RST的电势为0V。电容的这一段充电时间要大于单片机的2个机器周期。

软件复位和看门狗复位方式的原理都是使RST的高电平持续时间能够维持2个机器周期。

单片机的复位

一、复位电路

刚刚接通电源的单片机内部处于不稳定的状态,CPU无法正常运转。因此,就需要进行单片机状态初始化,这就叫做复位。单片机带有复位信号输入引脚,可以将这个信号调至低电平状态后让单片机复位。也就是说通过输入复位信号来彻底叫醒单片机进入工作状态。

接下来讲解一下复位的时序(如下图)。只有在向单片机提供稳定的时钟信号和电源的状态下才能实现复位,同时需将复位信号调至低电平。为了实现这种状态,需要将相比电源上电稍迟一步上电的电路与复位输入引脚相连接。这种电路在电源上电后通过电阻电流慢慢流向电容,电压缓缓上升。因此,电源上电后经过一段时间可以形成解除复位的电 路。这种外部电路称为“上电复位电路”。

复位电路与时序

如上图所示,上电复位电路左侧的电路称为“手动按钮复位电路”。这是通过手动按下按钮后让单片机进入初始化状态的电路。

普通单片机上复位信号必须在一定时间内保持低电平。具体时间记载在硬件手册和数据手册上。必须根据这个时间的长短来确定电阻R和电容C。

二、CPU的复位操作

通过复位操作,可以使程序计数器PC回到初始值,PC中保存的是CPU将要执行的指令地址。程序计数器PC的初始值是应用程序的头地址。单片机开始运行应用程序的方式有“固定地址开始方式”和“向量方式”。在设计单片机时,决定要使用的方式。

固定地址开始方式是指从固定地址开始执行指令的方式。不同的单片机具体的地址也有所区别。如果固定地址是0,那么,就从0地址开始执行程序。向量方式是指从ROM的固定地址中,读取要执行指令的地址信息。这种ROM上的固定地址称为复位向量。操作过程是先取读复位向量的地址,然后再将该地址存入程序计数器PC。这种看起来比较繁琐,但是却具有可以自由更改初始执行指令地址的优点。

相关问答

单片机复位 方式?

单片机复位就两种方式,一个是硬件复位,一个是软件复位。硬件复位就是靠外部的硬件强行把复位管教置为低电平,例如上电的时候,还有按键。上电之所以要复位是...

单片机 复位 操作有几种方法?

单片机的复位操作有两种方法即单片机有两种复位方法:一是高电平复位,二是低电平复位。基本上所有单片机都有一个复位端口(随着单片机技术的发展,现在有些单片...

有哪几种方法使 单片机复位 ?复位后各寄存器、RAM中的状态如何?

上电复位,复位引脚复位,不管哪种复位,PC指针都指向0000H,再往后看程序做了哪些初始化程序,就知道,寄存器,RAM值了,上电复位,复位引脚复位,不管哪种复位,PC指...

怎么使 单片机 一直 复位 ?

首先需要明确,程序重头开始执行是指某一段程序(或者一个函数)重新开始执行,还是你所谓的“复位”让单片机重启?如果不是特殊需求,建议不要让单片机复位以使...

单片机复位 电路解决方法?

单片机复位电路可以采用外部电路或内部电路来实现。外部电路可以使用复位电路芯片,通过外部触发信号来使单片机复位。内部电路则是在单片机芯片内部集成了复位...

单片机 上的 复位 按钮的作用-ZOL问答

复位作用就是防止单片机出现异常和跑飞。让单片机从新启动。和电脑的重启是一样的道理1、RST,引导内部复位程序或电路。可以看到SFR的复位值。当然PC也在此...

请教一个 单片机复位 的問題-ZOL问答

单片机复位不是一个高电平或低电平就可以的,据不同的单片机,可能需要几个机器周期的的高电平或低电平,那个电容就是使电平保持一定时间的作用,利用电容的充放电...

ATMega 单片机 复位 方式有哪几种?

单片机复位就两种方式,一个是硬件复位,一个是软件复位。硬件复位就是靠外部的硬件强行把复位管教置为低电平,例如上电的时候,还有按键。上电之所以要复...

c语言独立按键控制程序 复位 ?

第一,直接使用硬件来复位,将原本要接到P3.3的电平接到硬件复位上,当然需要一定的设计第二,还是硬件,直接将此电平接到看门狗电路上第三,软件,前提是你的单...

单片机 上电 复位 过程都做些什么? 复位 时间过短会有什么影响?

单片机要复位,本质上是在其RESET脚上保持一定时间的高电平,单片机检测到这个电平保持时间大于它要求的时间就会自动复位。最简单的上电复位电路是用一个电容...

猜你喜欢