第2章MCS-51单片机芯片的结构及原理第2章MCS-51单片机芯片的结构及原理2.1MCS-51单片机基本结构与封装2.2MCS-51单片机的存储器2.3MCS-51单片机I/O口电路2.4MCS-51单片机的时钟电路与工作时序2.5MCS-51单片机工作方式2.6其他单片机的对照描述本章小结练习与思考题第2章MCS-51单片机芯片的结构及原理2.1MCS-51单片机基本结构与封装2.1.1MCS-51单片机的基本结构与内部结构1. MCS-51单片机基本结构微型计算机基本结构都是由运算器、控制器、存储器、输入设备以及输出设备共5个基本部分组成。单片机与微型计算机的基本结构非常相似,所不同的是单片机将运算器、控制器、少量的存储器、最基本的输入/输出口电路、串行口电路、中断和定时电路等集成在一个芯片上。以MCS-51为例,单片机系统结构如图2-1所示。第2章MCS-51单片机芯片的结构及原理图2-1MCS-51单片机系统结构框图第2章MCS-51单片机芯片的结构及原理MCS-51单片机主要由以下几部分组成。1) CPU系统CPU系统包括:8位CPU,含布尔代数处理器;时钟电路;总线控制逻辑。2)存储系统存储系统包括:4KB的程序存储器(可外部扩展至64KB);128B的数据存储器(可外部扩展至64KB);特殊功能寄存器SFP。第2章MCS-51单片机芯片的结构及原理3) I/O口和其他功能单元这部分包括:4个并行I/O口;2个16位定时器/计数器;1个全双工异步串行口;中断系统(含5个中断源,2个优先级)。第2章MCS-51单片机芯片的结构及原理2. MCS-51单片机内部结构MCS-51单片机的系统结构如图2-1所示,它在一块芯片上集成了一个微型计算机的各个部分。由图中可见,MCS-51单片机是由8位CPU、程序存储器(EPROM/ROM)、数据存储器(RAM)、并行I/O口、串行I/O口、定时器/计数器、中断系统、振荡器和时钟电路等部分组成,各部分之间通过内部总线相连。图2-2为MCS-51单片机的内部结构框图。下面介绍各部分的功能。第2章MCS-51单片机芯片的结构及原理图2-2MCS-51单片机的内部结构框图第2章MCS-51单片机芯片的结构及原理1)中央处理器(CPU)MCS-51单片机的核心部分是中央处理器,简称CPU。CPU是单片机的核心,完成运算和控制操作。它由运算器和控制器两大部分组成。(1)运算器。MCS-51单片机的运算器用来完成算术运算、逻辑运算及进行位操作(布尔处理)。它由算术/逻辑单元(ALU)、累加器A、寄存器B、暂存寄存器、程序状态字寄存器PSW等组成。第2章MCS-51单片机芯片的结构及原理算术/逻辑单元(ALU)由加法器和相应的控制器逻辑电路组成。其功能强大,既可以实现8位数据的加、减、乘、除算术运算和与、或、异或、循环、求补等逻辑运算,同时还具有位处理功能。运算的结果送入累加器A,同时影响标志位寄存器的状态。累加器A是一个特殊的寄存器。用于向ALU提供操作数和存放运算的结果。在运算时将一个操作数经暂存寄存器送至ALU,与另一个来自暂存寄存器的操作数在ALU中进行运算,运算后的结果又送入累加器A中。第2章MCS-51单片机芯片的结构及原理同一般微型机一样,MCS-51单片机在结构上也以累加器A为中心,大部分指令的执行都要通过累加器A进行。寄存器B在乘、除运算时用来存放一个操作数,也用来存放运算后的一部分结果,还可以作为通用的寄存器使用。暂存寄存器用来暂时存放数据总线和其他寄存器送来的操作数。它作为ALU的数据输入源,向ALU提供操作数。第2章MCS-51单片机芯片的结构及原理程序状态字寄存器PSW是状态标志寄存器,它用来保存ALU运算结果的特征(如运算结果是否为0等)和处理状态。这些特征和状态可以作为控制程序转移的条件,供程序判别和查询。(2)控制器。控制器同一般微处理器的控制器一样,是用来统一控制和协调计算机进行工作的部件。它由程序计数器PC、指令寄存器IR、指令译码器ID和定时及控制逻辑电路等部分组成。第2章MCS-51单片机芯片的结构及原理程序计数器PC是16位的计数器。它总是存放下一条要读取的指令所在存储单元的16位地址。即CPU总是把PC的内容作为地址,按该地址从内存中读取指令。因此,每当取完一个字节后,PC的内容自动加1,为取下一个字节做好准备。只有在执行转移指令、子程序调用指令和中断响应时例外,这时PC的值由指令或中断响应过程自动装入。单片机上电或复位时,PC自动清0,即装入地址0000H,即在单片机上电和复位时,程序从0000H地址开始执行。第2章MCS-51单片机芯片的结构及原理指令寄存器IR用来保存当前正在执行的一条指令。若要执行一条指令,首先要把它从程序存储器读取到指令寄存器中。指令的内容包括操作码和地址码两部分,操作码送往指令译码器ID,经其译码后便确定了所要执行的操作,地址码送往操作数地址形成电路以便形成实际的操作数地址。定时与控制逻辑是中央处理器的核心部件,它控制读指令、执行指令、存取操作数或运算结果等操作,向其他部件发出各种操作控制信号,协调各部件的工作。80C51单片机片内设有振荡电路,只需外接石英晶体和频率微调电容就可产生内部时钟信号。第2章MCS-51单片机芯片的结构及原理2)存储器MCS-51单片机的存储器在物理上设计成程序存储器和数据存储器两个独立的空间。内部数据存储器包括RAM(128B × 8)和RAM地址寄存器等。实际上MCS-51单片机应共有256BRAM单元,但其中后128个单元被特殊功能寄存器占用(80H~FFH),供用户使用的只有前128B单元(00H~7FH),用于存放运算结果、暂存数据和数据缓存。因此,同上所说的内部数据寄存器一般是指前128B单元,简称内部RAM。第2章MCS-51单片机芯片的结构及原理内部程序寄存器包括ROM(4KB × 8)和程序地址寄存器等。MCS-51单片机共有4KBROM,用于存放程序和原始数据。因此称之为程序寄存器,简称片内ROM。其地址范围为0000H~07FFH。3)定时器/计数器MCS-51单片机共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对单片机进行控制。第2章MCS-51单片机芯片的结构及原理4)并行I/O口MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。5)串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其他数据设备之间的串行数据的传送。它既可作为全双工异步通信收发器使用,也可作为同步移位器使用。6)中断控制系统MCS-51单片机共有5个中断源,即2个外部中断,2个定时/计数中断,1个串行中断。其中中断优先权分为高级和低级两个中断优先级。第2章MCS-51单片机芯片的结构及原理5)串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其他数据设备之间的串行数据的传送。它既可作为全双工异步通信收发器使用,也可作为同步移位器使用。6)中断控制系统MCS-51单片机共有5个中断源,即2个外部中断,2个定时/计数中断,1个串行中断。其中中断优先权分为高级和低级两个中断优先级。第2章MCS-51单片机芯片的结构及原理7)时钟电路MCS-51单片机内部具有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列,典型的晶振频率为24MHz。8)位处理器MCS-51单片机主要用于控制,需要有坚强的位处理功能,对位进行置位、复位、求反以及逻辑运算。第2章MCS-51单片机芯片的结构及原理9)总线上述各部分都是通过总线连接的,构成一个完整的单片机系统。系统的地址信号、数据信号和控制信号都是通过总线传送的,减少单片机的连线和引脚,提高了集成度和可靠性。从上述内容可以看出,虽然MCS-51单片机只是一个芯片,但实际上它已是一个简单的微型计算机系统。第2章MCS-51单片机芯片的结构及原理2.1.2MCS-51单片机引脚分布及功能采用HMOS制造工艺制造的MCS-51单片机,都采用40引脚双列直插式封装。而采用CHMOS制造工艺的80C51/80C31,除采用40引脚双列直插式封装外,还采用方形的封装方式。图2-3为采用双列直插式封装的MCS-51系列单片机80C51引脚排列和逻辑符号。第2章MCS-51单片机芯片的结构及原理图2-380C51单片机引脚图第2章MCS-51单片机芯片的结构及原理引脚功能说明如下:1)电源引脚VCC(40脚):接+5V。VSS(20脚):接地。2)时钟信号引脚XTAL1(19脚):晶体振荡器接入的一个引脚。采用外部振荡器时,引脚接地。XTAL2(18脚):晶体振荡器接入的另一个引脚。采用外部振荡器时,引脚作为外部振荡信号的输入端。3)控制线第2章MCS-51单片机芯片的结构及原理(1)RST/VPD(9脚):复位信号输入引脚/备用电源输入引脚。(2)/VPP(31脚):片内外程序存储器选择引脚/片内EPROM(FlashROM)变成电压输入引脚。对片内EPROM编程时,此引脚(作VPP)接入21V编程电压。(3)ALE/(30脚):地址锁存允许信号输出引脚/编程脉冲输入引脚。(4) (29脚):外部程序存储器读选通控制信号。EAEAPROGPROGPSEN第2章MCS-51单片机芯片的结构及原理4)输入/输出口线(1) P0口(32~39脚):8位漏极开路型双向并行I/O口。(2) P1口(1~8脚):8位具有内部上拉电阻的准双向I/O口。(3) P2口(21~28脚):8位具有内部上拉电阻的准双向I/O口。(4) P3口(10~17脚):8位具有内部上拉电阻的准双向I/O口,每一位又具有如下的特殊功能(或称第二功能):P3.0(RXD):串行输入端。P3.1(TXD):串行输出端。第2章MCS-51单片机芯片的结构及原理P3.2():外部中断0输入端,低电平有效。P3.3():外部中断1输入端,低电平有效。P3.4(T0):定时器/计数器0外部事件计数输入端。P3.5(T1):定时器/计数器1外部事件计数输入端。P3.6():外部数据存储器写选通信号,低电平有效。P3.7():外部数据存储器读选通信号,低电平有效。INT0INT1WRRD第2章MCS-51单片机芯片的结构及原理2.2MCS-51单片机的存储器MCS-51系列单片机内集成有一定容量的程序存储器和数据存储器。其存储结构特点之一是将程序存储器和数据存储器完全独立,且具有各自的寻址机构和寻址方式。第2章MCS-51单片机芯片的结构及原理MCS-51单片机在物理上具有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。从逻辑上划分有3个存储器地址空间:片内外统一编址的64KB程序存储器地址空间,内部128B或256B(对于52系列)数据存储器地址空间和外部64KB的数据存储器地址空间,片内128B的特殊功能寄存器(SFR)。在访问这3个不同的逻辑空间的时候,应选用不同形式的指令(例如:MOV、MOVC、MOVX)。如图2-4所示为MCS-51系列单片机存储器的分配图。第2章MCS-51单片机芯片的结构及原理图2-4MCS-51单片机系统的存储器结构和存储器空间分布第2章MCS-51单片机芯片的结构及原理2.2.1MCS-51单片机的程序存储器程序存储器用于存放调试好的应用程序和表格常数。MCS-51单片机采用16位的程序计数器PC和16位的地址总线,使64KB的程序存储器空间连续、统一。对于内部有ROM的单片机(如80C51/87C51),在正常运行时应把引脚接高电平,使程序从内部ROM开始执行,当PC值超过内部ROM地址空间(0FFFH)时,会自动转向外部程序存储器的1000H~0FFFFH地址空间上去执行程序。对内部无ROM的单片机(如8031/8032),应始终接低电平,迫使CPU从外部程序存储器取指令。不论是执行内部或外部程序存储器的程序,其运行速度是相同的。EA第