51单片机结构 大学计算机

上传人:woxinch****an2018 文档编号:56898932 上传时间:2018-10-16 格式:PPT 页数:43 大小:1.28MB
返回 下载 相关 举报
51单片机结构 大学计算机_第1页
第1页 / 共43页
51单片机结构 大学计算机_第2页
第2页 / 共43页
51单片机结构 大学计算机_第3页
第3页 / 共43页
51单片机结构 大学计算机_第4页
第4页 / 共43页
51单片机结构 大学计算机_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《51单片机结构 大学计算机》由会员分享,可在线阅读,更多相关《51单片机结构 大学计算机(43页珍藏版)》请在金锄头文库上搜索。

1、李芳主编,MCS-51单片机内部结构 存 储 器 特殊功能寄存器 时钟电路和复位电路 引脚,内 容 提 要,MCS-51系列单片机有多种型号的产品:普通型(基本型 51子系列) 8031、 8051、8751、89C51、89S51等。 增强型(52子系列) 8032、8052、8752、89C52、89S52等。 它们的结构基本相同,其主要差别反映在存储器的配置上。 8031片内没有程序存储器除了老产品,已被淘汰。 8051内部设有4KB的掩模ROM程序存储器 8751是将8051片内的ROM换成EPROM 89C51则换成4KB的闪速EEPROM 89S51结构同89C51, 4KB的闪速

2、EEPROM可在线编程 增强型的存储容量为普通型的一倍本课以 8XX51 代表这一系列的单片机。,51系列单片机内部结构如图1-1所示。,图1-1 ( 图中“/” 两边分别为基本型和增强型 ),1.1.2 CPU,CPU是单片机的核心部件。它由运算器和控制器等部件组成。 1. 运算器 运算器的功能是 进行算术运算:加、减、乘、除、加1、减1、比较BCD码十进制调整等 逻辑运算:与、或、异或、求反、循环等逻辑操作 位操作:内部有布尔处理器,它以进位标志位C为位累加器,用来处理位操作。可对位置 “1”、对位清零 、位判断等。操作结果的状态信息送至状态寄存PSW。,2.程序计数器PC 程序计数器PC

3、是16位的自动加1的寄存器,用来存放即将要执行的指令地址,可对64KB程序存储器直接寻址。执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出,取出指令码后,PC寄存器内容自动加1,指向下一指令码地址。 3.指令寄存器 指令寄存器中存放指令代码。CPU执行指令时,由程序存储器中读取的指令代码送入指令存储器,经指令译码器译码后由定时与控制电路发出相应的控制信号,完成指令功能。,1.2 存 储 器,存储器用来存放程序和数据,半导体存储器由一个一个单元组成,每个单元有一个编号(称为地址),一个单元存放一个8位数据,当一个数据多于8位就需要两个单元存放。计算机的存储器地址结构形式有两种-普林斯

4、顿结构和哈佛结构,见下图:,普林斯顿结构: RAM和ROM连续编址在同一地址空间。 哈佛结构: RAM和ROM分别编址在不同一地址空间,RAM和ROM可以有相同的地址,CPU靠不同的指令区别。,MCS-51的储存器采用哈佛结构,它将ROM(程序 存储器)和RAM (数据存储器)分开编址,各有自己的寻 址方式、控制信号和指令。程序存储器用来存放程序和始终要保留的常数。数据存储器存放程序运行中所需要数据(常数和变量)或运算结果。 MCS-51单片机的存储器地址结构:从物理空间看,MCS-51有四个存储器地址空间: 片内数据存储器片外数据存储器片内程序存储器片外程序存储器MCS-51存储器物理结构见

5、下图1-3 (a)(b)所示:,外部数据存储器,外部程序 存储器,内部程序存储器,内部数据存储器,8XX51,(a) EA=1 8XX51存储器的物理地址,(EA=1),0000H,FFFFH,00H,1000H,0000H,FFFFH,0FFFH,7FH,外部数据存储器,外部程序 存储器,内部数据存储器,8XX51,(b) EA=0 8XX51存储器的物理地址,(EA=0),FFFFH,00H,0000H,0000H,FFFFH,7FH,由于片内、片外程序存储器统一编址,因此 从逻辑上看, 8XX51有三个存储器空间:片内数据存储器片外数据存储器片内、片外统一编址的程序存储器,因此,引脚EA

