存储器空间配置_第1页
存储器空间配置_第2页
存储器空间配置_第3页
存储器空间配置_第4页
存储器空间配置_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、 第三讲 第五节 存储器空间配置一、存储器的基本知识 1. 存储器(Memory) 存储器是用来存储二进制数据(0、1)的电子装置。 一个存储器芯片由若干个存储单元构成,此外,还包括着地址寄存器、地址译码器、存储器输入/输出控制逻辑电路等。 每个存储单元由8个触发器构成,每个触发器可以有0、1两种状态,从而可以存储一个字节(8位二进制数据)的信息。 2. 存储器地址与容量 每个存储单元都有一个编号,称为存储单元的地址。 访问哪一个单元由地址线的连接及其上出现的电平信息决定,因此n根地址线可以对应2n种地址信息,可以与2n个存储单元相对应。 对存储单元进行读、写时,必须由地址总线给出所要访问的存

2、储单元的地址信息,所读、写的内容由数据总线输入/输出。 存储器的容量就是存储单元数,一般为2n。 以2732、6264为例,介绍存储器芯片型号与容量的关系。 3. 存储器的分类 根据功用及存储器的物理特点,可分为: 只读(程序)存储器ROM(Read Only Memory) 用来存放程序,其内容一经写入就不能随意该改写,只能借助于专门的写入器。在执行其中的程序时更不能更改其内容。 ROM一般由MOS工艺晶体管组成,用其通断表示二进制信息。 根据ROM的编程方式,ROM又有以下几种: 掩膜ROM 可编程ROM PROM 紫外线擦除可改写ROM EPROM 电擦除可改写ROM EEPROM或E2

3、PROM 快擦写ROM Flash ROM(闪存)使用较多的是EPROM,其主要型号有2732、2764、27128、27256等。 随机(数据)存储器RAM(Random Access Memory) 用来存放随时产生的数据。它既可读又可改写,但断电后其中的内容“丢失”不定。 RAM有MOS型和双极型两种制造工艺。前者的集成度高、功耗低、成本低、但存取速度慢;后者正好相反。根据RAM的工作方式,又有以下两种: 静态RAM(SRAM) 动态RAM(DRAM) 常用的RAM芯片有:6264、62128、62256等。二、MCS-51的存储器空间配置(重点) 说明:单片机的控制要直接面对硬件,主要

4、就是存储器、寄存器等。编写程序时,几乎所有的指令都要针对具体的存储单元。因此,必须对存储器空间配置、地址、访问方式等有完全清楚的掌握。 MCS-51单片机的存储器空间为哈佛结构,其程序存储器、数据存储器在逻辑上是分开的(物理上也基本如此)。 上图(教材图2-5,P10)为MCS-51的存储器空间配置示意图。 物理上,分为四个存储空间:片内程序存储器(8031无)、片外程序存储器、片内数据存储器、片外数据存储器。 逻辑上,分为三个空间:片内、片外程序存储器,片内数据(随机)存储器,片外数据(随机)存储器。 编址:程序存储器和数据存储器分别编址;片内、片外程序存储器统一编址;片内数据存储器、片外数

5、据存储器分别编址。 1. 程序存储器空间仅有片外程序存储器(8031)时,地址范围:0000H0FFFFH(64KB)。 仅有片内程序存储器时,地址范围:0000H0FFFH(4KB)。 片内、片外程序存储器同时存在时,当时选中片内,地址范围0000H0FFFH(4KB);当选中片外,地址范围1000H0FFFFH(12KB)。 说明: 访问程序存储器用MOVC指令(专用,后详)。 8031无片内程序存储器,52子系列片内ROM为8KB。 实际程序存储器的容量可以小于64KB。 复位后,(PC)=0000H,系统将从程序存储器的0000H单元开始取出第一条指令加以执行。 6个特殊的程序存储器单

