复位原理:
开机的时候为什么为复位在电路图中,电容的的大小是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左右)。
按键按下的时候为什么会复位在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。
总结:
1、复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位,所以电路中的电容值是可以改变的。
2、按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加引起的。
单片机上电复位电路图(一)
下面几种延时复位电路,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。典型复位电路如图(a)所示,其中的阻容值是原始手册中提供的。图(b)是简化后的复位电路,图(c)在图(a)的基础上加上一个二极管D,有助于电容C的快速放电,为下一次上电复位延时做准备。在经历了一系列延时之后,单片机才开始按照时钟源的工作频率,进入到正常的程序运行状态。
单片机上电复位电路图(二)
复位电路由按键复位和上电复位两部分组成。
(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。
(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。
单片机上电复位电路图(三)
单片机上电复位电路如图3所示,请回答下列问题:
(1) 该复位电路适用于高电平复位还是低电平复位?
(2) 试述复位原理,画出上电时Vc的波形;
(3) 试述二极管D的作用。
图3 RC复位电路
答案:(1)低电平复位。
(2)在图3中,CPU上电时,但由于电容C两端的电压VC不能突变,因此VC保持低电平。但随着电容C的充电,VC不断上升,上升曲线如图4所示。只要选择合适的R和C,VC就可以在CPU复位电压以下持续足够的时间使CPU复位。复位之后,VC上升至电源电压,CPU开始正常工作。相当于在CPU上电时,自动产生了一个一定宽度的低电平脉冲信号,使CPU复位。
图4 RC充放电曲线
(3) 当电源电压消失时,二极管D为电容C提供一个迅速放电的回路,使/RESET端迅速回零,以便下次上电时CPU能可靠复位。
这是一个非常重要的知识点,如果CPU的复位电路设计得不合理将会导致CPU严重死机,并且影响与CPU有关的外围器件的稳定性,比如存储器上电丢失数据。
单片机上电复位电路图(四)
(1)复位电路原理图:
(2)原理:
复位条件:RST引脚高电平(大于1.5v)时间大于0.1s后复位
两种复位的原理:
a:开机时复位原理
单片机接上电源后,电容会开始充电,两边的电压会从0v上升到5v,同时电阻两边的电压(RST引脚电压)会从5v下降到0v。电容两边电压从0v上升到3.5v(电源电压的0.7倍)所用的时间为10k*10uF=0.1s,在这0.1s内引脚为高电平,之后就会一直是低电平。开机因为满足复位条件,所以单片机复位。
b:复位按钮复位
假如按住复位按钮的时间是0.1s,则电容两边电压会从5v下降到1.5v。之后因为按钮松开段路,电容又从1.5v上升到5v。只要电容电压小于3.5v,RST引脚便是高电平,所以理论上只要开关闭合0.1s,就足够使单片机复位了。
单片机上电复位电路图(五)复位电路设计
AT89S51的复位是由外部的复位电路实现的。AT89S51片内复位电路结构如图2-17所示。
复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声,在每个机器周期的S5P2:施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
最简单的上电自动复位电路如图2-18所示。对于CMOS型单片机,由于在RST引脚内部有一个下拉电阻,故可将电阻R去掉,而将电容C选为10 μF。
上电自动复位是通过外部复位电路给电容C充电加至RST引脚一个短的高电平信号,此信号随着VCC对电容C的充电过程而逐渐回落,即RST引脚上的高电平持续时间取决于电容C的充电时间。因此为保证系统能可靠地复位,RST引脚上的高电平必须维持足够长的时间。
除了上电复位外,有时还需要按键手动复位。按键手动复位有电平和脉冲两种方式。
按键手动电平复位是通过RST端经电阻与电源Vcc接通来实现,具体电路如图2-19所示。当时钟频率选用6 MHz时,C的典型取值为10μF,R取值为2kΩ。
脉冲复位是利用RC微分电路产生的正脉冲来实现的,脉冲复位电路如图2-20所示。图中的阻容参数适于6 MHz时钟。
图2-21所示电路能输出高、低两种电平的复位控制信号,以适应外围I/O接口芯片所要求的不同复位电平信号。图2-21中,74LS122为单稳电路。实验表明,电容C选择约为0.1μF较好。
在实际应用系统设计中,若有外部扩展的I/O接口电路也需初始复位,如果它们的复位端和AT89S51的复位端相连,复位电路中的R、C参数要受到影响,这时复位电路中的R、C参数要统一考虑,以保证可靠复位。如果AT89S51与外围I/O接口电路的复位电路和复位时间不完全一致,使单片机初始化程序不能正常运行,外围I/O接口电路的复位也可以不与AT89S51复位端相连,采用独立的上电复位电路。若RC上电复位电路接施密特电路输入端,施密特电路输出接AT89S51和外围电路复位端,则能使系统可靠地同步复位。一般来说,单片机的复位速度比外围I/O接口电路快些。为保证系统可靠复位,在初始化程序中应安排一定的复位延迟时间。
单片机上电复位电路图(六)
积分型上电复位
常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。
图3中:C:=1uF,Rl=lk,R2=10k
专用芯片复位电路
上电复位电路 在控制系统中的作用是启动单片机开始工作。但在电源上电以及在正常工作时电压异常或干扰时,电源会有一些不稳定的因素,为单片机工作的稳定性可能带来严重的影响。因此,在电源上电时延时输出给芯片输出一复位信号。上复位电路另一个作用是,*正常工作时电源电压。若电源有异常则会进行强制复位。复位输出脚输出低电平需要持续三个(12/fc s)或者更多的指令周期,复位程序开始初始化芯片内部的初始状态。等待接受输入信号(若如遥控器的信号等)。
上电复位电路原理分析
5V电源通过MC34064的2脚输入,1脚便可输出一个上升沿,触发芯片的复位脚。电解电容C13是调节复位延时时间的。当电源关断时,电解电容C13上的残留电荷通过D13和MC34064内部电路构成回路,释放掉电荷。以备下次复位启用。
单片机上电复位电路图(七)
比较器型复位电路
比较器型复位电路的基本原理如图8所示。上电复位时,由于组成了一个RC低通网络,所以比较器的正相输入端的电压比负相端输入电压延迟一定时间。而比较器的负相端网络的时间常数远远小于正相端RC网络的时间常数,因此在正端电压还没有超过负端电压时,比较器输出低电平,经反相器后产生高电平。复位脉冲的宽度主要取决于正常电压上升的速度。由于负端电压放电回路时间常数较大,因此对电源电压的波动不敏感。但是容易产生以下二种不利现象:(1)电源二次开关间隔太短时,复位不可靠;(2)当电源电压中有浪涌现象时,可能在浪涌消失后不能产生复位脉冲。为此,将改进比较器重定电路,如图9所示。这个改进电路可以消除第一种现象,并减少第二种现象的产生。为了彻底消除这二种现象,可以利用数字逻辑的方法与比较器配合,设计如图9所示的比较器重定电路。此电路稍加改进即可作为上电复位与看门狗复位电路共同复位的电路,大大提高了复位的可靠性。
改进型比较器型复位电路
单片机上电复位电路图(八):手动按钮复位
手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
单片机上电复位电路图(九):看门狗型复位电路
看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。典型应用的Watchdog复位电路如图7所示。此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。一般设计,将此段程序放在定时器中断服务子程序中。然而,有时这种设计仍然会引起程序走飞或工作不正常。原因主要是:当程序“走飞”发生时定时器初始化以及开中断之后的话,这种“走飞”情况就有可能不能由Watchdog复位电路校正回来。因为定时器中断一真在产生,即使程序不正常,Watchdog也能被正常复位。为此提出定时器加预设的设计方法。即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句。在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替。这样,当程序走飞后,其进入陷阱的可能性将大大增加。而一旦进入陷阱,定时器停止工作并且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位。当然这种技术用于实时性较强的控制或处理软件中有一定的困难。