6、的接法(EA引脚接地还是接+5V)决定了程序储存器的00000FFFH 4KB地址范围是在单片机片内还是片外,如果接+5V(EA=1),程序从片内开始执行,如果接地(EA=0),程序从片外开始执行,而不管片内是否实际存在程序存储器。,1.2.1 程序储存器程序存储器用来存放编制好的始终保留的固定程序和表格常数。程序储存器以程序计数器 PC 作为地址指针,通过16位地址总线,可寻址的地址空间为64KB。在8051/8751/89C51 片内,分别内置最低地址空间的4KB ROM/EPROM程序储存器(内部程序储存器),而在8031片内,则无内部程序储存器,必须外部扩展EPROM。MCS-51单片

7、机中64KB内、外程序储存器的地址是统一编排的。,8031单片机无内部程序存储器,地址从0000HFFFFH都是外部程序存储空间。 应始终接地。由于程序必须存放在存储器中,因此它必须外接程序存储器才能使用,因此,已被淘汰。对于内部有ROM的单片机(51、52系列), 引脚接高电平,使程序从内部ROM开始执行。当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间。外部程序存储器地址空间为1000HFFFFH。访问程序存储器使用MOVC指令。单片机执行程序时由PC 指示地址, 复位时PC内容为0000H, 由此, 程序必须从0号单元开始存放.,程序存储器中的几个特殊地址的使用: 地址 用途

8、0000H 复位操作后的程序入口0003H 外部中断0服务程序入口000BH 定时器0中断服务程序入口0013H 外部中断1服务程序入口001BH 定时器1中断服务程序入口0023H 串行口中断服务程序入口002BH 定时器2中断服务程序入口(增强型)由于两入口地址之间的存储空间有限,因此在编程时,通常在这些入口地址开始的两三个地址单元中,放入一条转移类指令,已使相应的程序转到指定的程序存储器区域中执行。,1.2.2 外部数据存储器 用于存放随机读写的数据。 外部I/O口地址影像区。 MCS-51单片机的外部数据存储器和外部I/O口实行统一编址 ,并使用相同的 作选通控制信号,均使用 MOVX

9、 指令和相同的寄存器间址访问。MCS-51 单片机最多可扩展64KB外部数据存储器 1.2.3 内部数据储存器内部数据存储器是使用最多的地址空间, 存放随机读写的数据 通用寄存器区,堆栈区 运算操作数存放区指令(算术运算、逻辑运算、位操作运算等)的 操作数只能在此地址空间或特殊功能寄存器地址空间。 内部数据存储器和特殊功能寄存器(SFR)的地址分配见 图1-4:,图1-4 51单片机的内部RAM和SFR地址,特殊功能寄存器SFR,内部 RAM,7FH,80H,00H,FFH,(b) 8XX52(增强型),地址重合,内部 RAM,80H,FFH,内部 RAM,7FH,80H,00H,FFH,特殊

10、功能寄存器SFR,(a) 8XX51(普通型),51 系列单片机内部数据存储器地址范围为007FH。各区域地址见下表。 (1)地址 01FH的前32个单元称为寄存器区 用途: 作通用寄存器R0R7。 R0与R1可作间址寄存器使用。,在基本型51子系列中只有128字节RAM,占地址00-7FH,SFR占地址80H-FFH,在增强型52子系列中有256字节RAM,占地址00-FFH,其中80H-FFH地址的RAM 和SFR 80H-FFH占的地址是重合的,CPU访问内部RAM和访问SFR的指令是相同的,所访问的地址究竟是RAM还是SFR呢,靠寻址方式区别,访问SFR用直接地址(称为直接寻址)访问R

