单片机复位电路基础知识解析

以下是我对单片机复位电路的理解:

1. MCU为什么要复位?

使MCU回到初始状态,从PC指针的0地址开始执行程序

2.如何复位MCU?(如何操作确保MCU复位)

要求:复位51单片机只需在9脚接高电平2个机器周期(2*12=24个时钟周期);即在2个机器周期内将单片机锁定在复位状态。(因为 MCU 只能在两个机器周期后执行复位命令)

3.上电后立即复位?(即同时上电和复位)

3.1。如何重置?

复位的两个前提是:1CPU正常工作(要知道reset命令的执行需要CPU执行),CPU正常工作

AVCC供电稳定;B:晶振启动)

2CPU检测到复位信号(即RST引脚为高电平)

3.2:晶振起振需要时间,电源稳定,所以上电后不会立即复位,但可以肯定(上电时确实存在复位信号,是一个下降过程,用5V1.5V,持续约0.1s);但是,单独有一个复位信号是没有用的。要执行复位操作,需要等待 3.1 中的第一个条件实现。如果CPU不能正常工作,就不能执行reset命令

(上电时,VCC的上升时间约为10ms,振荡器的起振时间取决于振荡频率。例如晶振频率为10MHz时,起振时间为1ms;晶振频率为1MHz时,启动时间为10ms);

综上所述,单片机RST复位信号的持续时间(约0.1s)远大于复位必要的两个机器周期(不包括上电前10ms以上的等待时间,其余时间为0.1s-10ms,单片机锁定在复位状态,单片机始终执行复位命令),这也保证了单片机能够可靠地实现复位操作

单片机复位电路基础知识解析_第1张图片

4. 单片机在复位的两个机器周期里做了什么?

主要是初始化各个寄存器,包括最重要的PC指针,不包括ram,然后MCU从复位地址开始执行程序。

5.复位过程分析

为什么开机时会重置

在电路图中,电容为10uF,电阻为10K。因此,根据公式可以计算出电容器充电到电源电压的0.7倍(单片机的电源为5V,所以充电到0.7倍为3.5V)所需的时间为10K*10uF=0.1s。换句话说,在计算机启动后的0.1s内,电容器两端的电压在0~3.5V之间增加。此时,10K电阻器两端的电压从5~1.5V降低(串联电路所有部分的电压之和为总电压)。因此,在0.1s内,RST引脚接收的电压为5V~1.5V。在5V正常工作的51单片机中,小于1.5V的电压信号为低电平信号,大于1.5V的电压信号为高电平信号。因此,MCU系统将在启动后0.1s内自动复位(RST引脚接收到的高电平信号持续约0.1s)。

为什么按下键时会重置

单片机启动0.1s后,电容器C两端的电压持续充电至5V。此时10K电阻两端电压接近0VRST处于低电平,系统工作正常。按键时,开关接通。此时,电容器两端形成电路,电容器短路。因此,在按键过程中,电容器开始在充电前释放电荷。随着时间的推移,电容器的电压在0.1s内从5V变为1.5V甚至更低。根据串联电路电压是所有部件的总和,此时10K电阻器两端的电压为3.5V甚至更高,因此RST引脚再次接收高电平。单片机系统自动复位。

 

你可能感兴趣的:(单片机,stm32,嵌入式硬件,物联网,c语言)