产品选型

单片机复位方法 单片机的复位

小编 2024-11-25 产品选型 23 0

单片机的复位

一、复位电路

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

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

复位电路与时序

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

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

二、CPU的复位操作

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

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

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

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

复位方式

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个机器周期。

相关问答

单片机复位 方式?

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

单片机 复位方法 有几种-ZOL问答

单片机复位的方法有看门口溢出复位、复位脚低电平复位(51单片机为高电平复位)、VDD低电压导致单片机复位、上电复位。上面电路属於RST高电平复位51单片机是高...

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

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

单片机 按键 复位 程序怎么写?

硬复位:用按键把单片机的复位脚(或电源)短接到地;软复位:1.把按键功能做成IO电平变化中断,进中断入口后,人为让程序跳转到程序初始化,起到复位的效果...硬...

单片机复位 条件?

1.51单片机复位的条件为保证RST引脚出现的高电平持续两个机器周期以上的时间。2.51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的...

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

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

怎么使 单片机 一直 复位 ?

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

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

有哪几种方法使单片机复位?复位后各寄存器、RAM中的状态怎么?讨论回答(5)常见的复位方式有上电复位、手动复位、硬件电路复位等……不知道你说的单片机是哪种...

51 单片机复位方法 ?

复位方式有两种。1.上电复位:上电后,电容两端电压不能突变,VCC通过复位电容(10μF电解)给单片机复位脚施加高电平5V,同时,通过10KΩ电阻向电容器充电,...复...

51 单片机 复位 方式有几种?

51单片机的复位有硬件复位和软件复位两种方式。硬件复位是靠单片机外部或内部电路强行拉高RST引脚完成复位,常见的方式有RC复位、看门狗复位、低电压检测复位...

猜你喜欢