11、AM采用寄存器间接寻址。,使用时应注意:32个单元的寄存器区分为四组,使用时只能选其中一组寄存器。 寄存器的选组由程序状态字PSW的RS1和RS0位定。 RS1 RS0 选寄存器组 0 0 0组0 1 1组1 0 2组1 1 3组 初始化时或复位时,自动选中0组。 一旦选中一组,其它三组只能作为数据存储器使用,而不能作为寄存器使用。 设置多组寄存器可以方便保护现场。,(2)20H2FH为位地址区共16个单元,每单元有八个位,每位有一个位地址,共128位,位地址范围为00H7FH,该区既可位寻址,又可字节寻址。如 MOV 20H,C (这里C是Cy进位标志位),该指令是将Cy内容送20H位,如果

12、Cy1,位20H值为“1”。 (3)除选中的寄存组以外的存储器均可以作为通用RAM区。 (4)堆栈区8XX51单片机的堆栈设在内部RAM区,深度不大于128字节,初始化时SP指向07H。 注: 对51基本型单片机只有00H7FH单元128字节的RAM区。对52增强型的单片机还有80HFFH组成的高128字节RAM区(共256字节RAM )。,1.3特殊功能寄存器,MCS-51单片机共有21个字节的特殊功能寄存器用英文缩写SFR (Special Fuction Register)表示。 1.用途: A 累加器、状态标志寄存器 单片机内部各部件专用的控制、状态寄存器 并行口、串行口影射寄存器 2

13、.地址空间: 21个特殊功能器不连续的分布在80HFFH 128个字节地址空间,见表1-2。 地址为X0H和X8H是可位寻址的寄存器,表1-2中用“*”表示。,表1-2中还标注了各SFR的名称、字节地址、可寻址位的位地址和位名称。 21个特殊功能寄存器的名称及主要功能介绍如下,详细的用法见后面各节的内容。A累加器,自带有全零标志Z,A=0则Z=1;A0则Z=0。该标志常用于程序分支转移的判断条件。B寄存器,常用于乘除法运算(见第2章)。PSW程序状态字。主要起着标志寄存器的作用,其8位定义见表1-3。,其中 CY:进/借位标志反映最高位的进位借位情况,加法为进位、减 法为借位。CY=1,有进/

14、借位 ; CY=0,无进/借位。AC:辅助进/借位标志反映高半字节与低半字节之间的进/借位,AC=1有进/借位; AC=0无进/借位 。 FO:用户标志位。可由用户设定其含义。RS1,RS0:工作寄存器组选择位。,位地址,位名称,OV:溢出标志反映补码运算的运算结果有无溢出有溢出 OV=1,无溢出OV=0。-:无效位。P:奇偶标志运算结果有奇个“1”,P=1;运算结果有偶个“1”,P=0。影响标志位的指令及其影响方式见第2章。SP堆栈指针。8XX51单片机的堆栈设在片内RAM,对堆栈的操作包括压入(PUSH)和弹出(POP)两种方式,并且遵循后进先出的原则,但在堆栈生成的方向上,与8086正好

15、相反8XX51单片机的堆栈操作遵循先加后压,先弹后减的顺序,按字节进行操作。,DPTR数据指针寄存器用来存放16位地址值,以便用间接寻址或变址寻址片外存储器。DPTR可分成DPL和DPH两个8位寄存器分别使用。 P0 P1 P2 P3I/O端口寄存器是四个并行I/O端口映射入SFR中的寄存器。通过对该寄存器的读/写,可实现从相应I/O端口的输入/输出。例如:指令 MOV P1,A实现了把A累加器中的内容从P1端口输出的操作。指令MOV A,P3实现了把P3端口线上的信息输入到A中的操作。,此外还有如下寄存器,它们将在后面章节介绍: IP中断优先级控制寄存器。 IE中断允许控制寄存器。 TMOD定时器/计数器方式控制寄存器。 TCON定时器/计数器控制寄存器。 TH0,TL0定时器/计数器0。 TH1,TH1定时器/计数器1。 SCON串行端口控制寄存器。 SBUF串行数据缓冲器。PCON电源控制寄存器。,注: 在52子系列中,高128字节RAM和SFR的地址是重叠的,究竟访问哪一块可通过不同的寻址方式加以区分,访问高128字节RAM采用寄存器间址,访问SFR则只能采用直接寻址,访问低128字节RAM时,两种寻址均可采用。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号