MCS-51单片机的结构.ppt_第1页
MCS-51单片机的结构.ppt_第2页
MCS-51单片机的结构.ppt_第3页
MCS-51单片机的结构.ppt_第4页
MCS-51单片机的结构.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 MCS-51单片机的结构,教学目的和要求,本章主要介绍了MCS-51系列单片机的内部硬件结构,从怎样应用单片机的角度考虑,详细地叙述了单片机的硬件结构、性能、各个引脚的功能、存储器配置、时钟电路与时序及工作原理等。,基本组成,MCS-51单片机芯片有许多种,其典型产品有8031、8051、8751等 。下面以8051芯片为例说明MCS-51系列单片机的基本组成。,图2-1 8051单片机功能框图,基本组成,8051单片机内部结构和功能 1中央处理器CPU 中央处理器CPU是单片机内部的核心部件,它决定了单片机的主要功能特性,由运算器和控制器两大部分组成。 (1)运算器 运算器是计算机的运算部件,用于实现算术逻辑运算、位变量处理、移位和数据传送等操作。它是以算术逻辑单元ALU为核心,加上累加器ACC、寄存器B、程序状态字PSW以及十进制调整电路和专门用于位操作的布尔处理器等组成的。 (2)控制器 控制器是计算机的控制部件,它包括程序计数器PC、指令寄存器IR、指令译码器ID、数据指针DPTR、堆栈指针SP以及定时控制与条件转移逻辑电路等。它对来自存储器中的指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需要的控制信号,使各部件协调工作,完成指令所规定的操作。,基本组成,运算器 1) 算术逻辑单元ALU(Arithmetic Logic Unit) 算术逻辑单元ALU(8位)用来完成二进制数的四则运算和布尔代数的逻辑运算。此外,通过对运算结果的判断影响程序状态标志寄存器的有关标志位。 2) 累加器ACC (Accumulator) 累加器ACC为8位寄存器,是CPU中使用最频繁的寄存器。它既可用于存放操作数,也可用来存放运算的中间结果。 3) 寄存器B 寄存器B是一个8位寄存器,是为ALU进行乘除运算设置的。在执行乘法运算指令时,寄存器B用于存放其中一个乘数和乘积的高8位数;在执行除法运算时,寄存器B用于存放除数和余数。此外,B寄存器也可作为一般的数据寄存器使用。,基本组成,4) 程序状态字PSW(Program Status Word) 程序状态字PSW是一个8位特殊功能寄存器,它的各位包含了程序运行的状态信息,以供程序查询和判断。PSW程序状态字格式和含义如下: Cy(PSW.7) 进位标志位。 AC(PSW.6) 辅助进位(或称半进位)标志。 F0(PSW.5) 用户标志位。 RSl和RS0(PSW.4,PSW.3) 工作寄存器组选择位。 OV(PSW.2) 溢出标志位。 F1(PSW.1) 用户标志位,同F0(PSW.5)。P(PSW.0) 此位为奇偶标志位。,PSW位地址 字节地址D0H,基本组成,5)布尔处理器 MCS-51的CPU是8位微处理器,它还具有1位微处理器的功能。布尔处理器具有较强的布尔变量处理能力,以位(bit)为单位进行运算和操作。它以进位标志(Cy)作为累加位,以内部RAM中所有可位寻址的位作为操作位或存储位,以P0P3的各位作为I/O位,同时布尔处理器也有自己的指令系统。,基本组成,控制器 1) 程序计数器PC PC是一个16位计数器。实际上PC是程序存储器的字节地址计数器,其内容是将要执行的下一条指令的地址,寻址范围达64KB。PC具有自动加1功能,从而实现程序的顺序执行。可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。 2) 数据指针DPTR 数据指针DPTR为16位寄存器。它的功能是存放16位的地址,作为访问外部程序存储器和外部数据存储器时的地址。编程时,DPTR既可按16位寄存器使用,也可以按两个8位寄存器分开使用,即DPH为DPTR的高8位,DPL为DPTR的低8位。,基本组成,2定时器/计数器 8051单片机内有两个16位的定时器/计数器:定时器/计数器0和定时器/计数器1。它们分别由两个8位寄存器组成,即TO由THO(高8位)和TL0(低8位)构成,同样T1由THl(高8位)和TL1(低8位)构成,地址依次是8AH8DH。这些寄存器用来存放定时或计数的初值。,基本组成,3串行口 单片机内部有一个串行数据缓冲寄存器SBUF,它是可直接寻址的特殊功能寄存器,地址为99H。在机器内部实际是由两个8位寄存器组成,一个作发送缓冲寄存器,另一个作接收缓冲寄存器,二者由读写信号区分,但都是使用同一个地址99H。单片机内部还有串行口控制寄存器SCON和电源控制及波特率选择寄存器PCON,它们分别用于串行数据通信中控制和监视串行口工作状态以及串行口波特率的倍增控制。,基本组成,4中断系统 8051单片机共有5个中断源,每个中断分为高级和低级两个优先级别。它可以接收外部中断申请、定时器/计数器申请和串行口申请,常用于实时控制、故障自动处理、计算机与外设间传送数据及人机对话等。,基本组成,存储器结构 8051单片机在系统结构上采用哈佛型,它将程序和数据分别存放在两个存储器内,一个称为程序存储器,另一个称为数据存储器。因此,8051的存储器在物理结构上分程序存储器(ROM)和数据存储器(RAM),有四个物理上相互独立的存储空间,即片内ROM和片外ROM,片内RAM和片外RAM。,片外ROM,片内ROM =1,片外ROM =0,FFFFH,1000H,0FFFH,0000H,片外RAM或 I/O口,0FFFFH,0000H,图2-2 8051存储器配置图,基本组成,从用户使用的角度看,8051存储空间分为三类:片内、片外统一编址0000H0FFFFH的64KB的程序存储器地址空间;256字节数据存储器地址空间,地址从00H0FFH;64KB片外数据存储器或I/O口地址空间,地址也从0000H0FFFFH。上述三个空间地址是重叠的,即程序存储器中片内外低4KB地址重叠,数据存储器与程序存储器64KB地址全部重叠,虽然地址重叠,但由于采用了不同的操作指令及控制信号EA、PSEN的选择,因此不会发生混乱。,基本组成,1.程序存储器 程序存储器用来存放程序代码和常数,分成片内、片外两大部分,即片内ROM和片外ROM。其中,8051内部有4KB的ROM,地址范围为0000H0FFFH,片外用16位地址线扩充64KB的ROM,两者统一编址。 单片机要执行程序,是从片内ROM取指令,还是从片外ROM取指令,首先由CPU引脚 EA的电平高低来决定。当CPU的引脚 EA接高电平时,PC在O000H0FFFH范围内,CPU从片内ROM取指令;而当PC大于0FFFH后,则自动转向片外ROM去取指令。当引脚 EA接低电平时,8051片内ROM不起作用,CPU只能从片外ROM取指令,地址可以从O000H开始编址。对于片内无ROM的8031、8032单片机, EA应接地,以便从外部扩展EPROM中取指令。,基本组成,2.片内数据存储器 数据存储器用来存放运算的中间结果、标志位,以及数据的暂存和缓冲等。它也分为片内和片外两大部分,即片内RAM和片外RAM。8051片内数据存储器最大可寻址256个单元,通常把这256个单元按功能划分为低128单元(单元地址00H7FH)和高128单元(单元地址80H0FFH) (1) 片内数据存储器低128单元 低128单元共分为工作寄存器、位寻址区和数据缓冲区三个区域。 工作寄存器区(00H1FH) 32个RAM单元共分四组,每组8个寄存单元(R0R7)。寄存器常用于存放操作数及中间结果等。由于它们的功能及使用不作预先规定,因此称为通用寄存器,也叫工作寄存器。四组通用寄存器占据内部RAM的00H1FH单元地址。,基本组成,在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称为当前寄存器组。当前寄存器组由程序状态寄存器PSW中RS1、RS0位的状态组合决定。非当前寄存器组可作为一般的数据缓冲器使用。,图2-3 8051内部数据寄存器配置图,基本组成,位寻址区(20H2FH) 内部RAM的20H2FH单元为位寻址区 ,这16个单元(共计128位)的每一位都有一个8位表示的位地址,位寻址范围为00H7FH。位寻址区的每一个单元既可作为一般RAM单元使用,进行字节操作,也可以对单元中的每一位进行位操作。 用户RAM区(30H7FH) 供用户使用的一般RAM区,也是数据缓冲区 ,共80个单元。对用户RAM区的使用没有任何规定或限制,一般用于存放用户数据及作堆栈区使用。,基本组成,(2) 特殊功能寄存器 8051片内高128字节RAM中,除程序计数器PC外,还有21个特殊功能寄存器,又称为专用寄存器(SFR)。它们离散地分布在80H0FFH RAM空间中。 特殊功能寄存器的字节寻址 8051片内21个特殊功能寄存器的名称、符号及单元地址如表2-3所示。这里,对特殊功能寄存器的字节寻址问题需要说明的是:21个可字节寻址的特殊功能寄存器是不连续地分布在内部RAM高128单元之中,尽管还有许多空闲地址,但对空闲地址的操作无意义,对用户来讲,这些单元是不存在的。对特殊功能寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器单元地址(例如:0FOH和B,0DOH和PSW,一般多使用寄存器符号,易于识别)。 特殊功能寄存器的位寻址 在这21个特殊功能寄存器中,有11个寄存器具有位寻址,即表2-3中带*者。,基本组成,表 2-3 MCS-51专用寄存器一览表,基本组成,3.片外数据存储器 片外数据存储器,即片外RAM,一般由静态RAM芯片组成。用户可根据需要确定扩展存储器的容量,MCS-51单片机访问片外RAM可用1个特殊功能寄存器数据指针寄存器DPTR寻址。由于DPTR为16位,可寻址的范围为064KB。因此,扩展片外RAM的最大容量是64KB。 片外RAM地址范围为0000H0FFFFH,其中在0000H00FFH区间与片内数据存储器空间是重叠的。CPU使用MOV指令和MOVX指令加以区分。,基本组成,4.堆栈及堆栈指针 堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据插入和数据删除操作的线性表。数据写入堆栈称为插入运算(PUSH),也叫入栈。数据从堆栈中读出称为删除运算(POP),也叫出栈。堆栈的最大特点就是“后进先出”。常把后进先出写为LIFO(Last-In-First-Out)。这里所说的进与出就是数据的入栈和出栈,即由于先入栈的数据存放在栈的底部,因此后出栈;而后入栈的数据存放在栈的顶部,因此先出栈。这跟往弹仓中压入子弹和从弹仓中弹出子弹的情形非常类似。,基本组成,(1)堆栈的功能 堆栈是为程序调用和中断操作而设立的,具体功能是保护断点和保护现场。 (2)堆栈指针SP 堆栈有栈顶和栈底之分。栈底地址一经设定后固定不变,它决定了堆栈在RAM中的物理位置。为了指示栈顶地址,要设置堆栈指针SP。SP的内容就是堆栈栈顶的存储单元地址。 (3)堆栈使用方式 堆栈的使用有两种方式。一种是自动方式,即在调用子程序时,断点地址自动进栈。另一种是指令方式,即使用专用的堆栈操作指令,执行进出栈操作。,I/O端口结构,I/O端口结构,8051有四个8位并行接口P0P3,共有32根I/O线。它们都具有双向I/O功能,均可以作为数据输入/输出使用。每个接口内部都有一个8位数据输出锁存器、一个输出驱动器和一个数据输入缓冲器,因此,CPU数据从并行I/O接口输出时可以得到锁存,输入时可以得到缓冲。,I/O端口结构,P0口结构及应用 1.结构 图2-4是P0口某位的结构图,它由1个输出锁存器、2个三态输入缓冲器、1个输出驱动电路和1个输出控制电路组成。输出驱动电路由一对FET(场效应管)T1、T2组成,输出控制电路由一个与门电路、1个反相器和1路多路开关MUX组成。,D,CP,Q,Q,-,锁存器,T2,T1,P0.X,VCC,MUX,读锁存器,内部总线,写锁存器,读引脚,地址/数据,控制,图2-4 P0口某位结构,I/O端口结构,2.应用 (1)P0口作为一般I/O口使用时 上图中的多路开关MUX的位置由CPU发出的控制信号决定。当MCS-51片外无扩展RAM、I/O、ROM时可作通用I/O口使用,此时CPU内部发出控制电平“0”信号封锁与门,使输出上拉,场效应管T1截止,同时多路开关把输出锁存器端与输出场效应管T2的栅极接通。此时P0即作为一般的I/O口使用。 P0口作输出口时 P0口作输入口时,I/O端口结构,(2)P0口作为地址/数据总线使用时 当MCS-51片外扩展有RAM、I/O口、ROM时,P0端口作为地址/数据总线使用,此时可分为两种情况: 一种是以P0口引脚输出地址/数据信息,这时CPU内部发出高电平的控制信号,打开与门,同时使多路开关MUX把CPU内部地址/数据总线反相后与输出驱动场效应管T2的栅极接通。地址或数据通过T2输出到引脚,当地址/数据为0时,与门输出0,T1截止,而T2导通,引脚输出0;当地址/数据为1时,与门输出1,T1导通,T2截止,引脚输出1。由于T1和T2两个FET管处于反相,构成了推拉式的输出电路,其负载能力大大增强。 另一种情况由P0口输入数据,此时输入的数据是从引脚通过输入缓冲器进入内部总线。,I/O端口结构,P1口结构及应用,D,CP,Q,Q,-,锁存器,读锁存器,内部总线,写锁存器,读引脚,VCC,内部上拉电阻,P1,T,图2-5 P1口某位结构,I/O端口结构,因为P1口通常作为通用I/O口使用,所以在电路结构上与P0口有一些不同之处。首先它不再需要多路转换开关MUX;其次是电路的内部有上拉电阻,与场效应管共同组成输出驱动电路。为此P1口作为输出口使用时,已能向外提供推拉电流负载,无需再外接上拉电阻。当P1口作为输入口使用时,同样也需先向其锁存器写入“1”,使输出驱动电路的FET截止。 P2口结构及应用 P2口电路中比P1口多了一个多路转换开关MUX,这又正好与P0口一样。P2口可以作为通用I/O口使用。 P3口结构及应用 P3口的特点在于为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。,引脚功能,引脚信号功能介绍 1电源引脚VSS和VCC 2XTAL1和XTAL2是 外接晶体引线端 3控制信号引脚ALE、 PSEN 、 EA和RST 4I/O端口P0、P1、 P2和P3,图2-8 MCS-51单片机芯片引脚图,引脚功能,引脚信号的第二功能 芯片的引脚数目受到工艺及标准化等因素的限制。MCS-51系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却超过此数,因此就出现了需要与可能的矛盾。为解决这个矛盾,给些信号引脚赋以了双重功能。前面介绍了信号引脚的第一功能,下面介绍某些信号引脚的第二功能。,引脚功能,1P3口线的第二功能。,表2-5 P3口线的第二功能,引脚功能,2EPROM存储器程序固化所需要的信号 有内部EPROM的单片机芯片(例如8751),为写入程序需要提供专门的编程脉冲和编程电压。这些信号是由信号引脚第二功能提供的,即 编程脉冲 30脚 (ALE/PROG) 编程电压(21V) 31脚 (EAVPP) 3备用电源 MCS-51单片机的备用电源是以第二功能的方式由9脚(RSTVPD)引入的。当主电源VCC发生故障或电压降低到下限时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失。,时钟电路及工作方式,时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各个信号的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。,时钟电路及工作方式,时钟电路 1.时钟信号的产生 2.引入外部脉冲信号,图2-9 时钟振荡电路,图2-10 外部脉冲源接法,时钟电路及工作方式,时序定时单位 MCS-51的时序定时单位从小到大依次为拍节(或节拍)、状态、机器周期和指令周期。 1.拍节与状态 把振荡脉冲的周期定义为拍节 (用P表示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论