6、元: 0000H 复位后程序的入口地址(注意跳转) 0003H 外部中断0的中断向量(中断服务子程序的入口地址) 000BH 定时/计数器0的中断向量 0013H 外部中断1的中断向量 001BH 定时/计数器1的中断向量 0023H 串行口中断的中断向量 2. 数据存储器空间 片外数据存储器 最大可扩展到64KB,地址范围0000H0FFFFH。访问片外数据存储器使用MOVX指令,且必须经过累加器A,通过DPTR指定访问单元的地址。 读片外RAM单元: MOV DPTR, #xxxxH ;指定地址 MOVX A, DPTR ;内容读入A 写片外RAM单元: MOV DPTR, #xxxxH

7、;指定地址 MOVX DPTR, A ;将A的内容写入 片内数据存储器 片内数据存储器共256B(地址范围00H0FFH),由用户RAM区(低128B)和特殊功能寄存器区(高128B)组成。 用户RAM区(低128字节,00H7FH) 工作寄存器区(00H1FH)在片内00H1FH共32个单元作为工作寄存器用,分为4个区(BANK0BANK3),每区8个工作寄存器R0R7。特点: 只能选择其中的一组作为工作寄存器,由PSW中的RS1、RS0两位决定(向PSW中写入相应的控制字): RS1 RS0 区 0 0 BANK0 (默认,R0R7分别对应00H07H) 0 1 BANK1 (R0R7分别

8、对应08H0FH) 1 0 BANK2 (R0R7分别对应10H17H) 1 1 BANK3 (R0R7分别对应18H1FH) 工作寄存器用来缓存操作数、中间结果等,有关的指令字节少(多为单字节)、执行时间短、变成灵活(可间接寻址)。 位寻址区(20H2FH) 20H2FH为位(Bit)寻址区,这16个单元既可按字节访问,8×16=128位加上SFR中的93位共221位,还可按位访问(寻址),作为布尔处理机存储空间的一部分实现布尔运算。(参见教材P14图-及P12表2-3) 位地址的表示方法: 直接位地址 (例如SETB 07H) 存储单元字节地址加位 (例如 20H.7) SFR名

9、加位 (例如PSW.3、ACC.0、P1.7) MSB(最高有效位) Most Significant Bit LSB(最低有效位) Least Significant Bit 一般RAM区(30H7FH) 30H7FH为一般用途的RAM,使用时基本无限制。 注意:堆栈一般开辟在此区间内,使用此区间内的RAM时,注意不要与堆栈发生冲突。 特殊功能寄存器区(80H0FFH) 特殊功能寄存器SFR(Special Function Register)也称为专用寄存器。 SFR的作用:用来存放单片机有关功能部件的状态、数据等,可查询或通过向它们写入相应的数据或控制字来达到控制这些功能部件的目的。 M

10、CS-51有21个特殊功能寄存器(参见教材P12表2-3),除5个为双字节(16位)外,其余均为8位寄存器,因此共占据26个存储单元(不连续分布在80H0FFH之间)。 SFR中有93位可以位寻址。 注意:除26个SFR单元外,80H0FFH中其余的RAM单元不能使用。 关于堆栈 堆栈(Stack)是一种数据结构(线性表),是在内存(片内RAM)中设置的一片存储单元。 堆栈的使用具有“先进后出”、“后进先出”的特点,其中数据的读写(进出)只能在一端进行(举例说明:北京火车站、子弹匣)。 数据的写入入栈、压入;数据的读出出栈、弹出。有数据入栈、出栈后,栈内其他数据的存储地址将随之发生变化。 栈顶与栈底、堆栈指针SP 栈底开辟堆栈时第一个存储单元的地址。 存放下一个入栈数据的存储单元的地址。 堆栈指针8位SFR,用来指向栈顶。 刚开辟堆栈后,因无数据入栈,因此栈底=栈顶。 堆栈的种类(对照下图说明) 向上生成随着数据的入栈,栈顶越来越大,出栈则正相反。 向下生成随着数据的入栈,栈顶越来越小,出栈则正相反。 MCS-51的堆栈属于向上生成型。 数据入栈:(SP)=(SP)+1 数据出栈:(SP)=(SP)-1 堆栈的开

温馨提示

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

评论

0/150

提交评论