MCS-51存储器配置.doc

上传人:新** 文档编号:544038832 上传时间:2023-03-26 格式:DOC 页数:4 大小:36.01KB
返回 下载 相关 举报
MCS-51存储器配置.doc_第1页
第1页 / 共4页
MCS-51存储器配置.doc_第2页
第2页 / 共4页
MCS-51存储器配置.doc_第3页
第3页 / 共4页
MCS-51存储器配置.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《MCS-51存储器配置.doc》由会员分享,可在线阅读,更多相关《MCS-51存储器配置.doc(4页珍藏版)》请在金锄头文库上搜索。

1、MCS-51存储器配置 一般的微型计算机都采用程序与数据共用一组存储器形式,而MCS-51单片机将程序与数据分别放在两组存储器内,一组称为程序存储器,另一组称为数据存储器。单片机的应用特点是为某个特定对象服务,它的程序设计调试成功后,一般是固定不变的,因而程序(包括常数表)可以一次性地永久放到单片机内。这样不仅省去了每次开机后的程序重新装入步骤,还可以有效地防止因掉电和其它干扰而引起的程序丢失的错误。 MCS-51片内集成有一定容量的程序存储器(803180C318032除外)和数据存储器,并能够扩展较大外部存储器的能力。 物理上,MCS-51有4个存储器空间:片内程序存储器、片外程序存储器,

2、片内数据存储器、片外数据存储器。其结构如图2-5所示。 程序存储器 程序存储器用来存放编制好的始终保留的固定程序和表格常数。程序存储器以程序计数器PC作地址指针,用16位的地址总线,地址空间为64KB。 8051单片机内部设置有4KB的ROM(8031无内部ROM),片外可以扩展到64KB的程序存储区,而整个程序存储器的地址空间是统一的。当引脚 (引脚高电平)时,单片机正常运行,片内外统一编址。片内ROM地址范围由0000H0FFFH共4KB;片外ROM地址从1000HFFFFH,内外共64KB。当程序计数器PC0FFFH时执行片内程序,当PC0FFFH时,会自动转向片外程序。 当引脚 (引脚

3、低电平)时,只能执行片外ROM的程序。因此,片外ROM地址从0000HFFFFH共64KB。8031单片机无内部程序存储器,故地址从0000HFFFFH都是外部程序存储器空间,其 脚始终接低电平,使系统只从外部程序存储器中取指。在使用ROM时,下面六个地址单元具有特殊专用功能:0000H单元是程序起始单元。系统复位后,PC0000H,程序从0000H单元开始执行;0003H单元是外部中断0入口地址;000BH单元是定时器 T0溢出中断入口地址;0013H单元是外部中断1入口地址;001BH单元是定时器 T1溢出中断入口地址;0023H单元是串行口中断入口地址。这里只是简单指出这些地址的特殊性,

4、具体使用方法将在中断部分详细介绍。内部数据存储器数据存储器用以存放数据或中间运行结果。其在物理上和逻辑上都分为二个地址空间:一个内部和一个外部数据存储器空间。访问内部数据存储器,用MOV指令,访问外部数据存储器用MOVX指令。8051单片机内部设置有256字节的RAM,其中有128字节的内部RAM数据存储器和128字节的专用(特殊功能)寄存器。128字节的内部RAM数据存储器可分为三部分:通用工作寄存器区、位寻址区、用户数据缓冲区。而在128字节专用寄存器寻址空间上又离散地分布着19个特殊功能寄存器。片内RAM的地址分配如图2-6所示。1内部RAM数据存储器 内部RAM共有128字节单元,地址

5、由00H到7FH。(1)通用工作寄存器区(001FH单元)工作寄存器一共四组(0、1 、2、3组),每组8个寄存器(R0R7),所以共32个寄存器。由于每组寄存器区8个寄存器都记为RoR7,因此每次只能选择一个寄存器区工作。寄存器工作区的选择是通过状态标志寄存器PSW的第3、4位也即RS1、RS0进行,如表2-2。对寄存器操作最灵活且响应速度最快,一般情况下总是首先选择应用寄存器,因此有效地设置4个寄存器工作区可以提高现场保护能力和CPU实时响应的速度。(2)位寻址区(20H2FH)内部数据存储器20H2FH(16个单元)既可单独按位寻址,进行位操作,也可以按字节寻址。这16个字节每字节8位,

