第2章MCS-51单片机硬件结构和原理返回目录返回上一次200:55熟悉MCS-51单片机CPU内部组成结构、各功能部件的作用;掌握MCS-51单片机引脚功能;掌握存储器的组织结构;掌握P0~P3并行I/O口结构;掌握时钟电路、CPU时序和复位电路。本章教学要求返回目录返回上一次300:55本章目录2.1MCS-51系列单片机分类2.2单片机硬件结构2.2.1单片机的引脚功能2.2.2单片机的内部结构2.3中央处理器(CPU)2.3.1运算器2.3.2控制器2.3.3布尔(位)处理器2.4存储器2.4.1程序存储器2.4.2数据存储器返回目录返回上一次400:55本章目录2.7单片机的工作方式2.7.1复位方式2.7.2程序执行方式2.7.3低功耗运行方式习题与思考题2.5并行输入/输出端口2.5.1P1口2.5.2P2口2.5.3P3口2.5.4P0口2.5.5并行口的应用2.6时钟电路和时序2.6.1时钟电路2.6.2时序返回目录返回上一次500:552.1MCS-51系列单片机的分类自从Intel公司于20世纪80年代初推出MCS-51系列单片机以后,所有的51系列单片机都是以Intel公司最早的典型产品8051为核心,增加一定的功能部件后构成的。本章以8051为主阐述MCS-51系列单片机的系统结构、工作原理和应用中的一些技术问题。MCS-51系列可分为两大系列:51子系列和52子系列。51子系列主要有8031、8051和8751三种机型。52子系列主要有8032、8052和8752三种机型。返回目录返回上一次600:55表2-1MCS-51系列单片机的性能一览表2.1MCS-51系列单片机的分类返回目录返回上一次700:55MCS-51单片机的主要性能和特点(以8051为例)内部程序存储器ROM:4K的存储容量;内部数据存储器RAM:256B(128B的RAM+21B的SFR);寄存器:设4个寄存器区,每个区有R0~R7八个工作寄存器;4个8位并行输入输出端口:P0、P1、P2和P3;串型口:全双工的端口(RXD:接收端,TXD发送端);定时/计数器:2个16位的定时/计数器;中断系统:设有5个中断源;2.1单片机硬件结构51单片机的主要性能和特点返回目录返回上一次800:55系统扩展能力:可外接64K的ROM和64K的RAM;堆栈:设在RAM单元中,可以浮动既通过堆栈指针SP来确定堆栈的位置(复位时SP=07H);布尔处理机:配合布尔运算的指令进行各种逻辑运算;指令系统:111条指令。按功能可分为5大类。既:数据传送;算术运算;逻辑运算;控制转移;布尔操作。2.1单片机硬件结构51单片机的主要性能和特点返回目录返回上一次900:55MCS-51单片机内部方框图时钟电路4KROM程序存储器256BRAM数据存储器2X16位定时/计数器CPU中央处理器64KB总线扩展控制器可编程I/O端口P0-3可编程串行口MCS-51单片机系统结构概述2.2单片机硬件结构返回目录返回上一次1000:551)中央处理器(CPU)(CentralProcessingUnit)中央处理器是单片机的核心,完成运算和控制功能。它由算术/逻辑运算部件ALU、布尔处理器、累加器、寄存器、控制部件等组成。MCS-51的CPU能处理8位二进制数或代码,实现八位数据的算术运算和逻辑运算。MCS-51单片机系统结构概述2.2单片机硬件结构返回目录返回上一次1100:552)内部数据存储器(内部RAM)8051芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。MCS-51单片机系统结构概述2.2单片机硬件结构返回目录返回上一次1200:553)内部程序存储器(内部ROM)8051共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。4)定时/计数器8051共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。MCS-51单片机系统结构概述2.2单片机硬件结构返回目录返回上一次1300:555)并行I/O口MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。6)串行口MCS-51单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。MCS-51单片机系统结构概述2.2单片机硬件结构返回目录返回上一次1400:557)中断控制系统MCS-51单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外部中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。8)时钟电路MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。MCS-51单片机系统结构概述2.2单片机硬件结构返回目录返回上一次1500:552.2单片机硬件结构芯片引脚按功能分成3类,即:2.2.1单片机的引脚功能51单片机的引脚功能数据总线地址总线控制总线返回目录返回上一次1600:551.主电源引脚Vcc和VssVcc(+5V)电源输入端Vss(GND)共用接地端2.2.1单片机的引脚功能51单片机电源引脚返回目录返回上一次1700:552.时钟振荡电路引脚XTAL1和XTAL2XTAL1和XTAL2分别用做晶体振荡电路的反相器输入端和输出端。在使用内部振荡电路时,这两个端子外接石英晶体,振荡频率为晶体振荡频率,振荡信号送至内部时钟电路产生时钟脉冲信号。晶体频率范围0-24MHz。当采用外部振荡器时,XTAL1(19脚)接地,XTAL2(18脚)输入外部的振荡信号。2.2.1单片机的引脚功能51单片机时钟引脚返回目录返回上一次1800:553.控制信号引脚RST为复位信号输入端,VPD为内部RAM的备用电源输入端PSEN外部程序存储器的读选通信号ALE地址锁存允许信号2.2.1单片机的引脚功能复位/外部存储器/地址锁存引脚返回目录返回上一次1900:55复位信号输入端RST当RST(RESET)端保持两个机器周期(24个时钟周期)以上的高电平时,单片机完成复位操作。VPD为内部RAM的备用电源输入端。当主电源Vcc一旦发生断电或电压降到一定值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使Vcc上电后能继续正常运行。2.2.1单片机的引脚功能复位引脚返回目录返回上一次2000:55外部程序存储器的读选通信号。当访问外部ROM时,产生负脉冲作为外部ROM的选通信号。2.2.1单片机的引脚功能ALE与PSEN引脚地址锁存允许信号ALE在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。PROG是对8751内部EPROM编程时的编程脉冲输入端。读选通信号/PSEN返回目录返回上一次2100:55外部程序存储器控制信号/EA/EA=0:访问外部程序存储器。/EA=1:访问片内与片外程序存储器。2.2.1单片机的引脚功能内外程序存储器控制引脚返回目录返回上一次2200:55P0端口P0端口(P0.0~P0.7)第一功能:是一个8位漏极开路型的双向I/O口,这时P0口可看成用户数据总线;第二功能:是在访问外部存储器时,分时提供低8位地址和8位双向数据总线,这时先用做地址总线再用做数据总线。4.P0、P1、P2、P3端口2.2.1单片机的引脚功能返回目录返回上一次2300:55P1口(P1.0~P1.7)内部带上拉电阻的8位准双向I/O口。P2口(P2.0~P2.7)第一功能:一个内部带上拉电阻的8位准双向I/O口。第二功能:在访问外部存储器时,输出高8位地址。P3口(P3.0~P3.7)第一功能:内部带上拉电阻的8位准双向I/O口。在系统中,这8个引脚都有各自的第二功能。2.2.1单片机的引脚功能P1、P2和P3端口返回目录返回上一次2400:552.2.2单片机的内部结构一个8位CPU;4KB程序存储器,采用ROM或EPROM(8031无ROM);128B通用数据存储器;21个特殊功能寄存器(SFR);4个8位并行口,其中P0、P2、P3是复用口(P0和P2为地址/数据线,可寻址64KBROM和64KBRAM);一个可编程全双工串行口;具有5个中断源,两个优先级嵌套结构;两个16位定时/计数器;一个片内振荡器与时钟电路。51单片机内部主要器件总结返回目录返回上一次2500:552.2.2单片机的内部结构51单片机内部主要部件返回目录返回上一次2600:552.3中央处理器(CPU)单片机的核心部分是CPU,由运算器、控制器和布尔(位)处理器组成。返回目录返回上一次2700:552.3.1运算器运算器——算术逻辑单元(ALU)还包括:累加器(ACC)程序状态字(PSW)暂存器B寄存器等部件运算器的组成返回目录返回上一次2800:551.累加器累加器是一个8位寄存器。在指令系统中,累加器在直接寻址时的助记符为ACC。除此之外全部用助记符A表示。2.3.1运算器累加器返回目录返回上一次2900:55算术/逻辑部件算术/逻辑部件ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。在控制信号的作用下,完成算术加、减、乘、除和逻辑与、或、异或等运算,以及循环移位操作、位操作等功能。2.3.1运算器2.算术/逻辑部件返回目录返回上一次3000:55程序状态字寄存器程序状态字寄存器PSW是一个8位寄存器,用来存放运算结果的一些特征。进位标志位半进位标志位用户自定义标志位工作寄存器组选择位溢出标志位奇偶校验标志位2.3.1运算器3.程序状态字寄存器返回目录返回上一次3100:554.B寄存器在进行乘法、除法运算时,B寄存器作为ALU的输入之一,与ACC配合完成运算,并存放运算结果。在无乘除运算时,它可作为内部RAM的一个单元。2.3.1运算器寄存器返回目录返回上一次3200:552.3.2控制器定时控制逻辑指令寄存器数据指针(DPTR)程序计数器(PC)堆栈指针(SP)地址寄存器地址缓冲器控制器的组成控制器是CPU的大脑中枢,它包括:返回目录返回上一次3300:551.程序计数器程序计数器(ProgramCounter,PC)用来存放下一条要执行的指令的地址。当按照PC所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。2.3.2控制器程序计数器返回目录返回上一次3400:552.堆栈指针堆栈指针(StackPointer,SP)是指在片内RAM的l28B(52子系列为256B)空间中开辟的堆栈区的栈顶地址,并随时跟踪栈顶地址变化。堆栈是按先进后出的原则存取数据的,开机复位后,单片机栈底地址为07H。2.3.2控制器堆栈指针返回目录返回上一次3500:553.指令寄存器和指令译码器指令寄存器和指令译码器(InstructionRegister,IR)的功能是对将要执行的指令进行存储和译码。当指令送入指令寄存器后,对该指令进行译码,即把指令转变成所需的电平信号,CPU根据译码输出的电平信号,使定时控制电路产生执行该指令所需的各种控制信号,以便计算机能正确地执行指令所要求的操作。2.3.2控制器指令寄存与译码返回目录返回上一次3600:554.数据指针由于8051系列单片机可以外接64KB的数据存储器和I/O接口电路,故在单片机内设置了l6位的数据指针寄存器(DataPointer,DPTR)。它可以对64KB的外部数据存储器和I/O进行寻址,DPTR可分为高8位数据指针寄存器(DPH)和低8位数据指针寄存器(DPL),地址分别为83H和82H。2.3.2控制器数据指针返回目录返回上一次3700: