第章 C的存储器结构.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章 C的存储器结构

第3章 89C51的存储器结构 3.1 存储器和它的地址表示方法 3.2 89C51的程序存储器 3.3 89C51的数据存储器 3.1 存储器和它的地址表示方法 计算机中数据是按照每8位为一组的形式存放于存储器中,即CPU每次从存储器中取出或存放的最小宽度是8bit(1个字节,即1B)。 存储器中的每个字节都有一个编号(即相应地址)。CPU要把数据存到存储器或是把数据从存储器中取出来都必须要知道其“地址”。 CPU与存储器之间有三类总线,即地址总线(传送地址)、数据总线(传送数据)和控制总线(传送控制信号)。 89C51有16根地址线,其可以访问的存储空间为64KB,地址范围是:0 ~(216-1)。 3.1 存储器和它的地址表示方法 单片机的存储器结构与一般微型计算机不同。一般微型计算机通常是程序和数据共用一个存储空间;而单片机的存储器结构是,程序存储器和数据存储器的存储空间是分开的。 89C51单片机在物理结构上有4个存储空间: (1)片内程序存储器 (2)片外程序存储器 (3)片内数据存储器 (4)片外数据存储器 从用户角度上看, 89C51单片机有3个存储空间: (1)片内外统一编址的64KB程序存储器地址空间(MOVC) (2)256B片内数据存储器地址空间(MOV) (3)64KB片外数据存储器地址空间(MOVX) 注意:访问3个存储空间的程序指令各不相同。 3.1 存储器和它的地址表示方法 3.2 89C51的程序存储器 程序存储器(ROM)是用于存放用户程序及表格常数的。89C51片内有4KB的ROM,当片内空间不够时,外部可用16位地址线扩展到最大64KB的ROM地址空间,片内ROM和外部扩展ROM是统一编址的。当 =1时,程序计数器PC在0000 H~0FFFH范围内(即4KB地址),执行片内ROM中的程序。当PC的内容在1000 H~FFFFH范围(超过4KB地址)时,CPU自动转向外部ROM执行程序。 当 =0时,所有取指令操作均在外部程序存储器中进行。对8031单片机,因片内无ROM,只能外部扩展程序存储器,EA必须为低电平。 3.2 89C51的程序存储器 3.3 89C51的数据存储器 3.3.1 数据存储器的构成 数据存储器( RAM )是用于存放运算中间结果、数据暂存和数据缓冲,以及设置特征标志等。89C51数据存储器地址空间分为内部和外部两个独立部分。 对于89C51单片机,其片内有256B的数据存储器地址空间,可把它们的物理地址空间划分成四个用途不同的区域。低128B地址空间(00H~ 7FH)为片内数据存储器区,高128 B地址空间(80H~FFH)为特殊功能寄存器区SFR。 3.3 89C51的数据存储器 1. 片内数据存储器低128单元 片内RAM低128单元按用途可分为3个区域。 (1)工作寄存器区(00H~1FH) 片内RAM中的00H~1FH共32B为工作寄存器区,分4组,每组有8个8位工作寄存器R0~R7。通过对特殊功能寄存器程序状态字PSW的位3和位4(RS0、RS1)的设置,可决定当前程序使用哪一组工作寄存器。CPU复位后,总是选中0组工作寄存器。如果实际应用中并不需要4组工作寄存器,那么剩下的工作寄存器组所对应的单元可作为一般的数据缓冲器使用。 3.3 89C51的数据存储器 (2)位寻址区(20H~ 2FH) 片内RAM的20H~ 2FH为可位寻址区域,这16B的每一位都有一个位地址,共有128位,其位地址为00H~7FH,可由程序对它们直接进行清零、置位、取反和测试等操作。同样,位寻址区的RAM单元也可按字节寻址,作为一般的数据缓冲器使用。 3.3 89C51的数据存储器 (3)数据缓冲区和堆栈区(30H~7FH) 片内RAM的30H~7FH共有80B,作为数据缓冲区和堆栈区使用。在程序中往往需要一个后进先出(LIFO)的RAM区域,用于调用子程序响应中断时的现场保护,这种LIFO的缓冲区称为堆栈。堆栈原则上可以设在内部RAM的任意区域,但由于00H~1FH为工作寄存器区,20H~2FH为位寻址区,所以堆栈一般设在30H~7FH的范围之内,这个区域只能字节寻址。 3.3 89C51的数据存储器 片内RAM的各个单元,都可以通过直接给出的字节地址来寻找。如果要寻找内部RAM中的可位寻址区的各个位(bit),必须在位操作指令中用位地址来寻找。对于工作寄存器中的当前工作

您可能关注的文档

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档