
时钟电路与时序.doc
3页时钟电路与时序MCS — 51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚 XTALI和XTAL2分别是反相放大器的输入端和输出端,由这个放大器与作为反馈元件的片外晶体 或陶瓷谐振器一起构成了一个自激振荡器,如图 2—9所示这种方式形成的时钟信号称为内部时钟方式XTAL2至内邹I时钟电路图时钟振荡电路利用芯片内部的振荡电路,在 XTAL1和XTAL2两端跨接晶体(或陶瓷)振荡器和两个电容就构成丁一个稳定的 自激振荡器晶体振荡频率可在 1. 2MH2 — 12MH2之间选择电容值无严格要求,但其取值对振荡频率输出的稳定 性、大小、振荡电路起振速度稍有影响, C1,C2可在20pF —1OOPF之间取值一般当外接晶体时,电容选为 30PF 土10pF;外接陶瓷振荡器时选 40pF+10pF此外,单片机的时钟还可以采用外部方式所谓外部时 钟方式,是指利用外部振荡信号源直接接人 XTALI或XTAL2由于HMOS和CHMOS单片机内部时钟进入的引脚不同, CHMOS型由XTALI 进入,HMOS型由XTAL2进入,因此外部振荡信号源接人的方法也不同国 2 —10为HMOS型单片机接法,图 2 —11为CHMOS型单片机接法。
对HMOs型单片机,外部振荡信号接至 XTAL2端,即内部时钟发生器的输入端,而内部反相放大器的输入端 x 丁 ALl应接地由于 XTAL2端的逻辑电平不是 TTL电平,故应 外接一个上接电阻对CHMOS型单片机,内部时钟引入端取自反相放大器的输入端,因此在采用外部时 钟时,外部时钟信号接至 xTAI 1端,而XTAL2端悬空外接振荡信号源方式常用于多块芯片同时工作, 以便予同步注意,外接的脉冲信号应是高、低电乎持续时间大于 20ns的方波,且脉冲频率应低于 12MH2 二、有关cPu时序的概念计算机在执行指令时, 一条指令经译码后产生若干个基本的微操作, 这些微操作所对应的脉冲信号在时间上的先后次序称为计算机的时序下面介绍有关 cPu时序的几个概念L振荡周期指为单片机提供定时信号的振荡源的周期期2 •时钟周期也称为状态周期,用5表示时钟周期是计算机中最基本的时间单位, 在一个时钟周期内,cPu完成一个员基本的动作 Mcs — 51单片机中一个时钟周期为振荡周期的 2倍3 •机器周期为便于管理,常把一个指令的执行过程划分为若干个阶段, 每一阶段完成一’个基本操作,例如,取指令、存储器读、存储器写等。
完成一个基本操作所需要的时间称为机器周期MCS — 51的一个机器周期含有 6个时钟周期4 •指令周期完成一条指令所需要的时间称为指令周期 Mcs—51的指令周期合1 — 4个机器周期不等,其中多数为单周期指令,还有 2周期和4周期指令4周期指令只有乘、除两条指令不论是内部时钟还是外部时钟,均需经过内部时钟发生器 (一‘个二分频触发器)而成为内部时钟信号,它向单片机提供了一个二节拍时钟信导,在每个时钟的前半周期,节拍 I信号P1有效’后半周期,节拍 2信号P2有效,如图2 —12所示如前所述,MCs — 51指令的每个机器周期包含六个时钟周期 (用s表示),每个时钟周期由节拍信号F1和节拍信号P2组成每个节拍持续一个振荡周期因此,一个机器周期包 含S1P1 一 S6P 2共6个状态的12个振荡周期图2—13列举T几种典型指令的取指和执行时序在每个机器周期里,地址锁存允许 信号ALK两次有效Atmel第一次出现在 S1P2和S2P1期间,第二次出现在 S4P2和S 5P1 期间在操作码被锁存到指令寄存器时,单周期指令从 S1P2开始执行,如果是双字节指令,在同一机器周期的s4期间毖人第二字节;如果是单字节指令,则在 s4仍有读操作,但读入的字节(下一个操作码)是无效的,且程序计数器不加 I。
在任何情况下,当 S6P2结束时都会 完成操作因 2— 13(a)和(b)分别是单字节单周期和双字节单周期指令的时序图 2— 13(c)为单字节双周期指令的时序,在 2个机器周期内发生 4次读操作码的操作,由于是单字节指令,后3次读操作都是无效的Atmel代理图2— 13(d)给出了访问外部数据存储器指令 MOVX的时序,它是一条单字节双周期指令,在第一个机器周期的 S5开始时,送出外部数据存储器地址,在S6P2开始读/写数据读写期间ALE端不输出有效信号在第二机器周期(即外部数据存储 器已赖寻址和选通后)也不产生取指操作从时序上讲,算术和逻辑操作一般发生在节拍 1期间,片内寄存器之间的数据传送操作发生在节拍2期间wxq$#。
