复位就是指通过某种手段使单片机内部某些资源一种固定的初始状态,以确保单片机每次复位后都能在某一固定的环境中从某一固定的入口地址处开始运行,8051复位后片内各特殊功能寄存器状态如下:
PC内容为0000H,使单片机从起始地址0000H开始执行程序。所以单片机运行出错或进入死循环,可以按复位键重启。
ACC内容为00H。
PSW内容为00H,意义为复位后,上次运算没有产生进位或借位,也没有产生半进位或半借位,工作寄存器组R0—R7定位在内部RAM的00-07单元,上次运算没有溢出,累加器中“1”的个数为偶数。
SP内容为07H,意义为堆栈指针SP指向内部数据存储器的07单元,即堆栈从08单元开始。
DPTR为0000HO-P3内容为FFH;IP的第六位为0,高六位的值不变;IE次高位即位6的值不定,其于位全为0;TMDO内容为00;TCON内容为00;TLO内容为00;THO内容为00;TL1内容为00;TH1内容为00;SCON内容为00CON的位六位五位四位内容不变,其余位都为0除以上寄存器外,其余的数据寄存器内容都为随机数。
8051复位电路一般来说,复位有两种方式,一种是硬件电路,一种是软件电路,8051单片机只提供硬件复位方式,没有提供软件复位指令,所以,8051中的软件复位只能通过其他手段来实现。比如,利用堆栈实现,关于软件复位我们在抗干扰技术上讲述。下面我们介绍8051的硬件复位,8051的硬件复位由片内复位检测电路和片外检测电路。
片内复位检测电路的作用是不断的检测复位引脚RST,当发现引脚上出现持续时间大于24个钟脉冲,即两个机器周期的高电平时,就自动对8051进行复位。
片外复位电路一般有上电复位和带按键的上电复位两种。
我们来看看带按键的上电复位电路的工作过程:
该电路由一只电容,两只电阻和一只常用开按钮组成。
当按钮常开时,为上电复位;系统加电前,电容两端电压为0,系统加电后,由于电容两端电压不能跳变,所以电容两端的电压仍旧为0,即引脚RST出现高电平,随后,电容开始充电,电容上的电压从0开始上升,引脚RST上的电位开始回落,经过一段时间,引脚RST被电容充电拉为低电平,这样,在引脚RST上就产生一个一定宽度的正脉冲,只要电容C和电阻R2的参数选择合适,这个正脉冲的宽度就能达到8051复为脉冲的要求,即大于两个机器周期。
当常开按钮闭合时,相当于RST端通过电阻与VCC电源接通,提供足够宽度的或值电压完成复位。单片机上复位后,振荡器及时钟发生器也同时开始工作,CPU的工作时序从此开始了。 |