单芯片微控制器有两种复位模式:一种是高电平复位,另一种是低电平复位。基本上,所有的单片机都有一个复位口(随着单片机技术的发展,现在一些微片机内部集成了复位电路,因此其复位口可以与I/O口复用)。简单来说,就是对单片机的复位口施加高电平(或低电平)一段时间,单片机就可以完成初始化过程,从头开始执行程序。这个时间称为复位时间,一般单片机的复位时间很短,但是每种类型的单片机的复位时间是不一样的,这就需要查阅相应单片机的数据表来获取单片机的复位时间。需要注意的是,单片机复位后,在单片机正常工作时,需要将单片机的电平施加到单片机的复位口,例如,对于低电平复位电路,复位后,复位口应处于高电平状态。
温馨提示:对于单片机是高级还是低级复位,我们可以通过观察单片机的引脚图做出直观的判断,当单片机引脚图中复位端口名称上方有“-”时,单片机为低级复位,而当没有“-”时,单片机为高级复位, 例如,单片机端口名是RST,则为高级复位,而为/RST(/为上行)时,为低级复位
正如我们刚才所说,现在有许多微控制器内部集成了复位电路。那么我们在设计这个单片机电路的时候,就不需要单独设计复位电路了。
以下是一些常见的复位电路。
1.上电复位电路
单片机的复位是有高电平复位和低电平复位的区别,所以自然有高电平复位电路和低电平复位电路两种。
图1 上电复位电路
图1左侧的电路是高电平复位电路。
该电路是利用电容的电荷实现复位,当接通电源时,单片机复位端的电位与VCC相同,随着充电电流的减小,复位端的电位逐渐减小。在电容器充满电之前,复位端子的电压变为低电平。
电路中的R和C值可以根据以下公式计算,其中T是复位时间。
T=(1/9)*R1*C1
图1右侧的电路为低电平复位电路
该电路的复位原理与高级复位电路相反,因此在此就不多说了。
同样,低电平复位电路中的R和C值可以从以下公式计算,其中T是复位时间。
T=9*遥控
2.按钮复位电路
前面介绍的上电复位电路,只有在单片机电电路通电后才能自动完成高电平复位或低电平复位,但是如果单片机处于单片机运行过程中,应该怎么做才能强制单片机复位呢?最简单的方法是按下按键实现:按下按钮,单片机立即停止当前正在执行的操作,进入复位状态,然后从头开始运行。
图2所示为左侧的高级按钮复位电路和右侧的低级按钮复位电路。
图2 按钮复位电路
对于高电平复位电路,当按下复位按钮时,将复位端子直接拉到高电平,使单片机复位。对于低电平复位电路,按下复位按钮后,将复位端子直接拉到接地端子上,对单片机进行复位。
3.改进的按键复位电路
上述按键复位电路有一个缺点:当电源因某种干扰而瞬间断电时,由于C不能快速放电,当电源恢复时,单片机无法上电自动复位,导致程序运行失控。瞬时断电干扰会导致程序停止正常运行,形成程序“飞来飞去”或进入“死回路”。
因此,在下一个中,添加了一个带有二极管的复位电路。如图 3 所示。
图3 改进的按键复位电路
如果你有这个二极管,你可以快速释放电容器上的电压,并确保复位信号是正确的。为下一次重置做准备也很快。
4.专用复位芯片
随着单片机系统越来越复杂,应用环境越来越多样化,单纯的RC复位电路已经无法保证单片机的正确复位,复位芯片应运而生。下图是复位芯片的应用电路。如您所见,复位芯片使用起来非常简单。
图4 复位芯片应用电路
图5 复位芯片应用电路