2.3振荡器、时钟电路和CPU时序 (1)时钟电路用于产生单片机工作所需要的时钟信号。 (2)时序所研究的是指令执行中各个信号的相互关系。 (3)单片机本身就是一个复杂的同步时序电路,为了保证同步工作 方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工 作。 一、时钟电路 在MCS-51芯片内部有一个高增益反相放大器构成内部自激振 荡电路,其输入端为芯片引脚XTAL1(19),其输出端为引脚XTAL2 (18)。MCS-51的振荡电路有以下两种形式。 1、内部时钟方式 在XTAL1和XTAL2之间跨接晶体振荡器和微调电容,组成并联谐振 电路,构成稳定的自激振荡器,晶体振荡器的振荡频率决定单片机的 时钟频率。(P20图2-11a) 一般地,电容C1和C2取5一30pF左右,晶体的振荡频率 805 范围是1.2一12MHz。品体振荡频率高,则系统的时钟 频率也高,单片机运行速度也就快。MCS-51在 通常应用情况下,使用振荡频率为6MHz或12MHz XTAL.2 伞内时钟电略 2、外部时钟方式 在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步, 应当引入惟一的公用外部脉冲信号作为各单片机的振荡脉冲。这时, 外部的脉冲信号是经XTAL2引脚注入(是振荡器的输出,内部需要时 钟电路的输入),(P20图2一11b)
二、MCS-51单片机的时序 1、时钟的概念 单片机一启动,就在执行如下的循环 取指令一分析指令→执行指令 为了对指令的执行有一个正确的理解,需要理解单片机的时序。 时序是用定时来说明的。MCS-51的时序定时单位共有4个,从小到 大依次是:时钟周期、状态周期、机器周期和指令周期 时钟周期、状态周期 时钟周期:振荡电路的振荡周期,其值由外接晶体或外输入时钟 来决定,其值为石英振荡器频率(时钟频率)的倒数。例如:在单片 机外接1MH的晶体,则单片机的系统时钟的频率为1M,时钟周期为 1us经常将时钟周期称为节拍(用P表示)。时钟周期经过二分频后, 就是单片机的时钟信号的周期,其定义为状态周期(用S表示)。 所以,一个状态就包含两个节拍(时钟周期),具前半周期对应 的拍节叫节拍1(P1),后半周期对应的节拍叫节拍2(P2)。 机器周期 MCS-51单片机的一个机器周期为6个状态周期,并依次表示为 S1~S6。由于一个状态又包括两个节拍(振荡脉冲周期),因此, 个机器周期总共有12个时钟周期,分别记作S1P1、S1P2、.、S6P2。 (P19图2-10)
由于一个机器周期共有12个振荡脉冲周期,因此机器脉冲就是振荡 脉冲的十二分频。例:当振荡脉冲频率为12MHz时,一个机器周期 为1μs:当振荡脉冲频率为6MHz时,一个机器周期为2μs。 指令周期 执行一条指令所需要的时间称为指令周期。它一般由若干个机器 周期组成。不同的指令,所需要的机器周期不同。通常,包含一个机 器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期 指令,等等。 在MCS-51系统中,指令周期有以下三种: 1,单周期指令;2,双周期指令;3,四周期指令 我们知道:一个机器周期包含了12个震荡周期如果我们使用 个12M的晶体振荡器,那么:一个机器周期为1us, 两个机器周期为2us, 四个机器周期为4us. 可见一条指令的运算速度与它所包含的机器周期数有关机器周 期数越少,执行的速度就越快.在MCS-51单片机的指令系统中,除了 乘、除法指令为四个机器周期外,其余都是单周期和双周期指令. 2、指令的字节数与指令周期之间的关系 只有在ALE(地址锁存允许)信号有效时,才可以访问存储器。 在MCS-51单片机的指令系统中有: 单字节: 双字节; 三字节指令
在MCS-51的111条指令中,可以分为六种基本的时序: 1,单字节单周期指令: 4,双字节单周期指令: 2,单字节双周期指令; 5,双字节双周期指令; 3,单字节四周期指令: 6,三字节双周期指令. 2.4I/0的结构 MCS-51共有4个8位的双向并行IVO口:P0、P1、P2、P3。每个 口都包含一个8位锁存器、一个输出驱动器和输入缓冲器,作输出时, 数据可以锁存,作输入时,数据可以缓冲。锁存器被归入专用寄存器 之列,并且具有字节寻址和位寻址功能 P0.0~P0.7(39一32脚):8位漏极开路的三态双向输入/输出口。 P1.0一P1.7(1一8脚):8位带有内部上拉电阻的准双向输入/输出口。 P2.0~P2.7(21一28脚):8位带有内部上拉电阻的准双向输入/输出 ▣。 P3.0~P3.7(10一17脚):8位带有内部上拉电阻的准双向输入/输出 口。 在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高 8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的 每一位均可作为双向的1/O端口使用。 P0口:P0口的结构(P21:图2一12)
地址/数据 控制 读锁存器 2 内部总线 D 锁存器 写锁存岩 CP H汇 读引脚一 硬件组成: (1)一个输出锁存器(D型触发器): (2)二个三态门(控制读引脚或读锁存器): (3)与门和MUX等元件组成的输出控制电路: (4)一对场效应晶体管FET构成的输出电路 2、P0口作为一般I/0口使用 (1)一般/O口的设置:在系统无外部存储器时,控制电路中的“控 制”=0,多路开关MUX接入锁存器的端,P0口作为通用O端口 使用。由于与门的一个输入端为“0,所以它使上端的FET截止这就是 P0口在做I/O口时输出为“漏极开路”的结构原因. (2)输出操作:作为输出口时,内部数据送到锁存器的“D”端,锁存器 写脉冲加到CP端。内部数据经“”端送场效管应输出极如送“1时 O=0,使下端的FET截止.这样出现输出极的两个FET全部截止在这 种情况下必须在端口线上外加上拉电阻.(准双向)这样在上拉电阻 的作用下,使端口为高电平.同理,若总线向口送0时,锁存器的=1,使 下端的FET导通(上面的FET仍然截止),这样端口呈现“O电平.P0口 的输出可以驱动8个TTL负载。 (3)输入操作: