单片机的三种复位方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机的三种复位方式相关的知识,希望对你有一定的参考价值。

一、高电平复位

复位电路的工作原理 在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。

(1)、上电复位

电容的的大小是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的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。

(2) 按键复位

在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。

总结: 1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。 2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。

二、低电平复位

在使用STM32芯片时,常用的复位方式为按键复位,且为低电平复位。其原理与上述高电平复位相反,分析也挺简单,这里不在赘述,只给出按键复位原理
单片机的复位引脚RST(全称RESET)出现2个机器周期以上的复位电平时,单片机就执行复位操作。如果RST持续为复位电平,单片机就处于循环复位状态。当单片机处于正常电平时就正常转入执行程序。

当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为低电平,之后随着时间推移电源通过电阻对电容充电,充满电时RST为高电平。正常工作为高电平,低电平复位。即上电低电平,然后转向高电平。当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST为低电平。正常工作为低电平,高电平复位。
参考技术A 一般单片机都有上电复位和外部复位方式,有些单片机还有看门狗复位方式。

RST复位报文

复位报文段:

一些特殊情况,TCP一端向另一端发送复位报文,以通知对方关闭链接或者重新建立链接。

产生复位报文的三种情况:

1. 当客户端访问一个不存在的端口时,目标主机会给客户端发送一个复位报文段。

并且该复位报文是不可回复的,因为他在头部告诉客户端,服务器这边的接收窗口为0.

 // connectio refuse   端口不存在  拒绝链接

所以收到复位报文段的一方应该关闭链接或者重新建立链接。

实际上,客户端向一个正在处于TIME_WAIT状态的服务器端发起连接,也会收到一个复位报文

2. 正常情况下双方数据交换完成后,客户端会发送FIN来结束链接

   TCP提供了一种异常方式来终止连接,就是给对方发送一个复位报文段,然后发送端的所有排队等发送的数据全部丢弃

3. 如服务器端由于网络故障或者电源关闭等异常和客户端异常中断了链接,但是客户端还维持着原来的链接,就算服务器重启,该链接的信息早就被服务器遗忘。(半打开状态)

如果此时客户端向半打开状态的链接发送数据,将收到对方回应的一个复位报文。

以上是关于单片机的三种复位方式的主要内容,如果未能解决你的问题,请参考以下文章

MCS-51单片机复位后,第一次压入到堆栈操作的数据被保存到_地址单元

点亮LED

关于STM32的复位电路?

FPGA 如果没有外部复位,如何产生复位信号,用来复位状态机,或者复位寄存器初值

Pioneer开发板--初识STM32/CH32

单片机复位5问