8051单片机的工作方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机的工作方式
一,中央处理器CPU及时序
(一)中央处理器CPU
MCS-51内部有一个功能很强的8位中央处理器CPU,它决定了单片机的主要功能特性,完成对指令的解释和运算,为执行指令提供所必须的运算,逻辑和控制线路.它由运算器,控制器和专用寄存器组等构成.
1.运算器
运算器包括算术逻辑运算部件ALU,累加器ACC,寄存器B,暂存器TMP1和TMP2,程序状态字寄存器PSW,十进制调整电路和以及布尔处理器等.该模块的主要功能是实现算术运算,逻辑运算,数据传送和位变量处理等.具体包括加,减,乘,除算术运算;与,或,异或,循环,求补等逻辑运算;十进制调整,加1,减1运算;置1,清0,取反操作;数据传送操作等.同时还具有一般微机所不具有的位处理功能,这也是单片机能成为面向控制的微处理器的重要原因.
2.控制器
控制器控制着单片机系统完成各种操作.控制器一般包括时钟电路,复位电路,定时控制逻辑,指令寄存器IR,指令译码器ID,程序计数器PC和信息传送控制部件等.它以主振频率为基准,由定时控制逻辑发出CPU时序,将指令寄存器中存放的指令码取出送指令译码器进行译码,再由信息传送控制部件发出一系列的控制信号,控制单片机各部分运行,完成指令指定的功能.
(二)时钟电路
时钟电路用于产生单片机工作所需的时钟信号.单片机在时钟信号控制下,各部件之间协调一致地工作,时钟信号控制着计算机的工作节奏.
如图2-5所示为MCS-51单片机的时钟电路.在图2-5a)中,引脚XTALl和XTAL2之间跨接晶体振荡器和微调电容,可以和芯片内部的振荡器构成一个稳定的自激振荡器,这就是单片机的时钟电路,这种方式称之为内部时钟源方式.电容器C和C的主要作用是帮助振荡器起振,且电容器大小对振荡频率有微调作用,典型值为C=C=30pF.振荡频率主要由石英晶振的频率确定,目前,51系列单片机的晶振频率范围是fosc为1.2MHz~60MHz,其典型值为6MHz,12MHz,11.0592MHz,20MHz,24MHz,33 MHz,40MHz等.
8051的工作时钟也可以由外部时钟信号提供,如图2-5b)所示,外部的时钟信号由XTAL2
引脚引入.由于XTAL2端逻辑电平不是TTL的,故需外接一上拉电阻,外接的时钟频率应低于12MHz.
另外,80C51的外部时钟接法与8051不同,如图2-5c)所示,其外部时钟信号由XTALl脚引入,而XTAL2脚悬空.
(三)CPU时序
1.时序的概念
所谓时序是指各种信号的时间序列,它表明了指令执行中各种信号之间的相互关系.单片机本身就是一个复杂的时序电路,CPU执行指令的一系列动作都是在时序电路控制下一拍一拍进行的.为达到同步协调工作的目的,各操作信号在时间上有严格的先后次序,这些次序就是CPU的时序.
CPU的时序信号有两大类:一类用于单片机内部,控制片内各功能部件;另一类信号通过控制总线送到片外,这类控制信号的时序在系统扩展中比较重要,我们应当了解.
2.时序的基本单位
8051单片机以晶体振荡器的振荡周期(或外部引入的时钟信号的周期)为最小的时序单位.所以片内的各种微操作都是以晶振周期为时序基准.如图2-6所示为8051单片机的时钟信号图.
由图中可以看出,8051单片机的基本定时单位共有四个,它们从小到大分别是:
①晶振周期由振荡电路产生的振荡脉冲的周期,又称节拍(如P1,P2).
②时钟周期它是晶振周期的两倍,也即一个时钟周期包含两个相互错开的节拍,也称S状态时间.
③机器周期MCS-51单片机有固定的的机器周期,它是由晶振频率12分频后形成的,也就是说,一个机器周期是晶振周期的12倍宽.
单片机的基本操作周期为机器周期.一个机器周期有6个状态,每个状态由两个脉冲(晶振周期)组成.
即:1个机器周期=6个状态周期=12个晶振周期.
若单片机采用12MHz的晶体振荡器,则一个机器周期为1μs,若采用6MHz的晶体振荡器,则一个机器周期为2μs.
④指令周期指令周期是执行一条指令所需要的时间.不同的指令,其执行时间各不相同,如果用占用机器周期多少来衡量的话,MCS-51单片机的指令可分为单周期指令,双周期指令及四周期指令.
3.CPU的典型时序
单片机的指令的执行过程分为取指令,译码,执行三个过程.取指的过程实质上是访问程序存储器的过程,其时间长短取决于指令的字节数;译码与执行的时间长短取决于指令的类型.对于MCS-51单片机的指令系统,其指令长度为1~3个字节.其中单字节指令的运行时间有单机器周期,双机器周期和四机器周期;双字节指令有双字节单机器周期指令和双字节双机器周期指令;三字节指令则都为双机器周期指令.下面就简单介绍几个典型的时序. 对于单机器周期指令,是在S1P2时刻把指令读入指令寄存器,并开始执行指令,在S6P2结束时完成指令操作.中间在S4P2时刻读的下一条指令要丢弃,且程序计数器PC也不加1.对于双字节单机器周期指令,则在同一机器周期的S4P2时刻将第二个字节读入指令寄存器,并开始执行指令.无论是单字节还是双字节指令,均在S6P2时刻结果该指令的操作.如图2-7 a),图2-7 b)所示.
对于单字节双周期指令,在2个机器周期内要发生4次读操作码的操作,由于是单字节指令,后3次读操作都无效,如图2-7 c)所示.但访问外部数据存储器指令MOVX的时序有所不同.它也是单字节双周期指令,在第一机器周期有2次读操作,后一次无效,从S5时刻开始送出外部数据存储器的地址,随后读或写数据,读写期间在ALE端不产生有效信号.在第二个机器周期,不发生读操作,如图2-7 d)所示.
通常算术和逻辑操作在节拍P1期间进行,内部寄存器的传送在节拍P2期间进行.
二,单片机的工作方式
MCS-51系列单片机中,8051及80C51的工作方式有:复位方式,程序执行方式,掉电方式,低功耗方式以及EPROM编程和校验方式.单片机不同的工作方式,代表单片机处于不同的状态.单片机工作方式的多少,是衡量单片机性能的一项重要指标.
(一)单片机的复位方式
复位是单片机进入工作状态的初始化操作,是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作.另外,当程序运行错误或由于错误操作而使单片机进入死锁状态时,也可以通过复位进行重新启动.复位后,单片机内部寄存器的值被初始化,
其值见表2-5.了解单片机内部寄存器初始化的状态,对于熟悉单片机的操作,简化应用程
序的初始化过程是很有必要的.
表2-5 单片机复位后内部各寄存器状态
寄存器名
内容