常见的单片机复位方式及其原理分析
为确保设计出的电路系统稳定可靠的工作,必须在电路中加入复位电路——将电路恢复到初始状态。类似于我们使用的电脑,一旦我们电脑死机或发生其他问题,我们会利用重启按钮重启我们的电脑。复位电路亦是如此,一旦我们按下复位按键,复位电路就会将系统恢复到初始状态。复位电路的一般组成是电容和电阻组合形式,少部分会用到三极管。
复位方式
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个机器周期。
单片机基础入门:什么是上电复位,复位电路怎么设计
本文由头条号:玩转嵌入式原创,请勿转载。感谢支持。
前边的文章《单片机技巧:快速入门有诀窍,先从最小系统开始入手,事半功倍》里讲解了单片机的最小系统,单片机想要正常工作,电源电路、晶振电路、下载电路、复位电路等是必不可少的。今天来详细讲解一下复位电路。
什么是单片机的上电复位
众所周知,单片机属于数字电路,数字电路里只有0(低电平)和1(高电平)之分,单片机要么是高电平复位,要么是低电平复位。以5V单片机为例,上电的过程其实是一个缓慢爬坡的过程,这个过程要几个微秒或几个毫秒,爬坡时单片机不能正常工作,需要复位电路延时到电压稳定后才开始正常执行程序,这就叫上电复位。
单片机系统
单片机高电平复位
51单片机是高电平复位的,在其RST引脚施加几个周期的高电平即可实现51单片机的复位,让其程序从头执行。
51单片机高电平复位电路
由于电容两端的电压不会发生突变,在上电瞬间复位引脚上是高电平,随着电容的放电过程,复位引脚上的电压逐渐降低,单片机开始正常工作。由此实现51单片机的上电复位。其上电复位的过程如下图所示。
高电平复位引脚电压曲线
单片机低电平复位
STM32的单片机,如Cortex-M3内核的单片机是低电平复位的单片机,在上电瞬间,引脚上低电平,随着电容的充电过程,单片机复位引脚上的电压逐渐上升,单片机正常工作。由此实现单片机的上电复位过程。单片机的低电平复位电路如下图所示。
单片机低电平复位电路
低电平复位引脚曲线如下图所示,在上电瞬间可见是一个低电平。
低电平复位引脚曲线
从复位电路可以看出,电容在哪一侧就是什么电平的复位。
单片机的软件复位
以上高低电平的复位都叫硬件复位,除此之外,单片机还有软件复位。最常见的形式就是看门狗,单片机每隔一段时间去喂狗,看门狗就不会复位,当长时间不喂狗后,软件复位。
文本由玩转嵌入式原创,请勿转载,感谢支持。
相关问答
c语言独立按键控制程序 复位 ?第一,直接使用硬件来复位,将原本要接到P3.3的电平接到硬件复位上,当然需要一定的设计第二,还是硬件,直接将此电平接到看门狗电路上第三,软件,前提是你的单...
单片机 硬件复位和 软件复位的 区别?硬件复位是由外部硬件造成的单片机复位。如低电压复位、上电复位、断电复位等。软件复位,是由编程程序需要时候,通过软件来控制的单片机复位。一个是外部原因...
有哪几种方法使 单片机复位 ?复位后各寄存器、RAM中的状态如何?上电复位,复位引脚复位,不管哪种复位,PC指针都指向0000H,再往后看程序做了哪些初始化程序,就知道,寄存器,RAM值了,上电复位,复位引脚复位,不管哪种复位,PC指...
51 单片机 常用的 复位 方法?答51单片机常用的复位方法有四种:1.上电制动复位,只要电源的的上升时间不超过1ms,就可以实现自动上电复位2按键电平复位,复位信号保持时间大于2个机器周期。...
因为 单片机 有 复位 键,那这个 复位 键的作用是什么?CPU的Reset引脚是硬件复位的,复位键是手工加一个复位脉冲到Reset脚,执行硬件复位,不需要软件管。复位后按照CPU硬件规定的地址开始执行程序,如51是从程序地...
单片机的 按键开启和 复位 电路图-ZOL问答单片机的复位有上电复位和按钮手动复位两种。如图(a)所示为上电复位电路,图(b)所示为上电按键复位电路。上电复位是利用电容充电来实现的,即上电瞬间RST端的电...
keil 复位 命令?Keil复位命令是一种将微控制器或单片机系统从非正常状态下重新启动的命令。该命令可以通过软件或硬件方式实现。软件复位命令通常是通过将特定寄存器中的位设...
单片机复位 电路 复位时间的计算方法-ZOL问答这个得看你的电源是多少。现在假设你的单片机的输出电阻为RO,电源为VDD,复位电路的电阻和电容分别为R和C。时间常数为(RO+R)C公式如下,Vrst为电容上的电压电...
单片机 自动重启的原因有哪些?1、单片机硬件复位,这个要检查硬件电路中的复位电路是不是有错误2、单片机程序中有代码造成软件复位3、单片机在不断上电断电循环过程造成不断复位你先检...
单片机复位 用什么字母表示?单片机复位用RST表示单片机复位用RST表示