购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 时钟电路与复位电路

时钟电路用于产生单片机工作所需要的时钟信号,而时序研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证工作方式的同步,所有的工作都必须在唯一的时钟信号控制下严格地按时序进行。时序就是单片机内部及内部与外部相互遵守的规律。

2.4.1 单片机的时钟电路与时序

1.时钟信号的产生

在MCS-51芯片内部有一个高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。而在芯片的外部,XTAL1和XTAL2之间跨接石英晶体和微调电容,从而构成一个稳定的自激振荡器,振荡频率由外接石英晶体确定。这就是单片机的时钟振荡电路,如图2-9所示。

一般地,电容C1和C2取30 pF左右,晶体的振荡频率范围是1.2~12MHz。如果晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。但通常情况下,使用的振荡频率为6MHz或12MHz。

2.引入外部脉冲信号

在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。这时,外部的脉冲信号经XTAL2引脚输入,其连接如图2-10所示。

图2-9 时钟振荡电路

图2-10 外部时钟源接法

3.时序

时序是用定时单位来说明的。MCS-51的时序定时单位有振荡周期、时钟周期、机器周期和指令周期。各种周期之间的关系如图2-11所示。

图2-11 各种周期之间的关系图

(1)振荡周期

振荡周期指为单片机提供定时信号的振荡源的周期(用P表示)。

(2)时钟周期

时钟周期又称为状态周期或状态时间(用S表示),是振荡周期的两倍,它分成P1节拍和P2节拍,P1节拍通常完成算术逻辑操作,而内部寄存器间传送通常在P2节拍完成。

(3)机器周期

若将一条指令的执行过程划分为几个基本操作,则完成一个基本操作所需的时间称为机器周期。一个机器周期由6个状态周期(12个振荡脉冲)组成,分为6个状态:S1~S6。每个状态又分为2拍:P1和P2。因此,一个机器周期中的12个振荡周期表示为SIP1、S1P2、……、S6P1、S6P2。也是振荡脉冲的十二分频。

(4)指令周期

指令周期是最大的时序定时单位,执行一条指令所需要的时间称为指令周期。它一般由若干个机器周期组成。不同的指令,所需要的机器周期数也不相同。通常,包含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令,依此类推。

若外接晶振为6MHz若外接晶振为12MHz

振荡周期:1/6 µs振荡周期:1/12 µs

时钟周期:1/3 µs时钟周期:1/6 µs

机器周期:2 µs机器周期:1 µs

指令周期:2~8 µs指令周期:1~4 µs

4.CPU时序

指令的运算速度与指令所包含的机器周期有关,机器周期数越少的指令,执行速度越快。如图2-12所示的是取MCS-51单片机指令/执行指令的周期时序。

MCS-51单片机共有111条指令,全部指令按其占用的字节数可分为单字节指令、双字节指令和三字节指令。这些指令在执行时所需要的机器周期数是不同的,概括起来有以下几种情况:单字节单周期指令、单字节双周期指令、单字节四周期指令、双字节单周期指令、双字节双周期指令、三字节双周期指令。

图2-12 MCS-51单片机取指令/执行指令的周期时序

5.几个典型指令的时序

①单字节单周期指令:例INC A。

对于单字节单周期指令,只需要进行1次读指令操作。在第2个ALE有效时,由于PC没有加1,读出来的还是原指令,是一次无效操作。

②双字节单周期指令:例ADD A,#data。

对于双字节单周期指令,ALE的两次操作都是有效的,第1次读出来的是指令的第1字节(操作码),第2次读出来的是第2字节。

③单字节双周期指令:例INC DPTR。

对于单字节双周期指令,在2个机器周期中进行4次读指令操作,只有第1次是有效的,后面的3次读操作均无效。

④单字节双周期指令:例MOVX类指令。

在执行这类指令时,CPU先从ROM中读取指令,然后执行对外部RAM的读写操作。在第1机器周期时,第1次读指令操作有效,第2次读指令操作无效。在第2机器周期时,执行对外部RAM的读写操作,与ALE信号无关,因此,不产生ALE信号,也就不产生读指令操作。

2.4.2 单片机的复位电路

