单片机系统的复位方式有:手动按钮复位和上电复位

电子说

1.2w人已加入

描述

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。

1、手动按钮复位

手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正电源VCC之间接一个按钮。当人为按下按钮时,则VCC的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。电路如图1-1按键复位电路。

单片机

2、上电复位

AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至VCC端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1?F。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着VCC对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。

为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,VCC的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。

在图2的复位电路中,当VCC掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。 单片机与上点复位电路如图1-2所示。

单片机

3、积分型上电复位

常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 积分电路如图1-3所示

4、参数设置

根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。C=1uF,R1=1k,R2=10k

单片机

5、proteus中仿真的现象

很多玩proteus的在仿真中都发现复位电路没法用,出现的问题确实和仿真器本身有关系,按键复位电路用的比较多,但是仿真却出现问题了。我弄来弄去发现一个有趣的问题:在4参数设置中说了参考典型值,但仿真中就有问题了见下面几幅图对比下可以看出问题。完全按照图1-1 按键复位电路仿真。结果如图1-4 按键复位电路仿真1所示。

单片机

开始仿真,RST复位端的电压值始终都是高电平,这样的结果肯定是无法完成任务的。但实际中却是正确的。将图1-4中的R93去掉然后再仿真,仿真结果和上去一样。如图1-5按键复位电路仿真2所示。

单片机

再将图1-5中的R94的电阻值减小为1k,仿真结果就有变化了。如图1-6按键复位电路仿真3所示。RST的状态变为了不确定状态,按下按键后会成为高电平,感觉像是可以工作了,但是真实情况不是,仿真中按下复位按键对系统没有影响,单片机不会产生复位。

单片机

再将R94改为510欧姆,仿真结果如图1-7所示。

单片机

在初始化系,RST复位端是低电平了,测试下,在按下按键后,系统能正常复位。网上看到很多朋友都遇到这个问题,我发现这个问题后,和大家分享一下,希望对大家有帮助。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分