· 振荡器启动或工作,包括电源上升启动或睡眠唤醒启动。
· I/O控制寄存器设定为全“1”,使所有I/O引脚(PA0-PA3、PB0-PB7、PC0-PC7)处于高阻状态。
· 程序计数器PC设为全“1”,对于PIC16C54/55为1FFH,对于PIC16C56为3FFH,对于PIC16C57为7FFH。
· OPTION寄存器设为全“1”。
· 看门狗定时器WDT及其分频器清“0”。
· 状态寄存器f3的程序页面选择位最高位(位3)清“0”。
· 采用RC振荡器时,OSC2的CLKOUT信号保持为低电平。
[1]. 内部上电复位电路
内部上电复位电路是一个专门的电路,俗称POR(power on reset),PIC16C5X片内有POR电路,大多数情况下上电提供片内复位。一般不需要在MCLR端加上复位电路,只需将其接到VDD上即可。
上电复位电路是和振荡器启动定时器电路相结合而工作的。上电复位电路由上电检测电路、三输入或门和复位锁存器组成。振荡启动定时器OST则是由片内RC振荡器、8位异步脉冲计时器、复位锁存器和相应的门电路组成。复位电路简图参见图1所示。 上电时,上电检测电路对电源电压的上升过程进行检测,当电压到达一定阈值时的时候,上电检测电路输出上电复位信号(POR),上电复位信号会对8位异步脉冲计数器清“0”,同时对复位锁存器置“1”。复位锁存器置“1”则从Q(非)输出单片机的复位信号,让芯片处于RESET状态,8位异步脉冲计数器清“0”,使OST也处于复位状态,从“0”开始计数,在MCLR端到达高电平并打开片内RC振荡器和8位异步脉冲计数器之间的“与”门时,RC振荡信号通过“与”门到8位异步脉冲计数器,启动定时器计时,计时18ms后就会产生超时信号去对复位锁存器清“0”,复位锁存器的Q(非)输出“1”,从而完成复位操作。 保证上电复位正确的工作条件是:VDD的上升速率不低于0.05V/ms,且要从0V开始上升。在低频振荡器要求长于18ms时间来启动及稳定,片内上电复位电路不能满足要求,此时使用外接RC电路以满足较长时间的上电过程。 [2]. 外部上电复位电路 对于从启动到稳定的时间大于18ms的低频振荡器,单片机需要用外接的上电复位电路来延长复位时间,以保证正确复位。一般外接的上电复位电路采用RC电路,其结构如图2所示。 |
当VDD上电斜率太小或使用低频振荡时器时,需要较长的启动时间,需使用外部上电复位电路,图2中的D是在VDD掉电是迅速地将C上的电能放掉。 要实现正确复位,要求VDD到达最高电平后开始计算,MCLR到达高电平的时间加上启动定时器OST的计数满18ms时间应大于低频振荡器从启动到稳定所需要的时间。由于OST的周期是18ms,它是固定不能改变的,因此在VDD到达高电平后,MCLR到达高电平的时间长短会影响复位过程。利用外接RC电路就可延长MCLR到达高电平的时间,从而保证复位过程的正确。图2中,VDD达到高电平后通过R对C充电,在此期间,使MCLR有较长低电平时间。 二极管D使电容在VDD掉电时快速放电,MCLR引线最大漏电流约为5uA,R取值应小于40kΩ,使在其上的压降小于0.2V。否则漏电流在R上的压降会使MCLR上的高电平下降,在MCLR端串联电阻是限流电阻,用于限制放电时从外部电容C流入到MCLR端的电流,以防止损坏单片机。R2一般取值在100Ω-1kΩ之间即可 |