预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共72页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章MCS-51系列单片机结构和工作原理2.1MCS-51系列单片机概述 2.28051单片机的内部结构和工作原理 2.38051单片机的工作方式8051是最早生产、最典型的产品。MCS-51系列的Intel公司将MCS-51的核心技术授权给了很多其他公司,所以有很多公司在生产以8051为核心的单片机。在我国使用的,具代表性的芯片是Phillips的80系列和Atmel的AT89系列单片机。 本书主要介绍的MCS-51系列单片机的硬件、软件及其应用。MCS-51系列单片机共有十多种芯片,分为两大系列,即51子系列与52子系列,并以芯片型号的末位数字最为标志。它们的内部结构基本相同,其中51子系列是基本型,52子系列是增强型。MCS-51系列单片机各种芯片的技术指标见表2-1。表2-1MCS-51系列单片机芯片技术指标单片机的内部结构可寻址64KB外部数据存储空间和64KB外部程序存储器的控制电路。 1个可编程的并行I/O端口、4个8位并行I/O端口(P0~P3)。 21个特殊功能寄存器。 具有5个中断源、2个优先级的中断结构。 图2-1-18051内部结构示意图2.2CPU的内部结构8051单片机的CPU结构运算器的功能是进行算术、逻辑运算、位变量处理和数据传送等操作。 主要由算术逻辑运算单元ALU、寄存器A、寄存器B、程序状态字寄存器PSW组成。1.算术逻辑运算单元 算术逻辑运算单元用来完成二进制书的四则运算和布尔代数的逻辑运算,并将结果送带累加器A和B寄存器等,将运算的状态送程序状态字PSW的相应标志位。2.累加器A 累加器A是8位通用寄存器,是CPU中使用最频繁的寄存器。它用于向ALU提供操作数和存放运算的结果。在运算时将一个操作数经过暂存器送至ALU,与另外一个来自暂存器的操作数在ALU中进行运算,运算结果再送回累加器A。3.寄存器B 寄存器B又称为乘法寄存器,它与累加器A协同工作,可进行乘法操作和除法操作。 在乘除指令中运用到寄存器B,乘法指令中的两个操作数分别取自于A、B寄存器,其结果也存放在A、B寄存器中,A存放乘积的低8位,B存放乘积的高8位;除法指令中,被除数取自A,除数取自B,进行运算后,商数存放于A,余数存放于B。在一般状态下寄存器B也可作为普通的寄存器使用。4.程序状态字PSW 程序状态字PSW是一个8位寄存器,用于指示指令执行后的状态信息,相当于一般微处理器的标志寄存器。其有关位用来表示ALU操作的结果状态或CPU的工作状态,供程序查询和判别,其各位的含义见表2-2,其中D1位未定义。表2-3PSW各位功能对应表各个标志位的含义如下:RS1、RS0(PSW.4、PSW.3):工作寄存器区选择控制位 8051共有8个8位的工作寄存器R0~R7。可以用软件来置位或者清零,以确定当前使用的工作寄存器组。用户可以通过改变RS1和RS0的状态来决定R0~R7的实际物理地址。 RS1和RS0与工作寄存器R0~R7的物理地址之间的关系见表2-4。表2-4RS1和RS0与工作寄存器的关系对照表OV(PSW.2):溢出标志位。 当执行运算指令时,由硬件置位或清除,以指示运算是否产生溢出,OV置位表示运算结果超出了目的寄存器A所能表示的带符号数的范围(一128~+127)。 若以Ci表示位i向位i+l有进位,则OV=C6⊕C7;当位6向位7有进位(借位)而位7不向CY进位(借位)时;或当位7向C进位(借位)而位6不向位7进位(借位)时OV标志置位,表示带符号数运算时运算结果是错误的;否则,清除OV标志,运算结果正确。对于MUL乘法,当A、B两个乘数的积超过255时OV置位;否则,OV=0。因此,若OV=0时,只需从A寄存器中取积;若OV=1时,则需从B、A寄存器对中取积。对于DIV除法,若除数为0时,OV=1;否则,OV=0。 P(PSW.0):奇偶标志位 每个指令周期都由硬件来置位或清零,以表示累加器A中1的个数的奇偶性。若1的个数为奇数,则P置1;若1的个数为偶数,则P清零。5.布尔处理器 在8051片内还有一个布尔处理器,它以PSW中的进位标志位CY为其累加器(在布尔处理器及其指令中以C代替CY),专门用于处理位操作。如可执行置位、位清0、位取反、位等于1转移、位等于0转移、位等于1转移并清0以及位累加器C与其他可位寻址的空间之间进行信息传送等位操作,也能使C与其他可寻址位之间进行逻辑“与”、逻辑“或”操作,并将结果存放在进位标志位(位累加器)C中。 控制器是CPU的指挥控制部件,用于对来自存储器中的指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需要的控制信号,使各部件协调工作,完成指令所规定的操作。同一般处理器的控制器一样,8051的控制器也是由指令寄存器IR、指令译码器ID、