版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 MCS-51单片机硬件结构单片机硬件结构2.1 MCS-51单片机总体结构2.2 MCS-51存储结构及位处理器2.3 MCS-51工作方式和时序2.4 MCS-51单片机的时序2.5 单片机最小系统本章重点内容:1 MCS-51单片机硬件的功能结构及内部组成 2 单片机引脚功能及应用特点 3 片内数据存储器和特殊功能寄存器的组织特点 4 单片机的工作方式和典型的CPU时序 2.1 MCS-51单片机总体结构单片机总体结构 MCS-51系列单片机可分为两大系列:51子系列(普通型)(普通型)和52子系列(增强型)(增强型)。51子系列单片机的典型产品有8031、8051、8751、
2、80C51、80C31、89C51、89S51等。它们的结构基本相同,其主要差别反映在片内存储器的配置上有所不同 。52子系列及兼容单片机的典型产品有8032、8052、8752、89C52、89S52等,其中,8052、8752内含8KB的掩模ROM程序存储器和256B的RAM数据存储器。增强型的存储增强型的存储容量为普通型的一倍。容量为普通型的一倍。 2.1.1 MCS-51单片机总体结构框图及功能单片机总体结构框图及功能8051单片机内部由CPU、4KB的ROM、128B的RAM、4个8位的I/O并行端口、一个串行口、两个16位定时/计数器及中断系统等组成。其内部基本结构框图如图2-1所
3、示。图2-2为8051单片机系统结构原理框图。 图2-1 8051单片机内部基本结构框图 图2-2 8051单片机系统结构原理框图 下面对各功能部件的作用分述如下:1. CPU:包括包括运算器运算器、控制器控制器以及若干以及若干寄存器寄存器等部件等部件组成。组成。CPU是单片机内部的核心部件,是单片机的指挥和控制中心。CPU可分为运算器和控制器两大部分。 (1) 控制器控制器控制器的功能是:接受来自程序存储器ROM存储单元的指令,并对其进行译码,通过定时和控制电路,按时序规定发出指令功能所需要的各种(内部和外部)控制信息,使各部分协调工作,完成指令功能所需的操作。控制器主要包括程序计数器、指令
4、寄存器、指令译码器及定时控制电路等。 (2) 运算器运算器ALU运算器的功能是:对数据进行算术运算和逻辑运算。计算机对任何数据的加工、处理必须由运算器完成。 10PC用来存放即将要执行的指令地址指令地址,共16位,可对64KROM直接寻址。PC低8位经P0口输出,高8位经P2口输出。(3)程序计数器)程序计数器PC指令寄存器存放指令代码。CPU执行指令过程:执行指令过程:由程序存储器(ROM)中读取读取指令代码送入送入指令寄存器,经译码器译码译码后由定时与控制电路发出发出相应的控制信号,完成指令功能。(4)指令寄存器)指令寄存器2. RAMRAM为单片机内部数据存储器。其存储空间包括随机随机存
5、储器区存储器区、寄存器区寄存器区、特殊功能寄存器特殊功能寄存器及位寻址区位寻址区。3. ROMROM为单片机内部程序存储器。4. 定时器定时器/计数器计数器定时器/计数器用于定时和对外部事件进行计数。 124k/8k字节程序存储器(字节程序存储器(ROM)51系列4k字节;52系列8k字节128/256字节数据存储器(字节数据存储器(RAM)51系列128字节;52系列256字节2/3个个16位定时位定时/计数器计数器51系列2个16位定时/计数器;52系列3个5. 并行并行I/O口口P0P3是四个8位并行I/O口,每个口既可作为输入,也可作为输出。单片机在与外部存储器及I/O端口设备交换信息
6、时,必须由P0P3口完成。 6. 中断系统中断系统MCS-51单片机有5个中断源,中断处理系统灵活、方便,使单片机处理问题的灵活性和工作的效率大大提高。 7. 串行接口串行接口串行接口提供对数据各位按序一位一位地传送。 8. 时钟电路时钟电路OSC时钟电路用于产生单片机中最基本的时间单位。 时钟电路:MCS-51芯片内部有一个高增益反相放大器,其输入端为XTAL1,输出端为XTAL2。有两种时钟生成电路:内部方式内部方式,外部方式外部方式。2.1.2 MCS-51引脚功能引脚功能MCS-51单片机采用40脚双列直插式封装,其引脚排列及逻辑符号如下图所示。 182001p .71p .SSV1X
7、TAL2XTAL181917161514131211109RD73p/.WR63p/.1T53p/.0T43p/.1INT33p/.0INT23p/.TXD13p/.RXD03p/.RST02p .72p .CCV212840393200p .70p .293031PSENPROGALE /EAVpp /8051图2-3 MCS-51单片机引脚图 1主电源引脚主电源引脚VCC和和VSSVCC:接主电源+5V。VSS:电源接地端。2时钟电路引脚时钟电路引脚XTAL1和和XTAL2 XTAL1是片内振荡器反相放大器的输入端,XTAL2是片内振荡器反相放大器的输出端,也是内部时钟发生器的输入端。 1
8、8ALE/ (30),),ALE:允许地址锁存信号(数据线、地址线复用)。当访问外部存储器时,ALE信号负跳变将P0口上低8位地址送入锁存器。PROGALE低电平时,低电平时,P0口上的内容和锁存器输出一致口上的内容和锁存器输出一致3.控制、选通或复用电源引脚:控制、选通或复用电源引脚:19非访问外部存储器期间,ALE以1/6振荡频率输出,访问外部存储器时以1/12振荡频率输出。 为编程脉冲输入端,对片内程序存储器进行编程时,此脚输入编程脉冲。PROGRST(9脚):复位信号延续两个机器周期以上的高电平,复位有效。20 (29脚):脚):访问外部程序存储器选通信号,低电平有效。PSEN /Vp
9、p(31脚):脚):访问内部或外部ROM选择信号。 高电平 ( ) :访问内部ROM(PC指针超过4K,0FFFH时,自动转向外部ROM)。如保持低电平( =0 ) :则仅访问外部ROM。(对于8031,需要接低电平)EA1EA EA21四个8位双向双向I/O端口(P0、P1、P2、P3);每一条I/O线都能独立地用作输入或输出。P0口(3239)低8位地址/数据线复用或I/O口。P1口(18)常用的I/O口。P2口(2128)常用I/O口或高8位地址线。P3口(1017)双功能口。4. I/O口引脚(口引脚(32个引脚)个引脚)(1)输入缓冲器:输入缓冲器:在P0口中,有两个三态的缓冲器,三
10、态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(读锁存器读锁存器端)有效端)有效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使 读引脚的这个三态缓冲器的控制端有效,引引脚上的数据脚上的数据才会传输到我们单片机的内部数据总线上。(2)输出驱动部份:输出驱动部份:从上图中可以看出,P0口的输出是由两个MOS管(场效应管)组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V
11、1截止。 (3)与门、与非门:与门、与非门: (4)D锁存器:锁存器:构成一个锁存器,通常要用一个时序电路,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。 对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。数据传送过来后,当当CP时时序
12、控制端的时序信号消失了,这时,输出端还会保持着上次输入端序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数的数据(即把上次的数据锁存起来了)。据(即把上次的数据锁存起来了)。如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。 (5)多路开关:多路开关:在51单片机中,当内部的存储器够用(即不需要外扩展存储器时,)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,需要外扩存储器时,P0口就作为口就作为地址地址/数据数据总线使用总线使用。 多路选择
13、开关就是用于选择是做为普通I/O口使用还是作为数据/地址总线使用的选择开关了。上图,当多路开关与下面接通时,P0口是作为普通的I/O口使用的,当多路开关是与上面接通时,P0口是作为地址/数据总线使用的。 P0口做为I/O口端口使用时的工作原理(1)如多路开关的控制信号为0(低电平),看上图中的红线部份,多路开关的控制信号同时与与门的一个输入端是相接的,与门的逻辑特点是“全1出1,有0出0”那么控制信号是0的话,这时与门输出的也是一个0(低电平),与门的输出是0,V1管就截止,时,多路开关是与锁存器的Q非端相接的(即P0口作为I/O口线使用)。P0口做为I/O口端口使用时的工作原理(2) P0口
14、用作I/O口线,其由数据总线向引脚输出(即输出状态Output)的工作过程:当写锁存器信号CP有效,数据总线的信号锁存器的输入端D锁存器的反向输出Q非端多路开关V2管的栅极V2的漏极到输出端P0.X。前面我们已讲了,当多路开关的控制信号为低电平0时,与门输出为低电平,V1管是截止的,所以作为输出口时,P0是漏极开路输出漏极开路输出,当驱动上接电流负载时,需要外接上拉电阻。P0口做为I/O口端口使用时的工作原理(2) P0口用作I/O口线,其由引脚向内部数据总线输入(即输入状态Input)的工作过程: 数据输入时(读P0口)有两种情况读引脚:读芯片引脚上的数据,读引脚数时,读引脚缓冲器打开(即三
15、态缓冲器的控制端要有效),通过内部数据总线输入。P0口做为I/O口端口使用时的工作原理读锁存器:通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态, P0口作为地址/数据复用口使用时的工作原理在访问外部存储器时P0口作为地址/数据复用口使用。 多路开关控制信号为1,与门解锁,与门输出信号电平由“地址/数据”线信号决定;多路开关与反相器的输出端相连,地址信号经“地址/数据”线反相器V2场效应管栅极V2漏极输出。例如:例如:控制信号为1,地址信号为“0”时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。P0口作为地址/数据复用口使用时的工作原理反之,控制信号
16、为“1”、地址信号为“1”,“与门”输出为高电平,V1管导通;反相器输出低电平,V2管截止,输出引脚的地址信号为高电平。可见,在输出“地址/数据”信息时,V1、V2管是交替导通的,负载能力很强,可以直接与外设存储器相连,无须增加总线驱动器。P0口作为地址/数据复用口使用时的工作原理P0口又作为数据总线使用。在访问外部程序存储器时,P0口输出低8位地址信息后,将变为数据总线,以便读指令码(输入)。指令是输出数据指令是输出数据:如MOVX DPTR,A(将累加器的内容通过P0口数据总线传送到外部RAM中),则多路开关“控制”信号为1,“与门”解锁,与输出地址信号的工作流程类似,数据据由“地址/数据
17、”线反相器V2场效应管栅极V2漏极输出。 如果该指令是输入数据如果该指令是输入数据(读外部数据存储器或程序存储器),如:MOVX A,DPTR(将外部RAM某一存储单元内容通过P0口数据总线输入到累加器A中),则输入的数据仍通过读引脚三态缓冲器到内部总线,其过程类似于上图中的读取指令码流程图。P1口结构图及工作原理在51单片机的P0,P1,P2,P3口中,P1口的结构最简单,用途也最单一。仅仅只作为普通的数据输入/输出(I/O)端口使用。 从图中可以看出,P0口与P1口的主要差别在于:P1端口用内部上拉电阻代替了P0端口的场效应管,并且输出的信息只有内部总线的信息,没有了数据/地址总线的复用。
18、1)P1口用作输入端口口用作输入端口如果P1口用作输入端口,即Q=0,Q非=1;则场效应管导通,引脚被直接连到电源的地GND上,即使引脚输入的是高电平,被直接拉低为“0“,所以,与P0端口一样,在将数据输入P1端口之前,先要先要通过内部总线向锁存器写”1“,这样/Q=0,场效应管截止,P1端口输入的“1”才可以送到三态缓冲器的输入端,此时再给再给三态门的读引脚送一个读控制信号,引脚上的“1”就可以通过三态缓冲器送到内部总线。具有这种操作特点的输入/输出端口,一般称之为准双向准双向I/O口,51单片机的P1,P2,P3口都是准双向口。2)P1口用作输出端口口用作输出端口如果P1口用作输出端口,应
19、给锁存器的写锁存CP端输入写脉冲信号,内部总线送来的数据就可以通过D端进入锁存器并从Q和/Q端输出,如果D端输入“1”,则/Q=0,场效应管截止,由于上拉电阻的作用,在P1.X引脚输出高电平“1”,反之,如果D端输入“0”,则/Q=1,场效应管导通, P1.X引脚连到地线上,从而在引脚输出“0”。P2口结构图及工作原理P2口既有片内上拉电阻,又有切换开关MUX,所以P2口在功能上兼有P0和P1端口的特点,这主要体现在输出功能上。当切换开关向下接通时当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时当多路开关向上时,输出的一位地址信号也经
20、反相器和场效应管反相后,输出在端口引脚线上。1)P2口用作输入端口如果P2口用作输入端口,即Q=0,/Q=1;则场效应管导通,引脚被直接连到电源的地GND上,即使引脚输入的是高电平,被直接拉低为“0“,所以,与P0端口一样,在将数据输入在将数据输入P2端口之前,先要端口之前,先要通过内部总线向锁存器写”1“,这样/Q=0,场效应管截止,P2端口输入的“1”才可以送到三态缓冲器的输入端,此时再给再给三态门的读引脚送一个读控制信号,引脚上的“1”就可以通过三态缓冲器送到内部总线。2)P2口用作输出端口如果P2口用作输出端口,应给锁存器的写锁存CP端输入写脉冲信号,内部总线送来的数据就可以通过D端进
21、入锁存器并从Q和/Q端输出,再通过电子开关、非门和场效应管从端口输出。P3口结构图及工作原理P3口和P1口的结构相似,区别仅在于P3端口的个端口线有两种功能选择。当处于第一功能时当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/输出,其作用与P1端口作用相同。当处于第二功能时当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的信号,在输入方面,既可以通过缓冲器读入引脚信号。还可以通过替代输入功能读入片内的特定第二功能信号。1)P3用作输入端口时,其使用方法与P1和P2类似。2)P3用作输出端口时,其使用方法与P1和P2类似。使使P3端口各引脚处于第二功能的
22、条件是端口各引脚处于第二功能的条件是:1、串行I/O处于运行状态(RXD,TXD);2、打开了处部中断(INT0,INT1);3、定时器/计数器处于外部计数状态(T0,T1)4、执行读写外部RAM的指令(RD,WR) 在应用中,如不设定P3端口各位的第二功能(WR,RD信号的的产生不用设置),则P3端口线自动处于第一功能状态,也就是静态IO端口的工作状态。在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态。在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式。40信号引脚的第二功能信号引脚的第二功能P3口第二功能412.2 MCS-51 MCS
23、-51存储器存储器数据存储器(数据存储器(RAMRAM)-用来存放程序运行中所需要的常数和变量。当然,全局数据也可以放在RAM中。特点特点:程序存储器(ROM)、数据存储器(RAM)分开,各有各的寻址系统、控制信号和功能。程序存储器(程序存储器(ROMROM)-用来存放程序和始终要保留的数据。MCS-51存储器的划分方法如下:(1) 从物理结构上划分,有从物理结构上划分,有4个存储空间个存储空间 片内程序存储器。 片外程序存储器。 片内数据存储器。 片外数据存储器。(2) 从逻辑上划分,有从逻辑上划分,有3个存储器地址空间个存储器地址空间 片内外统一编址的64KB的程序存储器地址空间。 片内(
24、128+128)B的数据存储器地址空间。 片外64KB的数据存储器地址空间。 MCS-51(8051)存储结构如图2-4所示。图2-4 MCS-51(8051)存储结构 在访问不同的逻辑存储空间时,MCS-51提供了不同形式的指令: MOV指令用于访问内部数据存储器。 MOVC用于访问片内外程序存储器。 MOVX用于访问外部数据存储器。 45程序存储器:程序存储器:程序存储器用于存放已编制好的程序及程序中用到的常数或表格等。 程序存储器由ROM构成,单片机掉电后ROM内容不会丢失。 程序存储器以PC(程序计数器)作地址指针,可寻址空间为64K(0000HFFFFH)字节。8051/8751单片
25、机内部分别驻留4K(0000H0FFFH)字节ROM/EPROM。8031则没有片内程序存储器。则没有片内程序存储器。468031单片机 接低电平。EA51系列单片机64K字节程序存储器统一编址统一编址。1EA 程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部存储器空间。0EA 程序从外部存储器开始执行。4751系列单片机复位后PC=0000H,系统从0000H开始执行程序。安排一条跳转指令。0003H0032H单元被保留专用于中断服务程序(入口地址)。每个中断服务程序只有8个字节单元存放,显然不够,故此8个单元通常放一条跳转指令。指向被实际分配的中断服务程序段。48H00
26、00H0003/H0002H0013/H0012H0023/H0022H0033/H0032BH000/AH000BH001/AH001BH002/AH002)(外部中断外部中断0INT0)(外部中断外部中断1INT1溢出中断溢出中断0T溢出中断溢出中断1T串行口中断串行口中断溢出中断溢出中断2T.LJMP区区用户用户ROMFFFFH049中断服务程序首地址:中断服务程序首地址:外部中断0( )0003H定时器0溢出中断000BH外部中断1( )0013H定时器1溢出中断001BH串行口中断0023H定时器2溢出/T2EX(负跳变)002BH0INT1INT50数据存储器数据存储器MCS-51
27、系列单片机的数据存储器在物理和逻辑上都分为两个地址空间。00H7FH(0127)128字节RAM区;80HFFH(128255)128字节专用寄存器区。数据存储器用于存放程序运算的中间结果、状态标志位等。数据存储器用于存放程序运算的中间结果、状态标志位等。数据存储器由数据存储器由RAM构成,一旦掉电,其数据将丢失。构成,一旦掉电,其数据将丢失。 51内部内部RAM低低128字节(字节(00H7FH)组组通通用用寄寄存存器器区区第第0组组通通用用寄寄存存器器区区第第1组组通通用用寄寄存存器器区区第第2组组通通用用寄寄存存器器区区第第3)(位位地地址址位位寻寻址址区区FH7H00区区用用户户 RA
28、MH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7四个通用寄存器区,每个区有8个工作寄存器R0R7D4D3=000区; D4D3=011区;D4D3=102区; D4D3=113区根据程序状态字PSW(特殊功能寄存器,地址地址D0H)中的D4D3位来指示的。通过对PSW的D4D3的修改,便能任意选择一个工作寄存器区。寄存器区寄存器区52位寻址区(20H2FH)16个字节。16*8=128位,每一位都有一个位地址,范围为:00H7FH,位地址区也可作为一般RAM使用。位寻址区位寻址区单元地址单元地址位地址位地址EH2FH2H20H21H77FH7H76EH7H7
29、5DH7H74CH7H73BH7H72AH7H71H79H70H78H07FH0H06EH0H05DH0H04CH0H03BH0H02AH0H01H09H00H0853用户用户RAM区(数据缓冲区)区(数据缓冲区)单元地址:30H7FH在此区域中,用户只能以存储单元(字节)形式使用。通常将堆栈堆栈建立在此区域中。(什么是堆栈?)(什么是堆栈?)54 专用功能寄存器(专用功能寄存器(SFRSFR)具体执行功能:具体执行功能:锁存器、定时器、串行口数据缓冲器、各种控制寄存器、状态寄存器等。在片内数据存储器的80HFFH单元(高128B)中,有21个单元作为专用寄存器(SFR),又称特殊功能寄存器。
30、55累加器ACC(最常用专用寄存器)暂存寄存器,用于提供操作数和存放运算结果。直接与内部总线相连。一般信息传递和交换都要通过ACC。常用专用功能寄存器常用专用功能寄存器56寄存器寄存器B B乘法指令两个操作数分别取自A、B,其结果放在A、B寄存器队中;除法指令,被除数取自A,除数取自B,商放A,余数放B。57CYACF0RS1RS0OV-P程序状态控制字程序状态控制字PSWRS1,RS0-选择工作寄存器区;CY-高位进位标志,8位运算产生进位或借位;AC-辅助进位标志,半字节进位标志;OV-溢出标志位,用于带符号数运算的溢出。P奇偶校验标志位,A寄存器中奇偶性判别。“1”的个数为偶P=0 “1
31、”的个数为奇P=1 F0:用户标志位。058数据指针DPTR16位寄存器,DPH,DPL用来访问外部RAM的地址寄存器,地址范围64K。端口端口P0P0P3P3专用寄存器专用寄存器P0P0P3P3端口名和寄存器名一一对应可采用直接寻址方式参与操作。MOV A,P059串行数据缓冲器串行数据缓冲器SBUFSBUF存放欲发送或已接收的数据。虽然用一个缓冲器99H,但却以两个独立的缓冲器出现。一个发送,一个接收。定时器定时器/ /计数器计数器两个16为定时/计数器T0、T1。各有两个8为独立寄存器组成,TH0、TL0,TH1、TL1。其他控制寄存器其他控制寄存器60寄存器位地址/位定义地址F7F6F
32、5F4F3F2F1F0BF0HE7E6E5E4E3E2E1E0ACCE0D7D6D5D4D3D2D1D0PSWCYACF0RS1RS0OV/PD0HBFBEBDBCBBBAB9B8IPB8HB7B6B5B4B3B2B1B0P3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0B0HIEA8HA7A6A5A4A3A2A1A0P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A0HSBUF99H61SCON98H9796959493929190P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.090HTH18DHTH08CHTL18BHTL08AHT
33、MODGATEC/TM1M0GATEC/TM1M089H8F8E8D8C8B8A8988TCONTF1TR1TF0TR0IE1IT1IE0IT088HPCONSMOD/GF1GF0PDIDL87HDPH83HDPL82HSP81H8786858483828180P0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.080H注意:位地址和字节地址的区分和表达 位处理器位处理器(也称布尔处理机)MCS-51片内CPU还是一个性能优异的位处理器,也就是说MCS-51实际上又是一个完整而独立的1位单片机。 该布尔处理机除了有自己的CPU、位寄存器、位累加器(即进位标志Cy)、I/O口和位寻
34、址空间外,还有专供位操作的指令系统,可以直接寻址对位存储单元和SFR的某一位进行操作。MCS-51单片机对于位操作(布尔处理)有置位、复位、取反、测试转移、传送、逻辑与和逻辑或置位、复位、取反、测试转移、传送、逻辑与和逻辑或运算运算等功能。MCS-51单片机的工作方式包括:复位方式、程序执行方式、节电方式和EPROM的编程和校验方式,在不同的情况下,其工作方式也不相同。2.3.1 复位方式复位方式单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,单片机应用程序必须以此作为设计前提。2.3 MCS-51工作方式工作方式2.3.2 程序执行工作方式程
35、序执行工作方式程序执行方式通常可分为连续执行连续执行和单步执行单步执行两种工作方式。 1. 连续执行方式连续执行方式连续执行方式是所有单片机执行工作程序所需要的一种工作方式。 2. 单步执行方式单步执行方式用户在调试程序时,常常要一条一条地执行程序中的每一条指令。单步执行方式就是为用户调试程序而设计出的一种工作方式。 节电工作方式节电工作方式节电工作方式是一种能减少单片机功耗的工作方式,通常有空闲方式空闲方式和掉电方式掉电方式两种。1. 掉电方式掉电方式单片机在运行过程中,如果发生掉电,片内RAM和SFR中的信息将会丢失。为防止信息丢失,可以把一组备用电源加到RST/VPD端,当VCC上的电压
36、低于VPD上的电压时,备用电源通过VPD端,以低功耗保持内部RAM和SFR中的数据。 2. 空闲方式空闲方式 进入空闲方式后,CPU停止工作,但中断、串行口和定时器计数器可以继续工作。 基本概念:基本概念: 时序:时序:就是计算机指令执行时各种微操作微操作在时间上的顺序关系。时钟:时钟:计算机执行指令的过程可分为取指令、分析取指令、分析指令和执行指令指令和执行指令三个步骤,每个步骤又由许多微操作所组成,这些微操作必须在一个统一的时钟脉冲的控制下才能按照正确的顺序执行。时钟脉冲由时钟振荡器产生 。2.4 MCS-51单片机的时序单片机的时序69 控制器控制器1. 时钟电路时钟电路 (a)内部时钟
37、电路;(b) HMOS型外部振荡源 (C) CHMOS型外部振荡源 CPU时序时序 单片机的时序是指CPU在执行指令时所需控制信号的时间顺序。时序信号是以时钟脉冲为基准产生的。 CPU发出的时序信号有两类:一类用于片内各功能部件的控制,另一类信号通过单片机的引脚送到外部 。2. MCS-51单片机的取指执行时序单片机的取指执行时序 取指令阶段:取指令阶段:把程序计数器PC中的指令地址送到程序存储器,选中指定单元并从中取出需要执行的指令。指令执行阶段:指令执行阶段:对指令操作码进行译码,以产生一系列控制信号完成指令的执行。 72单片机时间单位单片机时间单位振荡有两种方式:外部、内部振荡周期(时钟
38、周期):振荡周期(时钟周期):也称为晶振周期,振荡周期是单片机的基本时间单位。 73时序定时单位时序定时单位:(1)拍节)拍节P:振荡脉冲周期,用P表示;(2)状态状态S S:振荡周期的2倍,用S表示;74(3 3)机器周期:)机器周期: 执行一条指令的过程可分为若干个阶段若干个阶段,每一阶段完成一规定的操作,完成一个规定操作所需要的时间称为一个机器周期。 MCS-51采用定时方式,因此有固定的机器周期,一个机器周期等于6个状态周期,12个振荡周期75(4 4)指令周期()指令周期(Instruction CycleInstruction Cycle):):取出并执行一条指令的时间。由于各条指
39、令的操作功能不同,因此各种指令的指令周期是不尽相同的。可包含一、二、三或四个机器周期。(5 5)总线周期()总线周期(BUS CycleBUS Cycle):):也就是一个访存储器或I/O端口操作所用的时间。指令周期、总线周期和时钟周期之间的关系: 一个指令周期由若干个总线周期组成,而一个总线周期时间又包含有若干个时钟周期。 一个总线周期包含一个(只有取址周期)或多个机器周期。77当振荡频率为12M时,一个机器周期是1微秒(s)频率=1/周期,周期=1/频率一个振荡周期=1/12(s),一个机器周期是1(s)。当振荡频率为6M时,一个机器周期是2微秒(s)MCS-51MCS-51共有共有111
40、111条指令。条指令。按其长度可分为:单字节指令、双字节指令、三字节指令。MCS-51指令的取指/执行时序 程序:程序:指令的集合称为指令的集合称为程序程序,执行程序的过程就是执行指令,执行程序的过程就是执行指令的过程。的过程。 单片机执行任何一条指令时都可以分为单片机执行任何一条指令时都可以分为取指阶段取指阶段和和执行执行阶段阶段。 在取指阶段,在取指阶段,CPU从程序存储器中取出指令操作码,送从程序存储器中取出指令操作码,送指令寄存器,再经指令译码器译码,产生一系列控制信号,指令寄存器,再经指令译码器译码,产生一系列控制信号,完成本指令规定的操作。完成本指令规定的操作。 单周期和双周期指令
41、的取指时序图如下页图所示。单周期和双周期指令的取指时序图如下页图所示。 ALE信号是用于锁存低信号是用于锁存低8位地址的选通信号,每位地址的选通信号,每出现一次该信号,单片机即进行一次读指令操作。出现一次该信号,单片机即进行一次读指令操作。当指令为多字节或多周期指令时,只有第一个当指令为多字节或多周期指令时,只有第一个ALE信号进行读指令操作,其余的信号进行读指令操作,其余的ALE信号为无效操作信号为无效操作(或读操作数操作)。(或读操作数操作)。802P1P1S2S6S2P1P1S2S6SALE2S1S6S1S单字节单周期指令例:INC A读操作码读操作码)读下一个操作码(丢弃读下一个操作码(丢弃3S4S5S2S1S6S1S3S4S5S读操作码读操作码读第二个字节读第二个字节双字节单周期指令例:ADD A,DATA2S1S6S3S4S5S2S1S6S3S4S5S读操作码读操作码读读操操作作码码(丢丢弃弃)单字节双周期指令例:单字节双周期指令例:INC DPTR81(2 2)双字节单周期指令:)双字节单周期指令:ADD AADD A,#data#dataALE两次读操作都有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年案例分析面试流程
- 2026年证券从业资格投资基础高频考点
- 2026年行政管理专业面试题
- 第14课 鸟鸣枝头说课稿2025学年初中艺术·美术岭南美版2024七年级下册-岭南美版2024
- 2026年说课稿我和昆虫人美
- 2026年田野在召唤说课稿
- 2026及未来5年焊接钢筋网项目可行性研究报告(市场调查与数据分析)
- 患者费用解读服务与成本透明化支持
- 2026及未来5年汽车自动升降器开关总成项目可行性研究报告(市场调查与数据分析)
- 2026年天窗板块说课稿
- GB/T 2970-2016厚钢板超声检测方法
- 智能农业实验报告
- GB/T 23445-2009聚合物水泥防水涂料
- 人工神经网络HOPFIELD神经网络
- 中小学生励志主题班会课件《告诉你孩子:几年的放纵-换来的是一生卑微和坎坷》
- 2022年山东司法警官职业学院单招综合素质考试笔试试题及答案解析
- 022pet热灌装饮料生产工艺及品质控制
- (完整版)英语高频词汇800词
- 墙板安装工艺流程
- 三年级下册语文教案- 习作八 这样想象真有趣 人教部编版
- 广西壮族自治区河池市各县区乡镇行政村村庄村名明细及行政区划划分代码居民村民委员会
评论
0/150
提交评论