第2章 MCS |
您所在的位置:网站首页 › 8051内部 › 第2章 MCS |
第 2 章 MCS-51 单片机硬件结构
1. MCS-51 系列单片机的基本结构
1.MCS-51 系列单片机的总体基本结构
MCS-51 系列单片机主要部件组成:微处理器(MPU)、数据存储器(RAM)、 程序存储器(ROM/EPROM)、并行 I/O 口(P0 口、P1 口、P2 口、P3 口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。 8051/8052 系列单片机主要包括以下功能部件: 8 位 CPU;4K/8K 片内程序存储器(ROM/EPROM);128/256 字节的片内RAM;32 条双向 I/O 口线(4 个 8 位 I/O 口);可寻址程序存储器和外部数据存储器各64KB;2/3 个 16 位定时器/计数器;1 个全双工异步串行口;5/6 个中断源,2 个中断优先级;位寻址空间;片内振荡器和时钟电路。 3.8051 单片机内部结构及引脚8051单片机为40条引脚双列直插式封装引脚可分为三个部分: 电源及电源复位引脚 (1)VCC(40 脚):正常操作时,接+5V 直流电源。 (2)VSS(20 脚):接地端。 (3)RST/VPD(9 脚):复位信号输入引脚RST。在该引脚上输入一定时间(约两个机器周期) 的高电平将使单片机复位。 (4)EA /VPP(31 脚):访问程序存储器控制信号/编程电源输入。 时钟振荡电路引脚 XTAL1 和 XTAL2 (1)XTAL1(19 脚):外接石英晶体和微调电容引脚 1。 (2)XTAL2(18 脚):外接石英晶体和微调电容引脚 2。 ALE/PROG(30 脚) 低 8 位地址锁存允许信号/编程脉冲输入。 在访问外部程序存储器期间,ALE 信号两次有效; 而在访问外部数据存储器期间,将丢失一个 ALE 信号。PSEN(29 脚) 外部程序存储器的读选通信号输出端,低电平有效。在从外部程序存储器取指令(或常数)期间,此引脚定时输出负脉冲作为访问外部程序存储器的读信号,每个机器周期PSEN 两次有效,此时地址总线上送出的地址为外部程序存储器地址;在此期间,如果访问外部数据存储器和内部程序存储器,不会产生PSEN 信号。 并行双向输入/输出(I/O)口引脚 (1)P0 口的 P0.0~P0.7 引脚(39~32 脚):8 位通用输入/输出端口和片外8 位数据/低 8 位地址分时复用总线端口。 (2)P1 口的 P1.0~P1.7 引脚(1~8 脚):8 位通用输入/输出端口。 (3)P2 口的 P2.0~P2.7 引脚(28~21 脚):8 位通用输入/输出端口和片外高8 位地址总线端口。 (4)P3 口的 P3.0~P3.7 引脚(10~17 脚):8 位通用输入/输出端口,具有第二功能。 4.外部总线构成总线,就是连接单片机与各外部器件的一组公共信号线。 利用片外引脚可以构造 MCS-51 系列单片机的三总线结构。单片机的引脚除了电源端 VCC.接地端 VSS、复位端 RST、晶振接入端 XTAL1 和 XTAL2、通用 I/O 口的 P1.0~P1.7 以外,其余的引脚都是为实现系统扩展而设置的。指令执行的基本步骤 程序——完成某项工作的一 系列指令的有序组合;指令——控制单片机执行某种操作的命令;指令的组成——由操作码和操作数组成; 操作码——规定了单片机的操作类型;操作数——直接或间接地给出了参与操作的数据或数据的存放位置。单片机执行一条指令一般分为两个阶段:取指令阶段和执行指令阶段。 取指令阶段:CPU从程序存储器中取出指令的操作码,送到指令寄存器。指令执行阶段:经指令译码器译码,产生一系列控制信号,以明确该指令执行什么样的操作,以及操作数的存放地址,根据这个地址获取操作数,然后 CPU 按操作码指明的操作类型对获取的操作数进行操作。 2.时钟电路及时钟时序单位时钟电路用于产生单片机工作所必需的时钟控制信号。 时钟电路 时钟频率直接影响单片机的速度,电路的质量直接影响系统的稳定性。常用的时钟电路有两种方式:内部时钟方式和外部时钟方式。一、内部时钟方式 内部有一个用于构成振荡器的高增益反相放大器,其输入端:XTAL1,输出端:XTAL2。振荡电路产生的振荡脉冲并不直接使用,而是经分频后再为系统所用:二分频后作为状态时钟信号,其频率为fosc/2 ;状态时钟三分频后作为ALE信号,其频率为fosc/6;状态时钟六分频后为机器周期,其频率为fosc/12。 二、外部时钟方式 由外部时钟电路向片内输入脉冲信号作为单片机的振荡脉冲。这时外部脉冲信号是经XTAL2引脚引入的,而XTAL1引脚悬空或接地。这种方式常用于多块芯片同时工作,便于同步。只要RST引脚出现两个机器周期以上时间的高电平时,单片机将进入复位状态。 复位状态就是单片机复位时内部寄存器及引脚的初始数据或初始电平。 MCS-51系列单片机复位时内部各寄存器的状态如表2.1所示。 寄存器内容寄存器内容PC0000HTMOD00HA00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPxxx00000HSBUF不定IE0xx00000HPCON00H 注意: 复位后,单片机将从0地址开始执行指令。 内部RAM中的数据不受复位的影响。 时钟时序单位时序,是指在指令执行过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的先后次序。 MCS-51 的时序单位共有四个,从小到大依次是拍节、状态、机器周期和指令周期。 CPU发出的控制信号有两类: 一类是用于单片机内部的,用户不能直接接触此类信号,不必对它做过多了解;另一类是通过控制总线送到片外的,人们通常以时序图的形式来表示相关信号的波形及出现的先后次序。时钟周期:单片机的基本时间单位 。 若时钟的晶体的振荡频率为fosc,则时钟周期 Tosc=1/fosc。如fosc=6MHz,Tosc=166.7ns。机器周期:指 CPU 访问存储器一次所需要的时间。 执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。 MCS-51单片机每12个时钟周期为一个机器周期,一个机器周期又分为6个状态 :S1~S6 。 每 个状态又分为两拍 :P1和P2。因此,一个机器周期中的12个时钟周期表示为:S1P1、S1P2、S2P1、S2P2、…、S6P2。 指令周期:单片机执行一条指令所需要的时间。 执行一条指令时,可分为取指令阶段和指令执行阶段 。取指令阶段,PC中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。指令执行阶段,对指令操作码进行译码,以产生一系列控制信号完成指令的执行。ALE信号是为地址锁存而定义的,以时钟脉冲1/6的频率出现, 在一个机器周期中,ALE信号两次有效(注意,在执行访问外部数据存储器的指令MOVX时,将会丢失一个ALE脉冲)。在 MCS-51 系统中,有单周期指令、双周期指令和 4 周期指令。4 周期指令只有乘、除两条指令,其余都是单周期或双周期指令。MCS-51 单片机的存储结构有两个重要的特点:一是采用哈佛结构,把数据存储器和程 序存储器截然分开,不同于通用微机的普林斯顿结构;二是存储器有内外之分。 2.内部程序存储器有些MCS-51单片机片内有程序存储器,如: 8051 4KB的掩膜型ROM 0000H~0FFFH;8751 4KB的EEPROM 0000H~0FFFH当/EA 接高电平时,地址在0000H~0FFFH时,CPU访问内部存储单元,如果地址大于0FFFH时,CPU自动转向对片外存储器的访问。 当 /EA接低电平(接地)时,CPU只能访问外部程序存储器,这时外部程序存储器的地址从0000H开始编址。 有些MCS-51单片机片内无程序存储器,如80C31、80C32单片机片内无程序存储器,所以只能外接ROM并将/EA接地。 MCS-51单片机程序存储器中的特殊地址: 0000H~0002H——系统复位后总是从0000H单元开始取指令执行程序,常在此放一条转移指令。0003H~000AH——外部中断0服务程序地址区;000BH~0012H——定时器/计数器0中断服务程序地址区;0013H~001AH——外部中断1服务程序地址区;001BH~0022H——定时器/计数器1中断服务程序地址区0023H~002AH——串口中断服务程序地址区。 3.内部数据存储器MCS-51单片机内部数据存储器包括: 用户RAM区: 128字节,地址范围:00-7FH 特殊功能寄存器(SFR)区:地址范围:80H-FFH 80C51单片机的用户RAM区有128字节,地址范围为00H~7FH,分成三部分:工作寄存器区、位寻址区、通用RAM区。 工作寄存器区——00H~1FH 地址范围在00H~1FH的32个字节片内RAM为工作寄存器区,分成4个工作寄存器组,每组占8个字节,对应8个工作寄存器,分别称为R0、R1、R2、R3、R4、R5、R6、R7。在程序运行时,只允许一个工作寄存器组工作,称为当前工作寄存器组,由程序状态字寄存器PSW中的RS1、RS0 两位二进制数的组合来决定当前工作寄存器是哪一组。 当前工作寄存器组的选择 组号RS1 RS0R0R1R2R3R4R5R6R700 000H01H02H03H04H05H06H07H10 108H09H0AH0BH0CH0DH0EH0FH21 010H11H12H13H14H15H16H17H31 118H19H1AH1BH1CH1DH1EH1FH注意以下几点: ① RS1、RS0的状态可由指令来进行设置; ② 复位后自动选中第0组工作寄存器; ③ 切换工作寄存器组后,原工作寄存器中的内容将被屏蔽保护; ④ 若程序中不需要4组工作寄存器,那么不用的工作寄存器可作为一般RAM使用。 位寻址区——20H~2FH 内部RAM的20H~2FH地址范围共16个字节单元为位寻址区,它们既可作为一般的RAM进行字节寻址,也可以对它们中的每一位进行位寻址。每一个位单元都有一个位地址,所以位寻址区共有16*8=128个位地址(00H~7FH)。CPU能直接寻址这些位,执行置1、清零、求“反”、转移、传送等操作。128个位地址与内部RAM中128个字节地址00H~7FH重叠,在应用中通过指令的类型来区分它们。 内部RAM位寻址区的位地址分配表通用 RAM 区——30H~7FH 地址范围在30H~7FH中的 80个单元没有其他的规定和限制,可用来存放用户数据或作为堆栈区使用。因此被称为通用RAM区。 2.特殊功能寄存器特殊功能寄存器(Special Function Registers,SFR),也称为专用寄存器,它们离散地分布在内部RAM地址为80H~FFH的128个字节的存储空间中。 SFR用于控制单片机的工作方式或反映MCS-51单片机的运行状态,大部分的功能已做了专门的规定,用户不能修改其结构。 MCS-51中共有21个8位特殊功能寄存器,其中字节地址能被8整除的11个单元具有位寻址能力,有效的位地址共有82个。 每个位单元不仅有位地址,有些还有位名称,可用位地址、位名称、字节地址.位序和寄存器名.位序4种方法来表示。 如D7H、C、0D0H.7、PSW.7都表示同一个位,即程序状态字寄存器的最高位。 特殊功能寄存器的地址及符号表特殊功能寄存器分别用于以下各功能部件: (1)CPU:累加器A、B寄存器、程序状态字寄存器PSW、堆栈指针SP、数据指针DPTR(由DPH和DPL两个8位寄存器组成)。 (2)并行口:P0、P1、P2、P3。 (3)串行口:串行口控制寄存器SCON、串行数据缓冲器SBUF、电源控制寄存器PCON。 (4)中断系统:中断允许控制寄存器IE、中断优先级控制寄存器IP。 (5)定时器/计数器:定时器/计数器方式控制寄存器TMOD.定时器/计数器控制寄存器TCON、定时器/计数器0(TH0、TL0)、定时器/计数器1(TH1、TL1)。 特殊功能寄存器介绍: 数据指针寄存器DPTR(Data Pointer): 83H、82H ,16位 由高字节DPH( 83H )和低字节DPL( 82H )两个8位特殊功能寄存器组成,可用它存放一个16位地址,对片外RAM或ROM中的64KB范围内的任一单元进行访问。 既可以当作16位寄存器使用,也可以作为两个8位寄存器使用。 I/O口专用寄存器(P0、P1、P2、P3) : 80H、90H 、A0H、B0H,8位 四个专用寄存器P0、P1、P2和P3分别是四个I/O端口P0~P3的数据输出锁存器/输入缓冲器。 通过MOV指令访问四个专用寄存器P0、P1、P2和P3,便可通过四个I/O端口P0~P3进行输入/输出。 串行数据缓冲器(SBUF):99H,8位 SBUF用来存放串口需要发送和接收到的数据。它对应两个独立的寄存器,一个是发送缓冲器(只写),另一个是接收缓冲器(只读),串行发送和串行接收其实都是对串行数据缓冲器SBUF进行的。 4.堆栈入栈时,SP 中的内容先加 1,后写入数据;出栈时,先读出数据,SP 中的内容后减 1。 MCS-51单片机中的堆栈:在内部RAM中开辟出来的按照后进先出的顺序进行访问的一片连续存储区域。设立堆栈的目的——用于数据的暂存、中断与子程序调用时断点和现场的保护与恢复。MCS-51单片机的堆栈的生长方向: 向上生长型。从高地址方向写入数据生成的堆栈称为向上生长型堆栈;反之称为向下生长型堆栈。向上生长型堆栈的栈顶存储单元的地址必定随着数据的入栈而递增,随着数据的出栈而递减。堆栈指针SP(Stack Pointer,8位) 堆栈指针SP是一个8位特殊功能寄存器,用于指示堆栈的栈顶地址,SP总是指向堆栈栈顶,它决定了栈顶在内部RAM中的物理位置。数据入栈(PUSH)的操作过程:SP先在其原值的基础上自动加1 (SP←SP+1),然后将要入栈的数据存放在SP指定的存储单元中;数据出栈(POP)的操作过程:先将SP指向的栈顶单元的内容传送到POP指令给定的寄存器或内部RAM单元中,然后SP自动减1(SP←SP-1)。堆栈的开辟 单片机的堆栈只能开辟在片内数据存储器中。系统复位后,SP中的值是07H。在程序设计时,通常都要对SP中的复位值进行修改,以将堆栈开辟在通用RAM区(30H~7FH)内。 4. MCS-51 单片机的工作方式程序执行方式:单片机上电复位后,从程序存储器的0000H单元开始执行程序。 程序执行方式分为: 连续执行方式——单片机按照程序逻辑,自动连续地执行程序中的指令。单步执行方式——按一下单步执行键执行一条用户程序中的指令的方式。掉电保护方式 空闲(等待)方式(Idle Mode)掉电(停机)方式(Power Down Mode)这两种方式都是由特殊功能寄存器中的电源控制寄存器PCON的有关控制位来控制的。下一篇:第3章 MCS-51 单片机指令系统 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |