《MCS-51单片机的硬件结构》由会员分享,可在线阅读,更多相关《MCS-51单片机的硬件结构(49页珍藏版)》请在金锄头文库上搜索。
1、第2章 MCS-51单片机的硬件结构2.1 MCS-51单片机的硬件结构概述 2.2 中央处理器CPU 2.3 MCS-51单片机的存储器 2.4 MCS-51单片机并行输入/输出口 2.5 MCS-51单片机的复位 2.6 单片机的几种工作方式2.1 MCS-51单片机的硬件结构概述2.1.1 MCS-51单片机的内部结构框图单片机主要部件有8个,通过片内总线连接而成:中央处理器( CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行输入 /输出口(P0口-P3口)、串行口、定时/计数器、中断系统及特殊功 能寄存器。2.1.2 MCS-51单片机的引脚及片外总线结构1.MC
2、S-51单片机的引脚MCS-51单片机的封装有两种形式:一种是双列直插式 PDIP(PLASTIC DIP)封装的形式,另一种是方形封装形式 PLCC(PLASTIC LEADED CHIP CARRIED),方形封装有44引脚, 其中4个NC为空引脚。HMOS工艺的80C51单片机采用40引脚的 PDIP封装,CHMOS工艺的单片机80C51除采用PDIP封装外,还 采用PLCC封装形式。40引脚PDIP封装的80C51单片机引脚排列图如图2.2所 示。2.1 MCS-51单片机的硬件结构概述P0口的P0.0P0.7引脚(3932脚)P1口的P1.0P1.7引脚(18脚)P2口的P2.0P2
3、.7引脚(2821脚)P3口的P3.0P3.7引脚(1017脚) Vcc(40脚):电源端,接+5V;Vss(20脚):接地端;XTAL1(19脚)、 XTAL2(18脚):外接石英 晶体、微调电容或振荡信号输入引脚。RST/VPD(9脚):复位信号输入端引脚。第 二功能为备用电源输入端。 /Vpp(31脚):读片内或片外程序存储器 选择端引脚。第二功能为编程电压输入端。 :低8位地址锁存允许信号输 出引脚。第二功能为编程脉冲输入引脚; (29引脚):读片外程序存储器选通 信号输出端引脚。2.1.2 MCS-51单片机的引脚及片外总线结构 地址总线(Address Bus,简写 AB)地址线A
4、0A15 共16位,P2口提供高 8位地址A8A15,P0口经地址锁存器提 供低8位地址A0A7 。片外存储器可寻 址范围达64KB(即=65536个字节)。 数据总线(Data Bus,简写DB)地址线D0-D7共8位,由P0口提供,分 时输送低8位地址(通过地址锁存器锁存 )和8位数据信息。 控制总线(Control Bus,简写CB)控制总线由P3口的第二功能 (P3.6)、 (P3.7)和3根独立的控制 线 、ALE和 组成。2.MCS-51单片机的片外三总线结构所谓总线,就是连接单片机与系统中各部件的一组公共的信号线。回上层目录2.1.2 MCS-51单片机的引脚及片外总线结构2.2
5、 中央处理器CPU2.2.1 CPU 的组成CPU由运算器、控制器和若干特殊功能寄存器(如累加器A、B寄存器、程序状态字寄存器PSW、堆栈指针寄存器SP、数据指针寄存DPTR等)组成。1.运算器 具有一般微机所不具备的位处理功能。2.控制器以主振频率为基准产生时钟信号,控制取指令、执行指令、存取操作数或运算结果等操作,并向其它部件发出各种微控制信号,保证单片机各部分能自动协调地工作。2.2.2 指令执行的基本过程 1.单片机在工作前,首先必须在存储器中装入程序。所谓程 序,就是为了完成某项工作,将一系列指令有序地组合,而指令则是要 求单片机执行某种操作的命令。2 .指令分为操作码和地址码两个部
6、分,操作码部分规定了单 片机操作类型,而地址码部分一般是直接或间接地给出了参与操作的数 据的存放地址,所以地址码也可以直接称为操作数。 3.单片机完成每项工作,必须有序地执行一系列指令。单片机 执行一条指令一般分为取指令和执行指令两个阶段。从存储器中取出指令,并且对指令进行译码,以明确该指令执行 何种操作,以及操作数的存放地址(即操作数存放在哪一个单元中), 再根据这个地址获取操作数,这是取指令阶段。 按操作码指明的操作类型对获取的操作数进行操作(也可称为 运算),这是执行指令阶段。2.2.2 指令执行的基本过程 4.程序计数器(Program Counter简称PC)是一个16位的有自动加1
7、功能的计数器。PC没有地址,是不可寻址的,因此用户不能对它进行读写。16位PC中的内容总是CPU将要执行的那条指令所存放的存储单元的首地址。在单片机复位时,PC中的内容为0000H,指向第1条要执行的指令的首地址,在CPU从存储单元取指令的过程中,每取1个字节的内容,程序计数器PC就自动加1,在取完这条指令后,PC中的内容就是下一条要执行的指令所存放的存储单元的首地址。5.在实际应用中,有时CPU还要执行程序的转移、子程序的调用和中断响应等操作,那时PC中的内容不再是上述情况中简单的加1,而是根据不同的情况自动地被置入或修改成新的目的地址,从而改变程序的执行顺序。2.2.3 时钟电路与时序时钟
8、电路用于产生单片机工作所需要的时钟信号。时钟电路框图如 图2.4所示。 单片机芯片内部有一个高增益反向放大器,其输入引脚为 XTAL1,输出引脚为XTAL2,芯片外部通过这两个引脚接晶体振荡器CYS和微 调电容器C1、C2形成反馈电路(通常取值在2030pF),构成稳定的自激 振荡器,振荡频率范围通常是1.2MHz12MHz。振荡脉冲经分频后再为系统 所用。PD是PCON中的控制位,当PD=1时,振荡器停止工作,系统进入低功 耗工作态。时钟发生器实质上是一个2分频的触发器,其输入来自振荡器,输出 为2相时钟信号,即状态时钟信号,其频率为fosc/2;状态时钟3分频后为 ALE信号,其频率为fo
9、sc/6;状态时钟6分频后为机器周期,其频率为 fosc/12(OSC是osillator的缩写)。 我们也可以引入外部脉冲信号作为单片机的振荡脉冲 ,对于80C51单片机而言,这时外部脉冲信号是经XTAL1引脚 注入,而XTAL2引脚悬空,对外部信号的占空比没有要求, 但高低电平持续的时间不就短于20ns。这种方式常用于多块 芯片同时工作,这样便于同步,如图2.5所示。2.2.3 时钟电路与时序2.2.4 时序与时序定时单位所谓时序,是指在执行指令过程中,CPU的控制器所发出的一系列特定 的控制信号在时间上的相互关系。1.拍节:振荡脉冲的周期(晶振周期)定义为拍节(用“P”表示)。2.状态:
10、振荡脉冲经过两分频后,就是单片机的时钟信号,把时钟信 号的周期定义为状态(用“S”来表示)。这样,一个状态包含两个拍节, 前半周期为拍节1(P1),后半周期为拍节2(P2)。3.机器周期:规定一个机器周期为6个状态,相当于12个拍节,即12个 振荡脉冲的周期,可分别用S1S6来表示状态,S1P1、S1P2、S2P1、 S2P2S6P2来表示拍节。4.指令周期:执行一条指令所需要的时间称之为指令周期,指令周期以 机器周期的数目来表示。2.3 MCS-51单片机的存储器2.3.1 MCS-51单片机存储器结构概述与微机中不同,MCS-51单片机中存放程序的程序 存储器和存放数据的数据存储器,在物理
11、空间上是相互独 立哈佛结构。MCS-51单片机的存储器在物理结构上可以分为片 内程序存储器、片外程序存储器、片内数据存储器、片外 数据存储器。而对这些空间的管理,是分为3个的逻辑地址 空间进行的:片内片外统一编址的64KB程序存储器地址空间;片内独立编址的256B数据存储器地址空间;片外独立编址的64KB数据存储器地址空间。即访问这3个不同的逻辑空间,要采用不同形式的指 令。如图2.7图2.7 8051单片机存储器地址空间2.3.2 程序存储器 1. 8051单片机系列有片内有程序存储器和片内无程序存储器之分,片内存储器的容量大小也有所不同。8051单片机片内设置有4K字节的掩膜型ROM,其地
12、址范围为0000H0FFFH,若片外扩展程序存储器,其地址范围为1000HFFFFH。程序存储器的0000H002AH共43个单元用作存储特定程序的入口地址。0000H0002H这3个单元是系统的启动单元;0003H002AH共40个单元是中断服务程序地址区,它被分为五段,每段8个单元,分别分配给5个中断源:0003H000AH 外部中断0中断服务程序地址区;000BHOO12H 定时/计数器0中断服务程序地址区;0013H001AH 外部中断1中断服务程序地址区;001BH0022H 定时/计数器1中断服务程序地址区;0023H002AH 串行口中断服务程序地址区。2.3.3 MCS-51单
13、片机的数据存储器 MCS-51单片机数据存储器是RAM型存储器,用于暂 存数据和运算结果等。MCS-51单片机数据存储器也可以分为片内数据存储 器和片外数据存储器。当片内数据存储器不够用时,可扩展 片外数据存储器。一般情况下,片外数据存储器的容量不超 过64KB。与内、外部的程序存储器不同,内部和外部数据存 储器空间存在重叠(内部RAM的地址范围为00H0FFH, 外部 RAM的地址范围为0000H0FFFFH),通过不同指令来区别。 当访问内部RAM时,用MOV类指令;当访问外部RAM时,则 用MOVX类指令,所以地址重叠不会造成操作混乱。一、片内数据存储器二、片外数据存储器一、MCS-51
14、单片机的内部数据存储器 MCS-51单片机的内部数据存储器空间共计 256字节,在功能上有具体分为片内数据存储器与特殊功 能寄存器区,它们统一编址,其中片内数据存储器共有 128个字节,占用00H7FH地址范围,特殊功能寄存器 区占用80H0FFH这段空间。n片内数据存储器分成:1、工作寄存器区2、可位寻址区3、通用RAM区三部分。4、特殊功能寄存器区如图2.800H20H2FH7FH1FH30H80H0FFH特殊功能 寄存器区普通RAM区位寻址区工作寄存器区图2.8 MCS-51单片机的内部数据存储器空间返回1.片内数据存储器工作寄存器区地址范围在00H1FH的32个字节,可分成4个工作寄存
15、器组,每组占8个字节。具体划分如下:第0组工作寄存器:地址范围为00H07H第1组工作寄存器:地址范围为08H0FH第2组工作寄存器:地址范围为10H17H第3组工作寄存器:地址范围为18H1FH每个工作寄存器组都有8个寄存器,它们分别称为R0、R1、R2、R3、R4、R5、R6、R7。但在程序运行时,只允许有一个工作寄存器组工作,把这组工作寄存器称为当前工作寄存器组,所以每组之间不会因为名称相同而混淆出错。可通过对特殊功能寄存器中的程序状态字寄存器PSW的RS1、RS0的状态设置,来选择哪一组工作寄存器作为当前工作寄存器组。单片机复位时,当前工作寄存器默认为0组。2.片内数据存储器位寻址区单
16、片机片内RAM中20H2FH地址范围中共16个字节单元称为位寻址 区。该区的16个字节单元,既可作为一般的RAM使用,进行字节操作,也 可以对单元中的每一位进行位操作。16个字节单元共128位,每位有位地址,地址范围是00H07H。 位寻址区中的每一位地址有两种表示形式:一是表中位地址形式,另一种是 单元地址位序形式。3.片内RAM数据通用RAM区单片机片内RAM中,30H-7FH的80个单元只能以存储单元的形式来使用没有其它任何规定或限制,用户可以根据需要自由安排所以称它为通用RAM区。该区域中的单元只能用直接寻址、寄存器间接寻址 等方式按字节访问。堆栈就是设在单片机内部RAM中。堆栈及其存储特性n堆栈的概念堆栈是在单片机内部RAM中从某个选定的存储单元开始划定的一个地址连续的区域,这个区域本身没有任何特殊之处,它就是内部