1、第二章 MCS-51单片机 组成与工作原理2-1 MCS-51单片机结构及组成 2-2 MCS-51单片机存储器组织,2-1 MCS-51单片机结构及组成一、系统资源及主要性能特点1、系统资源8051单片机是Intel公司1980推出的高档8位单片机,采 用40脚双列直插封装或44脚方形封装,51、52系列功能兼容。80C51内包括:8位CPU,包含适于布尔处理的处理机;内部4K字节ROM,128字节RAM,外部可扩展到64K;21个特殊功能寄存器;32根IO口线,分四个IO口:P0、P1、P2、P3口;2个16位的定时器计数器;一个中断系统:具有5个中断源,2个优先级;一个全双工串行口;可寻
2、址64K的外部程序、数据存储空间;,2、性能特点单片机为哈佛结构的计算机,除上述基本资源外,还具 有如下特点:外部程序存储器:可扩展到64KB;外部数据存储器:可扩展到64KB;堆 栈:最深128B;输入 / 输出口线:32根;寄 存 器 区:划出RAM中32B作为通用寄存器;具有位寻址功能;单一“+5V”电源; 系统时钟112 MHz,常用12MHz、11.0592MHz 和 6MHz。,二、MCS-51单片机基本结构 1、内部结构框图结构简图如图2-1所示包括:CPU、存储器(ROM、RAM)、I/O接口等计算机的基本组成。,2、外部引脚 共40个引脚,大致可分为四类,其逻辑符号如图2-2
3、所示。1)电源引脚VCC和VSSVCC:40脚,电源端,+5VVSS:20脚,接地端(GND)2)时钟电路引脚XTAL1:19脚,外接晶振输入引脚。XTAL2:18脚,外接晶振输出引脚。3)控制线引脚共4根,其中3根为双功能RST/VPD :9脚,复位/备用电源。RST-通过外接复位电路实现上电复位或按键复位。VPD-可外接备用电源,在VCC掉电时向RAM供电。, /VPP :31脚,内外ROM的选择/ EPROM编程电源。=0:访问外部ROM;=1:访问内部ROM;PC值超过0FFFH(4KB)时,自动转向外ROM。VPP -在8751片内EPROM编程期间,为21V编程电源输入端。ALE/
4、 :30脚,地址锁存允许/编程脉冲。ALE-访问外ROM或RAM时,用来驱动地址锁存器锁存P0口分时送出的低8位地址(下降沿有效)。不访问外存储器时,该端以1/6时钟频率输出正脉冲,可用作为外部时钟。带8个LS型TTL门电路。- 8751片内EPROM编程期间,此引脚输入编程脉冲。 :29脚,读外部ROM选通信号,即该脚有效时(上升沿),外ROM允许输出。每个机器周期2次有效。从内部ROM取指时不产生。可带8个LS型TTL门电路。,4)I/O引脚P0口:P0.0P0.7,3932脚,外接存储器时作地址/数据分时使用口线;不接外部存储器时,可用作为8位准双向 I/O口。P1口:P1.0P1.7,
5、18脚,8位准双向I/O口。P2口:P2.0P2.7,2128脚,8位准双向I/O口。外接存储器时作为高8位地址总线。P3口:P3.0P3.7,1017脚,8位准双向I/O口,出于芯片引脚数的限制,P3口具有第二输出、输入功能。三、微处理器(CPU) (一)运算器 组成:ALU、TMP1、TMP2、A、B、PSW、DA A电路和布尔 处 理机等。,DA A:BCD码十进制修正,由专用电路实现。布尔处理机:进位位CY,被称作“位累加器”,可在任何可寻址的位与CY间进行逻辑运算操作。与通用CPU相比,增加了暂存寄存器和B寄存器(二)控制器组成:PC、SP、DPTR、IR、ID、PLA等1、时钟电路
6、(1)振荡源(oscillation)MCS-51的HMOS(或CMOS)芯片内部时钟电路的振荡源有两种方式提供,即内部自激振荡方式、外部振荡脉冲源方式。,(1)振荡源(oscillation) 内部方式 在XTAL1、XTAL2跨接定时元件和两个电 容就构成了自激振荡器。如图2-3.1所示。C1、C2取530PF,起微调和稳定作用。晶振频率:fosc=1.212MHZ常用频率为6、12、11.0592 MHz。外部方式 外部振荡脉冲信号直接由XTAL1端输入,此时,CMOS单片机XTAL2应悬空,此时 片内振荡电路不起作用,如图2-3.2所示。常用于多块80C51同时工作,以便同步。,(2)
7、时序振荡脉冲并不直接使用,由XTAL2端送往内部时钟电路:经过2分频,向CPU提供2相时钟信号P1和P2;再经3分频,产生ALE时序;经过12分频,成为机器周期信号,如图2-3.3所示。 需要指出的是,CPU的运算操作在P1期间,数据传送在P2期间。,时钟周期:振荡器输出的时钟脉冲频率的倒数。为单片机中最小、最基本的时间单位。 状态周期:振荡信号经2分频后获得的信号周期,称 S,显然,S为时钟周期的2倍。 机器周期:12个时钟周期为一个机器周期,对应计算 机执行一个基本操作所需的时间。 指令周期:执行一条指令所需的时间,至少包含一个 机器周期。 指令字节:指令占用存储空间的字节数,有单字节、
8、双字节、三字节三类。当时钟频率为12MHz和6MHz时,时钟周期分别为 1/12us和1/6us ,机器周期分别为1us和2us。,ALE时序:地址锁存信号,每个机器周期2次有效,分别在S1、S4状态。每次出现,CPU进行一次取指操作。2、复位电路MCS-51单片机的复位信号,高电平有效。电路结构如图2-4, RST/VPD引脚至少保持2个机器周期的高电平,才能复位。 (1)复位工作状态复位时,各SFR寄存器的状态为:(PC)=0000H;(SP)=07H;(P0P3)=FFH;其余SFR寄存器内容均为0;RAM的内容保持不变;外部引脚,ALE=0, =1。,(2)复位电路复位方式有上电自动复
9、位、按键手动复位两种。 如图2-4所示。在按键手动电平复位电路中,具有上 电和按键双重功能。,3、指针 程序计数器 PC 16位计数器,指向程序存储器中被执行的指令所在的地址。本身没有地址,在物理上独立。寻址范围0000FFFFH的64KB空间。 数据指针DPTR 16位地址指针,可寻址范围0000FFFFH 的64KB空间,可指向程序、数据存储器。 堆栈指针SP 8位地址寄存器,SP用来管理堆栈。它指向内部RAM的一个存储单元,且总是指向栈顶单元。MCS-51的堆栈是内部RAM中的一个部分,符合“先进后出、后进先出”原则。,四、存储器MCS-51的程序存储器与数据存储器是分开的,地址空 间重
10、迭,最大可扩展到64KB。 1、程序存储器ROM (1)80C31内部无程序存储器由于8C031无片内程序存储器,需外接,因此, 端必须 外接低电平,如图2-6所示。 (2)80C51、87C51内部有4KB ROM/EPROM=0,使用外部程序存储器;=1,使用内部程序存储器4KB空间,当PC的值超过4KB范围时,自动转向外部程序存储器。 2、数据存储器RAM (1)内部RAM中低128B,007FH; (2)外部RAM,可扩至64KB,0000FFFFH,五、并行输入/输出口MCS-51单片机有4个8位并行I/O口,P0P3,共32根口线。 每个端口都包括:锁存器(即SFR:P0-P3)、
11、输出驱动器、 两个三态缓冲器以及控制电路。结构如下图所示。,1、P1口(90H) 特点: (1)准双向口:作为I/O输入时,口锁存器必须置“1”,使T截止,输入信号通过“读引脚”三态缓冲器进入内部总线。 (2)内部有上拉电阻(20K40K); (3)CPU读P1口的二种情况:读P1口的锁存器状态值:“读改写”指令。 例ANL P1,#0FH;读P1口的引脚(外部输入)。例MOV A,P1;,2、P3口(B0H)特点: (1)准双向口:条件为第二功能输出端常“1”,与门开锁; (2)第二功能口:作为第二功能口使用时,(P3)=FFH;某 位作为第二功能输入时,第二功能输出也必须置“1”。,第二功
12、能输出:P3.0RXD,串行输出口;P3.6 ,外部数据存储器写选通信号 P3.7 ,外部数据存储器读选通信号第二功能输入:P3.1TXD,串行输入口; P3.2 ,外部中断输入0 ; P3.3 ,外部中断输入1;P3.4T0,外部计数输入0P3.5T1,外部计数输入1; 3、P2口(A0H) 特点: (1)控制端高电平时,作为高8位地址输出口。 (2)控制端低电平时,最小系统(8051、8751)作准双向口。,P2口结构 4、P0口(80H) 特点: (1)控制端高电平时,作为低8位地址和8位数据分时使用口,供扩展时使用。 (2)控制端低电平时,T1截止,使T2漏极开路,输出“1”时须外接上
13、拉电阻,最小系统(80C51、87C51)作准双向。,P0口结构 注意: P0口作地址/数据总线输出时,通过反相器、与门工作。 P0口作外部数据输入时,CPU使T1、T2均截止,引脚浮空,第三态,数据经“读引脚”输入缓冲器进入内部总线-是真正的双向口。,端口小结: (1)系统总线:地址总线(16位):P0(地址低8位)、P2口(地址高8位) 数据总线(8位):P0口(地址/数据分时使用);控制总线(6根):P3口的第二功能、和9、29、30、31脚; (2)供用户使用的端口:P1口、部分未作第二功能的P3口; (3)P0口作地址/数据时,是真正的双向口,三态,负载能力为8个LSTTL电路;P1
14、P3是准双向口,负载能力为4个LSTTL电路。 (4)P0P3在用作输入之前必须先写“1”,即:(P0)=FFH (P3)=FFH 。,六、MCS-51单片机最小应用系统结构 1、8751/8051最小应用系统外接时钟电路和复位电路,即构成应用系统,如图2-6.1。特点: 1)不扩展外ROM、外RAM, 接高电平,P0P3口都可用作I/O口; 2)128BRAM、4KBROM,容量有限; 3)开发时、应用时P0、P2口的环境差异较大; 4)8051系统应用软件需厂家置入,一般用作为大批量产品。 2、80C31最小应用系统外接时钟电路和复位电路,需外扩一片程序存储器,一 般为EPROM,构成应用
15、系统,如图2-6.2。 特点: 1)P0、P2口只能作总线用,剩下P1、P3口作I/O口。 2) 接地,ALE、 作为地址锁存和读ROM信号。,2-2 MCS-51单片机存储器组织MCS-51存储器可分为五类:程序存储器、内部数据存 储器、特殊功能存储器、位寻址区、外部扩展的数据存储器和 扩展I/O口。如图2-7所示。,一、程序存储器1、程序存储器作用及寻址范围作 用:存放指令(程序)的存储器,用PC作地址指针。寻址范围:0000FFFFH,共64KB;片内、片外统一编址。片内:PC=00000FFFH;片外:PC=1000FFFFH;2、ROM低端的几个特殊入口地址0000H:CPU开始执行
16、指令时的第一个取指单元,每次执行时 PC的内容总是0000H;0003H002B:中断专用固定入口地址(系统规定);一般:我们总是从ROM的0030H单元开始存放用户指令。,二、内部数据存储器字节地址:007FH;有128个8位单元字节。按功能划分为三个部分: 1、工作寄存器区:001FH (1)共分4个区,0007,080F,1017,181F; (2)每区有8个工作寄存器:R0R7; (3)当前工作寄存器区:由PSW中的第三、第四位选择,具 有快速保护现场数据的作用,也可作为一般的数据缓冲器。 PSW4(RS1) PSW3(RS0) 当前区 字节地址 工作寄存器0 0 0 区 0007H
17、(R0R7)0 1 1 区 080FH (R0R7)1 0 2 区 1017H (R0R7)1 1 3 区 181FH (R0R7),2、位寻址区: 20H2FH共16个字节,168=128个位,位地址:007FH。51系列整个位地址空间为:00FFH,共211位。 1)007FH为片内RAM中202FH的16个字节单元 中的128个位。 2)80FFH中11个SFR的可寻址位,83位。它们是:A、B、PSW、P0P3、TCON、SCON、IE、IP52系列的SFR可寻址为93位,共221位。 3、数据缓冲区: 30H7FH (1)作为通用的按字节操作的数据缓冲区。 (2)常开辟为堆栈区。堆栈
18、主要为子程序和中断操作而设立,是一种数据结构, 它只允许在其一端进行数据的插入和删除操作,又称为入栈和 出栈,MCS-51的堆栈是向上生长型的。,堆栈的特点: 是一个符合“先进后出、后进先出”的RAM区域 SP总是指向堆栈的顶部(保存有数据); 堆栈可以设在内部RAM中的任意区域,一般开辟 在307FH中。 堆栈的功能: 保护断点-保护从主程序转向子程序、中断时的断点,发生转移时自动完成。 保护现场-对子程序、中断程序中要用到的、现场的某些寄存器的内容进行保护,以保证返回时确恢复。软件指令方式实现。 数据的临时存放。,三、特殊功能寄存器区:80FFH即SFR,包括I/O锁存器、定时器、串行口、
19、中断、状态、控制寄存器等共21个。离散地分布在80FFH中(不包括PC)。 如下所示:算术运算寄存器:A、B、PSW指针寄存器:SP、DPTR(DPH,DPL)并行口:P0、P1、P2、P3串行口:SCON、SBUF、PCON中断系统:IP、IE定时/计数器:TMOD、TCON、TH0、TL0、TH1、TL1特别需要指出的是,51系列内部RAM,80FFH中未定义 的单位为不可访问单元。,四、外部扩展数据存储器和扩展I/O口外部扩展数据存储器:最大可扩展到64KB,由P3口的第二功能、控制其读、写,并通过MOVX指令访问。扩展I/O口:MCS-51单片机将其看作外RAM的一个单元,与外RAM统一编址,提供16位寻址能力,寻址范围也是64K,但需要注意的是,为区别于外RAM地址,扩展I/O口一般用高端地址。,本章小结,1、单片机结构框图、硬件资源、引脚功能 2、 CPU、存储器配置、P0P3口 3、内部数据存储器、特殊功能存储器、位 地址空间、程序存储器、数据存储器和外部扩展端口 重点:引脚功能、存储器空间结构 难点:存储器地址和存储器的内容难以区 别,字节地址和位地址难以理解,