第十节:PIC系列单片机复位(RESET)
扫描二维码
随时随地手机看文章
PIC16C5X内藏有上电复位电路(POR)。在芯片上有一复位端MCLR,对于一般的应用,只要把MCLR端接在高电位(VDD)即可,因为内部复位电路会在芯片上电时自动复位,无需在MCLR端再加上电复位电路。对于某些特殊应用,则需在MCLR端加上外部上电复位电路,在§1.10.5我们会谈及这个问题。
§1.10.1 复位的条件和原因
复位可由下面事件引发产生:
a、芯片上电;
b、把芯片MCLR端置低电平;
c、看门狗(WDT)超时溢出。
§1.10.2 复位时的PIC状态
在芯片复位期间,芯片状态为:
a、振荡器处于起振准备状态;
b、所有I/O口都被置成高阻态(即输入态);
c、PC值被置为全"1";
d、OPTION被置为全"1";
e、WDT和预分频器被清零;
f、状态寄存器(F3)的程序页面位(高三位)被清零。
§1.10.3 振荡起振计时器(OST)
对于晶体/陶瓷振荡电路,上电后它们还需要一定的时间来起振或产生稳定的振荡信号,有鉴于此,PIC在其内部专门设置了一个"振荡起振计时器"OST(Oscillator Start-up Timer)。OST在MCLR端达到高电平后才开始启动计时18ms,使RESET状态保持18ms以便让振荡电路起振及稳定下来。在一般情况下,我们都将MCLR端直接在VDD(+5V)上即可。这样上电后一旦MCLR端电平升高到一定程序后OST即开始计数18ms,这段时间已足够让振荡起振,OST计满18ms后,芯片结束RESET状态,开始进入程序运行。
当WDT计时溢出后,OST也是马上启动计时18ms,保持18ms的RESET状态,然后再进行程序运行。
§1.10.4 内部上电复位路(POR)
PIC16C5X片内上电复位电路POR(Power On Reset)能使PIC芯片上电后自动会产生复位,所以一般不需要再在MCLR端加外部复位电路,只要将其接在VDD上即可。图1.16是POR的简图。
从图中我们可以看到,当上电(Power On)、或MCLR端变低,都会置位(set)"复位锁存器",使其输出复位电平让芯片处于RESET状态,这时OST也处于复位状态。当OST检测到MCLR变为高电平后即开始计时18ms,计满18ms后会复位(Reset)"复位锁存器"使其Q端输出高电平,从而使芯片结束复位状态,进入运行。
§1.10.5 外部复位电路 在某些应用情况下我们也可能需要外部复位电路。
一、手动复位开关
当你在应用中需要一个手动复位开关时,可以使用下面的电路。如图1.17。
二、低频振荡电路
当使用低频振荡(LP)时,OST的18ms不足以使其建立稳定的振荡,所以也许你需要更长的RESET 时间,这时可以用外部上电复位电路来延长复位时间。如图1.18。
图1.17 按健复位电路
注:1.二极管D使电容C能在VDD掉电时快速放电。
2. R<40KΩ,以保证其两端的电压降不大于0.2V(即IMCLR*R<0.2V,IMCLR为 MCLR
端最大输入电流)。
3. R1取100Ω~1KΩ,用来限制在静电环境,电容C充放电时的冲击电流。
使用了外部加电复位电路,其复位过程即如图1.19所示:
VDD上升到稳定值一段时间后MCLR才上升到高电平。而OST只有检测到MCLR升为高电平后才开始计时18ms,所以就可取得长于18ms的复位时间了。
§1.10.6 复位后对寄存器值的影响
对于通用寄存器来说,芯片上电复位后它们的值是随机不定的,而其他类型的复位则保持原值不变。
对于特殊功能寄存器,各种复位后它们会等于一个固定的复位值,见以下二表: