《第2章 MCS-51单片机的硬件结构-精品文档资料.ppt》由会员分享,可在线阅读,更多相关《第2章 MCS-51单片机的硬件结构-精品文档资料.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2 2章章 MCS-51MCS-51单片机的硬件结构单片机的硬件结构2.1 MCS-512.1 MCS-51单片机的硬件结构概述单片机的硬件结构概述2.2 2.2 中央处理器中央处理器CPU CPU 2.3 MCS-512.3 MCS-51单片机的存储器单片机的存储器2.4 MCS-512.4 MCS-51单片机并行输入单片机并行输入/输出口输出口2.5 MCS-512.5 MCS-51单片机的复位单片机的复位2.6 2.6 单片机的几种工作方式单片机的几种工作方式2.1 MCS-512.1 MCS-51单片机的硬件结构概述单片机的硬件结构概述2.1.1 MCS-51单片机的内部结构框图
2、单片机主要部件有8个,通过片内总线连接而成:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行输入/输出口(P0口-P3口)、串行口、定时/计数器、中断系统及特殊功能寄存器。2.1.2 MCS-51单片机的引脚及片外总线结构 1.MCS-51单片机的引脚 MCS-51单片机的封装有两种形式:一种是双列直插式PDIP(PLASTIC DIP)封装的形式,另一种是方形封装形式PLCC(PLASTIC LEADED CHIP CARRIED),方形封装有44引脚,其中4个NC为空引脚。HMOS工艺的80C51单片机采用40引脚的PDIP封装,CHMOS工艺的单片机80
3、C51除采用PDIP封装外,还采用PLCC封装形式。40引脚PDIP封装的80C51单片机引脚排列图如图2.2所示。2.1 MCS-512.1 MCS-51单片机的硬件结构概述单片机的硬件结构概述P0口的P0.0P0.7引脚(3932脚)P1口的P1.0P1.7引脚(18脚)P2口的P2.0P2.7引脚(2821脚)P3口的P3.0P3.7引脚(1017脚)Vcc(40脚):电源端,接+5V;Vss(20脚):接地端;XTAL1(19脚)、XTAL2(18脚):外接石英晶体、微调电容或振荡信号输入引脚。RST/VPD(9脚):复位信号输入端引脚。第二功能为备用电源输入端。/Vpp(31脚):读
4、片内或片外程序存储器选择端引脚。第二功能为编程电压输入端。:低8位地址锁存允许信号输出引脚。第二功能为编程脉冲输入引脚;(29引脚):读片外程序存储器选通信号输出端引脚。2.1.2 MCS-512.1.2 MCS-51单片机的引脚及片外总线结构单片机的引脚及片外总线结构 地址总线(Address Bus,简写AB)地址线A0A15 共16位,P2口提供高8位地址A8A15,P0口经地址锁存器提供低8位地址A0A7。片外存储器可寻址范围达64KB(即=65536个字节)。数据总线(Data Bus,简写DB)地址线D0-D7共8位,由P0口提供,分时输送低8位地址(通过地址锁存器锁存)和8位数据
5、信息。控制总线(Control Bus,简写CB)控制总线由P3口的第二功能 (P3.6)、(P3.7)和3根独立的控制线 、ALE和 组成。2.MCS-51单片机的片外三总线结构 所谓总线,就是连接单片机与系统中各部件的一组公共的信号线。回上层目录回上层目录2.1.2 MCS-512.1.2 MCS-51单片机的引脚及片外总线结构单片机的引脚及片外总线结构2.2 2.2 中央处理器中央处理器CPUCPU2.2.1 CPU 的组成 CPU由运算器、控制器和若干特殊功能寄存器(如累加器A、B寄存器、程序状态字寄存器PSW、堆栈指针寄存器SP、数据指针寄存DPTR等)组成。1.运算器 具有一般微机
6、所不具备的位处理功能。2.控制器以主振频率为基准产生时钟信号,控制取指令、执行指令、存取操作数或运算结果等操作,并向其它部件发出各种微控制信号,保证单片机各部分能自动协调地工作。2.2.2 2.2.2 指令执行的基本过程指令执行的基本过程 1.单片机在工作前,首先必须在存储器中装入程序。所谓程序,就是为了完成某项工作,将一系列指令有序地组合,而指令则是要求单片机执行某种操作的命令。2.指令分为操作码和地址码两个部分,操作码部分规定了单片机操作类型,而地址码部分一般是直接或间接地给出了参与操作的数据的存放地址,所以地址码也可以直接称为操作数。3.单片机完成每项工作,必须有序地执行一系列指令。单片
7、机执行一条指令一般分为取指令和执行指令两个阶段。从存储器中取出指令,并且对指令进行译码,以明确该指令执行何种操作,以及操作数的存放地址(即操作数存放在哪一个单元中),再根据这个地址获取操作数,这是取指令阶段。按操作码指明的操作类型对获取的操作数进行操作(也可称为运算),这是执行指令阶段。2.2.2 2.2.2 指令执行的基本过程指令执行的基本过程 4.程序计数器(Program Counter简称PC)是一个16位的有自动加1功能的计数器。PC没有地址,是不可寻址的,因此用户不能对它进行读写。16位PC中的内容总是CPU将要执行的那条指令所存放的存储单元的首地址。在单片机复位时,PC中的内容为
8、0000H,指向第1条要执行的指令的首地址,在CPU从存储单元取指令的过程中,每取1个字节的内容,程序计数器PC就自动加1,在取完这条指令后,PC中的内容就是下一条要执行的指令所存放的存储单元的首地址。5.在实际应用中,有时CPU还要执行程序的转移、子程序的调用和中断响应等操作,那时PC中的内容不再是上述情况中简单的加1,而是根据不同的情况自动地被置入或修改成新的目的地址,从而改变程序的执行顺序。2.2.3 2.2.3 时钟电路与时序时钟电路与时序 时钟电路用于产生单片机工作所需要的时钟信号。时钟电路框图如图2.4所示。单片机芯片内部有一个高增益反向放大器,其输入引脚为XTAL1,输出引脚为X
9、TAL2,芯片外部通过这两个引脚接晶体振荡器CYS和微调电容器C1、C2形成反馈电路(通常取值在2030pF),构成稳定的自激振荡器,振荡频率范围通常是1.2MHz12MHz。振荡脉冲经分频后再为系统所用。PD是PCON中的控制位,当PD=1时,振荡器停止工作,系统进入低功耗工作态。时钟发生器实质上是一个2分频的触发器,其输入来自振荡器,输出为2相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟3分频后为ALE信号,其频率为fosc/6;状态时钟6分频后为机器周期,其频率为fosc/12(OSC是osillator的缩写)。我们也可以引入外部脉冲信号作为单片机的振荡脉冲,对于80C51
10、单片机而言,这时外部脉冲信号是经XTAL1引脚注入,而XTAL2引脚悬空,对外部信号的占空比没有要求,但高低电平持续的时间不就短于20ns。这种方式常用于多块芯片同时工作,这样便于同步,如图2.5所示。2.2.3 2.2.3 时钟电路与时序时钟电路与时序2.2.4 2.2.4 时序与时序定时单位时序与时序定时单位 所谓时序,是指在执行指令过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的相互关系。1.拍节:振荡脉冲的周期(晶振周期)定义为拍节(用“P”表示)。2.状态:振荡脉冲经过两分频后,就是单片机的时钟信号,把时钟信号的周期定义为状态(用“S”来表示)。这样,一个状态包含两个拍节
11、,前半周期为拍节1(P1),后半周期为拍节2(P2)。3.机器周期:规定一个机器周期为6个状态,相当于12个拍节,即12个振荡脉冲的周期,可分别用S1S6来表示状态,S1P1、S1P2、S2P1、S2P2S6P2来表示拍节。4.指令周期:执行一条指令所需要的时间称之为指令周期,指令周期以机器周期的数目来表示。2.3 MCS-512.3 MCS-51单片机的存储器单片机的存储器 2.3.1 MCS-51单片机存储器结构概述单片机存储器结构概述 与微机中不同,MCS-51单片机中存放程序的程序存储器和存放数据的数据存储器,在物理空间上是相互独立哈佛结构。MCS-51单片机的存储器在物理结构上可以分
12、为片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。而对这些空间的管理,是分为3个的逻辑地址空间进行的:片内片外统一编址的64KB程序存储器地址空间;片内独立编址的256B数据存储器地址空间;片外独立编址的64KB数据存储器地址空间。即访问这3个不同的逻辑空间,要采用不同形式的指令。如图2.7图图2.7 80512.7 8051单片机存储器地址空间单片机存储器地址空间2.3.2 2.3.2 程序存储器程序存储器1.8051单片机系列有片内有程序存储器和片内无程序存储器之分,片内存储器的容量大小也有所不同。8051单片机片内设置有4K字节的掩膜型ROM,其地址范围为0000H0FF
13、FH,若片外扩展程序存储器,其地址范围为1000HFFFFH。程序存储器的0000H002AH共43个单元用作存储特定程序的入口地址。0000H0002H这3个单元是系统的启动单元;0003H002AH共40个单元是中断服务程序地址区,它被分为五段,每段8个单元,分别分配给5个中断源:0003H000AH 外部中断0中断服务程序地址区;000BHOO12H 定时/计数器0中断服务程序地址区;0013H001AH 外部中断1中断服务程序地址区;001BH0022H 定时/计数器1中断服务程序地址区;0023H002AH 串行口中断服务程序地址区。2.3.3 MCS-512.3.3 MCS-51单
14、片机的数据存储器单片机的数据存储器 MCS-51单片机数据存储器是RAM型存储器,用于暂存数据和运算结果等。MCS-51单片机数据存储器也可以分为片内数据存储器和片外数据存储器。当片内数据存储器不够用时,可扩展片外数据存储器。一般情况下,片外数据存储器的容量不超过64KB。与内、外部的程序存储器不同,内部和外部数据存储器空间存在重叠(内部RAM的地址范围为00H0FFH,外部RAM的地址范围为0000H0FFFFH),通过不同指令来区别。当访问内部RAM时,用MOV类指令;当访问外部RAM时,则用MOVX类指令,所以地址重叠不会造成操作混乱。一、片内数据存储器二、片外数据存储器一、一、MCS-
15、51MCS-51单片机的内部数据存储器单片机的内部数据存储器 MCS-51单片机的内部数据存储器空间共计256字节,在功能上有具体分为片内数据存储器与特殊功能寄存器区,它们统一编址,其中片内数据存储器共有128个字节,占用00H7FH地址范围,特殊功能寄存器区占用80H0FFH这段空间。n片内数据存储器分成:1、工作寄存器区 2、可位寻址区 3、通用RAM区三部分。4、特殊功能寄存器区如图2.8 00H20H2FH7FH1FH30H80H0FFH特殊功能寄存器区 普通RAM区位寻址区 工作寄存器区图2.8 MCS-51单片机的内部数据存储器空间返回1.1.片内数据存储器片内数据存储器工作寄存器
16、区工作寄存器区 地址范围在00H1FH的32个字节,可分成4个工作寄存器组,每组占8个字节。具体划分如下:第0组工作寄存器:地址范围为00H07H 第1组工作寄存器:地址范围为08H0FH 第2组工作寄存器:地址范围为10H17H 第3组工作寄存器:地址范围为18H1FH 每个工作寄存器组都有8个寄存器,它们分别称为R0、R1、R2、R3、R4、R5、R6、R7。但在程序运行时,只允许有一个工作寄存器组工作,把这组工作寄存器称为当前工作寄存器组,所以每组之间不会因为名称相同而混淆出错。可通过对特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0的状态设置,来选择哪一组工作寄存器作为当前工作
17、寄存器组。单片机复位时,当前工作寄存器默认为0组。2.2.片内数据存储器片内数据存储器位寻址区位寻址区 单片机片内RAM中20H2FH地址范围中共16个字节单元称为位寻址区。该区的16个字节单元,既可作为一般的RAM使用,进行字节操作,也可以对单元中的每一位进行位操作。16个字节单元共128位,每位有位地址,地址范围是00H07H。位寻址区中的每一位地址有两种表示形式:一是表中位地址形式,另一种是单元地址位序形式。3.3.片内片内RAMRAM数据数据通用通用RAMRAM区区 单片机片内RAM中,30H-7FH的80个单元只能以存储单元的形式来使用没有其它任何规定或限制,用户可以根据需要自由安排
18、所以称它为通用RAM区。该区域中的单元只能用直接寻址、寄存器间接寻址等方式按字节访问。堆栈就是设在单片机内部RAM中。堆栈及其存储特性堆栈及其存储特性n堆栈的概念 堆栈是在单片机内部RAM中从某个选定的存储单元开始划定的一个地址连续的区域,这个区域本身没有任何特殊之处,它就是内部RAM的一部份,不同的是这个区域以选定的某个存储单元作为栈底,只允许向一个方向写入数据,最后一个写入数据的存储单元称为栈顶。n堆栈的生成有两种情况,向高地址方向写入数据生成的堆栈称为向上生长型堆栈,反之称为向下生长型堆栈,MCS-51单片机属于向上生长型堆栈(即向高地址方向生成)。n数据写入堆栈为插入运算(PUSH),
19、通常称为入栈,数据从堆栈中读出为删除运算(POP),通常称为出栈,按堆栈的规定,入栈和出栈只能在栈顶一端进行。nMCS-51单片机中,用一个称为堆栈指针SP(Stack Pointer)的特殊功能寄存器来给出栈顶存储单元的地址,堆栈指针SP中存储的总是堆栈栈顶存储单元的地址,即堆栈指针SP总是指向堆栈栈顶。n 向上生长型堆栈出栈入栈的操作原则是“先进后出”或“后进先出”。入栈操作规则为:先SP中的内容加1,后写入数据;出栈操作规则为:先读出数据,后SP中的内容减1。n系统复位后,SP中的内容为07H,在程序设计中,常用指令对SP的复位值进行修改,将堆栈开辟在通用RAM区。00H20H2FH7F
20、H1FH30H80H0FFH特殊功能寄存器区普通RAM区位寻址区 工作寄存器区初始SPSP栈顶数据出栈SP-1指向新的栈顶,即下一个要出栈的数据特殊功能寄存器(特殊功能寄存器(Special Function Registers Special Function Registers 简称简称SFRSFR)1.在8051单片机中设置了21个特殊功能寄存器,它们不连续地分布在地址为80H-FFH的128个字节的存储空间中。2.在这21个SFR中,凡是字节地址能被8整除(即16进制的地址码尾数为0或8)的11个单元均具有位寻址能力,有效的位地址共有82个。3.82个有效位地址可用位地址、位符号、单元
21、地址.位序和寄存器名.位序四种方法来表示,但一般是用位符号或寄存器名.位序来表示的。表表2.3各特殊功能寄存器的符号及地址表各特殊功能寄存器的符号及地址表续前表 个特殊功能寄存器在各功能机构的分布:个特殊功能寄存器在各功能机构的分布:中央处理器(CPU):A、B、PSW、SP、DPTR(DPH、DPL);并行口:P0、P1、P2、P3;串行口:SCON、SBUF、PCON;中断系统:IE、IP;定时/计数器:TMOD、TCON、TH0、TL0、TH1、TL1。5.特殊功能寄存器A、B、PSW、DPTR(DPH、DPL)介绍。PSW的各位的位符号及其意义:二、片外数据存储器二、片外数据存储器n外
22、部数据存储器一般用来存放相对来讲是用不太频繁的数据,其中的数据不能直接进行处理,要进行处理前必须提前从外部数据存储器送到单片机内部。n外部数据存储器地址空间寻址范围为64K字节,采用R0、R1或DPTR寄存器间址方式访问。当采用R0、R1间址时只能访问00H0FFH的低256字节,采用DPTR间址可访问整个64K字节空间。2.4 MCS-512.4 MCS-51单片机并行输入单片机并行输入/输出口输出口 2.4.1 端口的功能 80C51单片机有4个8位的双向并行输入/输出(I/O)端口,称为P0口、P1口、P2口和P3口。1.P0口是一个双功能的8位并行I/O口,字节地址为80H,位地址为8
23、0H87H。可作输入/输出端口使用,又可作地址/数据总线分时传输低8位地址和8位数据。2.P1口是单一功能的并行I/O口,字节地址为90H,位地址为90H97H。它只用作通用的数据输入/输出口。3.P2口是一个双功能的8位并行I/O口,字节地址为80H,位地址为A0HA7H。可作通用的输入/输出口用,又可用作高8位地址总线。4.P3口是一个双功能的8位并行I/O口,字节地址为B0H,位地址为B0HB7H,它的第一功能是通用输入/输出口,作第二功能用时,各引脚定义如下:lP3.0:RXD(串行口输入);lP3.1:TXD(串行口输出)lP3.2:(外部中断0输入)lP3.3:(外部中断1输入)l
24、P3.4:T0(定时/计数器0外部计数脉冲输入)lP3.5:T1(定时/计数器1外部计数脉冲输入)lP3.6:(片外数据存储器写选通信号输出)lP3.7:(片外数据存储器读选通信号输出)。2.4.2 2.4.2 端口的内部结构与运作端口的内部结构与运作n1.P0口n2.P1口n3.P2口n4.P3口结构与运作结构与运作 图2.10画出了P0口的某位P0.X(X=0、16、7)的结构图。P0口的位电路结构由以下几个部分组成:1个输出锁存器,用于进行输出数据的锁存;2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;1个多路开关MUX,它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输
25、出。在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;由两只场效应管组成的输出驱动电路。P0P0口的特点口的特点P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;具有高电平、低电平和高阻抗3种状态的I/O端口称为双向I/O端口。P0口作地址/数据总线复用口时,相当于一个真正的双向I/O口。而用作通用I/O口时,由于引脚上需要外接上拉电阻,端口不存在高阻(悬空)状态,此时P0口只是一个准双向口;为保证引脚上的信号能正确读入,在读入操作前应首先向锁存器写1;单片机复位后,锁存器自动被置1;一般情况下,如果P0口已作为地址/数据复用口时,就不能再用作通用I/O口使用;P0
26、口能驱动8个TTL负载。结构与运作结构与运作 P1口的位结构如图2.11所示。P1口是一个准双向口,只作通用输入/输出口使用。除了无多路开关MUX之外,其输出驱动部分也与P0口不同 P1口的位电路结构由以下几个部分组成:一个数据输出锁存器,用于输出数据的锁存;两个三态输入缓冲器,BUF1用于读锁存器,BUF2用于读引脚;数据输出驱动电路,由场效应管VT和片内上拉电阻R组成。P1P1口的特点口的特点 P1口由于有内部上拉电阻,没有高阻抗输入状态,所以称为准双向口。作为输出口时,不需要再在片外拉接上拉电阻;P1口读引脚输入时,必须先向锁存器写入1,其原理与P0口相同;P1口能驱动4个TTL负载。结
27、构与运作结构与运作 从图2.12中可见,P2口的位结构比P1口多了一个多路开关MUX。P2口的位电路结构由以下几个部分组成:一个数据输出锁存器,用于输出数据的锁存;两个三态输入缓冲器,BUF1用于读锁存器,BUF2用于读引脚;一个多路开关MUX,它的一个输入来自锁存器的Q端,另一个输入来自内部地址的高8位;数据输出驱动电路由非门M,场效应管VT和片内上拉电阻R组成。P2P2口的特点口的特点 P2口用作高8位地址输出线应用时,与P0口输出的低8位地址一起构成16位的地址总线,可以寻址64KB地址空间。当P2口作高8位地址输出口时,其输出锁存器原锁存的内容保持不变。作为通用I/O口使用时,P2口为
28、准双向口,功能与P1口一样。P2口能驱动4个TTL负载。结构组成结构组成 P3口是双功能8位输入/输出口,内部结构中增加了第二输入/输出功能,如图2.13所示。P3口的位电路结构由以下几个部分组成:一个数据输出锁存器,用于输出数据的锁存;3个三态输入缓冲器,BUF1用于读锁存器,BUF2、BUF3用于读引脚和第二功能数据的缓冲输入;数据输出驱动电路,由与非门M,场效应管VT和片内上拉电阻R组成。P3P3口的特点口的特点P3口内部有上拉电阻,不存在高阻输入状态,是一个准双向口;P3口作第二功能的输出/输入或作通用输入时,均需将相应的锁存器置1。实际应用中,由于复位后P3口锁存器自动置1,已满足第
29、二功能运作条件,所以可以直接进行第二功能操作;P3口的某位不作为第二功能使用时,则自动处于通用输出/输入口功能,可作为通用输出/输入口使用;作通用输出/输入口使用时,输入信号取自缓冲器BUF2的输出端,作第二功能使用时,输入信号取自缓冲器BUF3的输出端;P3口能驱动4个TTL负载。2.5 MCS-512.5 MCS-51单片机的复位单片机的复位2.5.1 复位电路复位操作通常有两种基本形式:上电自动复位、手动按键复位,如图2.14所示。上电自动复位操作要求接通电源后自动实现复位操作。如下左图所示。手动按键复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位,如下右图所示。
30、在8C051单片机的RST引脚上输入高电平并至少保持两个机器周期(即24个振荡周期)以上时,复位过程即可完成。如果RST引脚持续保持高电平,单片机就处于循环复位状态。复位电路复位电路2.5.2 2.5.2 单片机的复位状态单片机的复位状态1.程序计数器PC初始化为0000H,使单片机从OOOOH单元开始执行程序。在运行中,当单片机的程序受外界因素干扰陷入死循环或跑飞时,为摆脱困境,可将单片机复位,重新启动。2.复位也可使单片机退出低功耗工作方式而进入正常工作状态。3.3.单片机复位后单片机复位后:P0P3的端口锁存器被设置成FFH;堆栈指针SP设置成07H;串行口的SBUF无确定值;其它各专用
31、寄存器包括程序计数器PC均被设置成00H;片内RAM不受复位的影响,上电后RAM中的内容随机。2.6 2.6 单片机的几种工作方式单片机的几种工作方式2.6.12.6.1程序执行方式程序执行方式 单片机上电复位后,从程序存储器的OOOOH单元开始执行程序,程序执行方式是单片机的基本工作方式。2.6.22.6.2掉电保护方式掉电保护方式 MCS-51单片机设置有掉电保护措施,其保护措施是:单片机系统在运行中突然掉电故障时,先保存重要的数据,然后启用备用电源维持供电。2.6.3 2.6.3 低功耗方式低功耗方式 80C51单片机有两种功耗节电方式:空闲方式(idle mode)和掉电方式(powe
32、r down mode)。空闲方式和掉电方式都是由特殊功能寄存器中的电源控制寄存器PCON的有关控制位来控制的,图2.15为为两种节电方式的工作原理图。电源控制寄器PCON不可位寻址,字节地址为87H,其每位的定义如下:SMOD 波特率倍增位,在串行通信中应用。/保留位。GF1 用户通用标志在1。GF0 用户通用标志在0。PD 掉电方式控制位,PD=1,单片机进入掉电方式。IDL 空闲方式控制位,IDP=1,单片机进入空闲方式。1.1.空闲方式空闲方式 使PCON中的IDL置1,单片机系统就可进入空闲方式。在空闲方式下,振荡器仍然运行,CPU进入睡眠状态,所有外围电路(中断系统、串行口和定时/计数器)仍继续工作,但内部RAM和特殊功能寄存器中的数据保持在原状态不变。空闲方式的退出可采用两种方式:中断方式和硬件复位方式。2.2.掉电方式掉电方式 使PCON中的PD位置1(是运行程序中最后执行的指令),单片机系统就可进入掉电方式。在掉电方式下,振荡器停止运行,但内部RAM和特殊功能寄存器中的数据保持在原状态不变,直到退出掉电方式。退出掉电方式的惟一方法是硬件复位,复位要重新定义特殊功能寄存器,但不改变单片机片内RAM的内容。在恢复正常工作水平后,才能启动硬件复位,而且复位信号必需维持足够的时间,允许振荡器重新启动并达到稳定。