单片机的复位
一、复位电路刚刚接通电源的单片机内部处于不稳定的状态,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个机器周期。
相关问答
51 单片机复位 后, PC 指向什么ROM地址?复位后,无论访问内部或外部程序存储器,将从其物理地址0000H开始(即PC=0000H)EA/Vpp引脚接高电平,复位后,从片内程序存储器0000H开始,(若EA/Vpp不作处理,也...
请叙述程序计数器 pc 的作用. 单片机复位 后 pc 的值为多少?程序计数器(PC)指向当前指令,比如你的代码有10条指令,现在正在运行第三条指令,那么PC就是3,如果是没有跳转的话PC加一就可以获取到下一条指令。所以单片机...
8031 单片机复位 时程序指针 PC 的值是多少?都是指针。PC:0000H。用于取指。SP:07H。用于保存数据。都是指针。PC:0000H。用于取指。SP:07H。用于保存数据。
单片机 的按键开启和 复位 电路图-ZOL问答单片机的复位有上电复位和按钮手动复位两种。如图(a)所示为上电复位电路,图(b)所示为上电按键复位电路。上电复位是利用电容充电来实现的,即上电瞬间RST端的电...
单片机复位 后 pc 值为多少?单片机复位分为硬件复位和软件复位,硬件复位时,PC值为0000H,也就是程序存储器ROM的起始地址。软件复位的目的一般是在线编程,复位时,PC将指向单片机的ISP区...
单片机 的 复位 方法有几种-ZOL问答单片机复位的方法有看门口溢出复位、复位脚低电平复位(51单片机为高电平复位)、VDD低电压导致单片机复位、上电复位。上面电路属於RST高电平复位51单片机是高...
【 单片机 题目一套7.中断查询确认后,在下列各种8031 单片机 运...[最佳回答]7.中断查询确认后,在下列各种8031单片机运行情况中,能立即进行响应的是:(D)A.当前正在执行高优先级中断处理B.当前正在执行RETI指令C.当前指令...
单片机 按键 复位 电容有什么作用? - 懂得手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直...
51 单片机复位 后各寄存器状态是怎样的?1、一般数据手册上对寄存器的描述都会有给出默认值或直接描述上电或复位后的值,默认值就是复位后的寄存器的值。2、是从STC89C51RC单片机的DataSheet中截图...
80c51各中断标志如何 复位 ?80C51有5个中断源,80C52有六个中断源,各入口地址0003H-000AH外部中断0中断地址区000BH-0012H定时器/计数器0中断中断地址区0013H--001AH外部中断1中断...