6、共有128个位地址。位寻址区的每一位都可以视作软件触发器,由程序直接进行位处理。通常把各种程序状态标志、位控制变量设在位寻址区内。同样,位寻址区的RAM单元也可以作为一般的数据缓冲器使用。字节及字位地址对应关系如表2-3。注意:位寻址和字节寻址通过指令中使用的累加器类型来识别。如:MOV A,21H表示把字节地址21H单元的内容送A累加器,故此指令为字节操作指令。MOV C,21H表示位地址21H中的状态送入位累加器C中(C实际上是进位标志位,这里也用作位累加器)。由表可以查出,位地址21H是字节地址24H单元中的第1位(D1)。(3)用户数据缓冲区(一般缓冲存储区)内部RAM块中的30H-7

7、FH构成一般缓冲存储区。2专用寄存器8051内部的锁存器、定时器、串行口数据缓冲器以及各种控制寄存器和状态寄存器都是以专用功能寄存器(SFR)的形式出现的,并分布在内部数据存储器内,地址空间范围为80HFFH,如表2-4所示。主要专用寄存器功能如下:ACC 累加器,是进行算术和逻辑运算、存放数据和结果,工作最频繁的寄存器。大部分单操作数指令的操作数取自累加器,很多双操作数指令的一个操作数取自累加器。指令系统中用A作为累加器的助记符。B 8位寄存器,主要用于乘除法指令。乘法指令的两个操作数分别取自A和B,其结果存放在AB寄存器对中;除法指令中,被除数取自A,除数取自B,商存放于A,余数存放于B。

8、其他指令中,B可作为RAM的一个单元来使用。PC 程序计数器,是一个16位寄存器,用于存放将要执行的指令地址。PSW 程序状态字寄存器,存放程序运行状态的信息,以便查询和判断。此寄存器各位的含义参见下图,其中PSW.1未用:PSW位地址 D7H D6H D5H D4H D3H D2H D1H D0H字节地址D0HCYACF0RS1RS0OVP DPTR 数据指针寄存器,是16位地址指针,可以拆成高8位(DPH)和低八位(DPL)两个寄存器。DPTR常作间址寄存器,既做外部数据存储器的地址指针,也兼做程序存储器的地址指针。表2-4 专用寄存器在RAM的地址分布直接字节地址(MSB)(LSB)寄存

9、器符号 F0HF7F6F5F4F3F2F1F0B E0HE7E6E5E4E3E2E1E0ACC CYACF0RS1RS00VP D0HD7D6D5D4D3D2D1D0PSW TF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL2 C8HCFCECDCCCBCAC9C8T2CON PT2PSPT1PX1PT0PX0 B8HBDBCBBBAB9B8IP B0HB7B6B5B4B3B2B1B0P3 EAET2ESET1EX1ET0EX0 A8HAFADACABAAA9A8IE A0HA7A6A5A4A3A2A1A0P2 SM0SM1SM2RENTB8RB8TIRI 98H9F9E9D9C

10、9B9A9998SCON 90H9796959493929190P1 TF1TR1TF0TR0IE1IT1IE0IT0 88H8F8E8D8C8B8A8988TCON 80H8786858483828180P0 SP 堆栈地址指针,SP用于存放堆栈顶地址。在一个实际的程序中,往往需要一个后进先出的RAM区,用于存放需保存的程序断点和数据,以保存CPU的现场,这种后进先出的缓冲区称为堆栈。系统复位时,SP=07H, 存入数据时,SP先加1,再压入数据,所以堆栈的最小地址为08H。MCS-51的堆栈原则上可以设在内部RAM(08H7FH)的任意区域内,但考虑到工作寄存器和位寻址区使用频繁,一般设在

11、307FH的范围内。P0P3 I/O口寄存器。TMOD 定时计数器方式寄存器。TCON 定时计数器控制和中断标志寄存器。TH0、TL0 定时器T0初始值寄存器,TH0为高8位,TL0为低八位。TH1、TL1 定时器T1初始值寄存器,TH1为高8位,TL1为低八位。IP 中断优先级控制寄存器。IE 中断允许寄存器。SBUF 串行口数据缓冲寄存器。它实际上是由两个独立的寄存器组成,一个是发送缓冲器,令一个是接收缓冲器。PCON 在HMOS型的8051单片机中,PCON最高位控制串行口波特率(在CHMOSD型单片机上是电源控制)。另外,定时器/计数器、中断及串行口专用寄存器将在后面有专门的章节介绍。

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

当前位置:首页 > 生活休闲 > 社会民生

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