复位是使单片机系统进入初始化操作状态,其主要功能是将程序计数器PC内容初始化为0000H,也就是说,让单片机从0000H单元开始执行程序,与此同时,CPU及其他功能寄存器都从一个确定的初始状态下开始工作。单片机系统除了上电需要正常初始化外,在程序运行当中出现断电、受到强制干扰或操作错误等使系统处于“死机”状态时都需要进行复位操作。单片机系统复位后,片内各寄存器的状态见表2-6。

表2-6 复位后片内各寄存器的状态(×表示无关位)

单片机复位的条件是:必须使RST引脚(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为 12MHz,每个机器周期为 1 µs,则只需 2 us 以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图2-13(a)、(b)所示。

图2-13 单片机常见的复位电路

图2-13(a)为上电复位电路,它是利用电容充电自动实现的。在接电瞬间,RST端的电位V CC 相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。

图2-13(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按RESET键,此时电源V CC 经电阻R1、R2分压,在RST端产生一个复位高电平。

单片机复位期间不产生ALE和PSEN信号,即ALE=1和PSEN=1。这表明单片机复位期间不会有任何取址操作。 QeAjFlt2QAJx3XskIuyYqvA8SryekGthQy8Lr6eBCxCGV2sWcIC+GwgcdjQ5O4S4



2.5 单片机的工作过程

由于单片机应用系统是属于微型计算机家族里的一个类型,因此它的工作过程和微型计算机的工作过程是基本一样的。一般用户将编写好的程序通过编译转换成机器码并固化到单片机存储器中,单片机开机复位后,CPU就会不断地去存储器内取指令,然后通过指令译码器,对指令进行译码,根据译码来决定什么样的操作,接下来按照操作发出相应的控制信号,通过一些控制电路来执行这个操作过程,当这条指令执行完以后又取下一条指令再继续译码与执行,依此类推不断的重复下去,所以归纳起来,就是不断地取指令和执行指令的过程。这就是单片机应用系统的工作过程。

例如指令MOVA,#56H表示将立即数56H这个值送入A累加器。该指令对应的机器码是74H、56H,假设它们已存在0000H开始的单元中。下面我们来说明单片机的工作过程。接通电源开机后,PC=0000H,取指令过程如下:

①PC中的0000H送到片内的地址寄存器,PC的内容自动加1变为0001H,指向下一个指令字节。

②地址寄存器中的内容 0000H 通过地址总线送到存储器,经存储器中的地址译码选中0000H单元。

③CPU通过控制总线发出读命令。

④将0000H单元的内容74H送内部数据总线,该内容通过内部数据总线送到单片机内部的指令寄存器。至此,取指令过程结束,进入执行指令过程。

执行指令的过程如下:

①指令寄存器中的内容经指令译码器译码后,表明这条指令是取数命令,即将一个立即数送A中。

②PC的内容为0001H,送地址寄存器,译码后选中0001H单元,同时PC的内容自动加1变为0002H。

③CPU同样通过控制总线发出读命令。

④将0001H单元的内容56H读出并经内部数据总线送至A。

至此,本指令执行结束。PC=0002H,机器又进入下一条指令的取指令过程。机器一直重复上述过程直到程序中的所有指令执行完毕,这就是单片机的基本工作过程。

习题 2

一、单项选择题

1.MCS-51单片机的CPU主要由_________组成。

A.运算器、控制器 B.加法器、寄存器

C.运算器、加法器 D.运算器、译码器

2.单片机中的程序计数器PC用来_________。

A.存放指令 B.存放正在执行的指令地址

C.存放下一条指令地址 D.存放上一条指令地址

3.开机复位后,CPU使用的是寄存器第一组,地址范围是_________。

A.00H-10H B.00H-07H C.10H-1FH D.08H-0FH

4.单片机AT89C51的EA引脚_________。

A.必须接地 B.必须接+5 V C.可悬空 D.以上三种视需要而定

5.访问外部存储器或其他接口芯片时,做数据线和低8位地址线的是_________。

A.P0口 B.P1 C.P2口 D.P0口和P2口

6.单片机上电复位后,PC的内容和SP的内容为_________。

A.0000H,00H B.0000H,07H

C.0003H,07H D.0800H,08H

7.PSW中的RSl和RS0用来_________。

A.选择工作寄存器区号 B.指示复位

C.选择定时器 D.选择工作方式

8.在MCS-51单片机中,_________是数据存储器,_________是程序存储器。

A.ROM B.EPROM C.RAM D.EEPROM

9.能够用紫外光擦除ROM中程序的只读存储器称为_________。

A.掩膜ROM B.PROM C.EPROM D.EEPROM

10.下列存储器在掉电后数据会丢失的类型是________________。

A.EPROM B.RAM C.FLASH ROM D.EEPROM

11.MCS-51的片内外的ROM是统一编址的,如果 端保持高电平,8051的程序计数器PC在_________地址范围内。

A.1000H~FFFFH B.0000H~FFFFH

C.0001H~0FFFH D.0000H~0FFFH

12.MCS-51的专用寄存器SFR中的堆栈指针SP是一个特殊的存储区,用来_________,它是按后进先出的原则存取数据的。

A.存放运算中间结果 B.存放标志位

C.暂存数据和地址 D.存放待调试的程序

13.8051单片机中,唯一一个用户可使用的16位寄存器是_________。

A.PSW B.ACC C.SP D.DPTR

二、填空题

1.若MCS-51单片机的晶振频率为fosc=12MHz,则一个机器周期等于_________µs。

2.MCS-51单片机的XTALl和XTAL2引脚是_________引脚。

3.MCS-51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来_________。

4.MCS-51单片机中输入-输出端口中,常用于第二功能的是_________。

5.MCS-51 单片机内存的堆栈是一个特殊的存储区,用来_________,它是按后进先出的原则存取数据的。

6.单片机应用程序一般存放在________________中。

7.在单片机扩展时,________________口和________________口为地址线,________________口为数据线。

8.当P1口做输入口输入数据时,必须先向该端口的锁存器写入_________,否则输入数据可能出错。

9.单片机是将________________、________________、________________等几部分集成在一块芯片上的微型计算机。

10.单片机复位方式有________________、________________和自动复位。

11.计算机________________越多,计算机的功能超强,灵活性也越大。

12.8051的累加器ACC是一个8位的寄存器,简称为A,用来存_________或_________。

13.8051的程序状态字寄存器PSW是一个8位的专用寄存器,用于存放程序运行中的_________。

14.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,________________。

15.MCS-51单片机上电复位后,片内数据存储器的内容均为。

三、简答题

1.单片机应用系统中的硬件与软件是什么关系?软件如何实现对硬件的控制?

2.什么是机器周期?机器周期和晶振的振荡频率有何关系?当晶振的振荡频率为12MHz时,机器周期是多少时间?

3.8051是低电平还是高电平复位?复位后P0~P3口处于什么状态?

4.在MCS-51单片机ROM空间中,0003H~002AH有什么用途?用户应怎样合理选用?

5.MCS-51单片机片内RAM的组成是如何划分的,各有什么作用?

6.MCS-51单片机有多少个特殊功能寄存器?它们分布在何地址范围?

7.DPTR是什么寄存器?它的作用是什么?它是由哪几个寄存器组成的?

8.简述程序状态寄存器PSW各位的含义。单片机如何确定和改变当前的工作寄存器区?

9.什么是堆栈?堆栈指针SP的作用是什么?在堆栈中存取数据时的原则是什么?

10.在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义? dvtsYTX/jtsoE7QPxSvbSZguilNG+WiRlD4yV2Du8iUZq6bPW6So0PWE1sVpDmpd



第3章
Proteus ISIS现代电子系统仿真技术

本章简要介绍Proteus软件的组成和资源,详细说明Proteus软件基本操作、系统参数设置、元器件和使用原理图模型创建的基本方法。以典型案例讲述基于Proteus ISIS的电路设计和系统仿真。 dvtsYTX/jtsoE7QPxSvbSZguilNG+WiRlD4yV2Du8iUZq6bPW6So0PWE1sVpDmpd

点击中间区域
呼出菜单
上一章
目录
下一章
×