1、 34 CPU时序时序 805l芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器及输入端为XTAL1,输出端为XTAL2,分别为8051的引脚19和18。在XTAL1和XTAL2两端跨接石英晶体及两个电容就构成了稳定的自激振荡器。电容器Cl和C2通常都取30pF左右,对振荡频率有微调作用。振荡频率范围是1212MH2。 l8051也可使用外部振荡脉冲信号,由XTAl2端引脚输入,直接送至内部时钟电路。因为XTAL2的逻辑电平与TTL电平不兼容,所以应接一个上拉电阻(51k)。l 对于CHMOS型80c51单片机,外部脉冲信号须从XTALl端引脚输入,XTAL2端悬空。 l外部振荡脉冲
2、源方式常用于多片8051同时工作,以便于同步。l 时钟发生器是一个二分频触发器电路,它将振荡器的信号频率fosc除以2,向CPU提供了两相时钟信号Pl和P2。l时钟信号的周期称为机器状态时间S(state),它是振荡周期的2倍。l在每个时钟周期(即机器状态时间S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。l每个时钟周期(以后常称状态S)有两个节拍(相)P1和P2,CPU就以两相时钟Pl和P2为基本节拍指挥8051单片机各个部件协调地工作。 l 计算机的一条指令由若干个字节组成。执行一条指令需要多长时间则以机器周期为单位。l所谓一个机器周期是指CPU访
3、问存储器一次所需要的时间。 例如取指令、读存储器、写存储器等等。 MCS51的一个机器周期包括12个振荡周期,分为六个S状态:S1一S6。而每个状态又分为两拍,称为P1和P2。l因此,一个机器周期中的12个振荡周期表示为SlPl、SlP2、S2Pl,S6P2。 若采用6MHz晶体振荡器,则每个机器周期恰为2us。 l每条指令都由一个或几个机器周期组成。在MCS51系统中,有单周期指令、双周期指令和四周期指令。四周期指令只有乘、除两条指令,其余都是单周期或双周期指令。 l 每一条指令的执行都可以包括取指和执行两个阶段。l在取指阶段,CPU从内部或者外部ROM中取出指令操作码及操作数,然后再执行这
4、条指令的逻辑功能。 l在8051指令系统中,其指令可由单字节、双字节和三字节组成。l从机器执行指令的速度看,单字节和双字节指令都可能是单周期或双周期,l而三字节指令都是双周期,l只有乘、除指令占四个周期。l执行条指令的时间(指令周期)分别为2us、4us和8us。l (采用6MHz晶体振荡器)l单周期指令的执行始于S1P2,此时操作码被锁存于指令寄存器内。l若是双字节指令,则同一机器周期的S4读第2个字节。l如果是单字节指令,在S4仍作读操作,但无效,且程序计数器PC不加1。l图分别给出了单字节单周期和双字节单周期指令的时序,都在S6P2结束时完成执行指令的操作。 lHMOS型805l的复位结
5、构见图。l复位引脚RST通过片内一个斯密特触发器与片内复位电路相连。斯密特触发器用来脉冲整形及抑制噪声,其输出在每个机器周期的S5P2时被复位电路采样一次。如果输出2个机器周期(24个振荡周期)的高电平的正脉冲,805l便执行内部复位。 l8051一般上电就复位,振荡器及时钟发生器也同时开始工作,CPU的工作时序就从此开始了 l复位后,PC内容为0000H,使单片机从起始地址0000H单元开始执行程序。 l单片机的复位方式有上电复位和按键手动复位两种。l复位电路中的电阻、电容数值的设置,是要保证在RST引脚处至少保持2个机器周期(24个振荡周期)的高电平而完成复位过程的,也就是在斯密特触发器的输入端维持在最低阈值电压以上足够长时间,使斯密特触发器产生一个正脉冲。 l上电瞬间,RST端的电位与Vcc相同,随着充电电流的减小,RST端的电位逐渐下降,只要在RST处有时间足够长的阂值以上的电压时就能可靠复位。l图中参数适宜6MHz晶振。 l该电路是上述电复位电路另加一个200电阻和手动开关组成。l实际上该电路是上电复位兼按键手动复位电路。当开关常开时,l上电复位:当常开按键闭合时,相当于RST端通过电阻与Vcc电源接通,提供足够宽度的阂值电压完成复位。l此电路为实用电路。