理论教育 智能电子产品设计与制作:存储器组织

智能电子产品设计与制作:存储器组织

时间:2023-10-20 理论教育 版权反馈
【摘要】:图2.98051的存储器结构一、程序存储器程序存储器用于存放编好的程序和表格常数。表2.9内部RAM①寄存器区。表2.11SFR位地址及字节地址表续表2.外部数据存储器空间为64KB,地址范围是0000H~FFFFH,片内外存储器采用不同的寻址方式。表2.12存储类型与单片机存储器的对应关系表在单片机C语言程序设计中,用户无须考虑程序的存放地址,编译程序会在编译过程中按照上述规定,自动安排程序的存放地址。

智能电子产品设计与制作:存储器组织

8051单片机有两个独立寻址的程序存储器和数据存储器,共有4个物理上相对独立的存储器空间:内、外程序存储器,内、外数据存储器。其组织结构如图2.9所示。

图2.9 8051的存储器结构

一、程序存储器

程序存储器用于存放编好的程序和表格常数。8051单片机片内有4KB的程序存储器,外部可扩展最多64KB的程序存储器。片内外的ROM是统一编址的。

端保持高电平,8051的CPU执行片内ROM中的程序,当超过4KB时,将自动执行片外程序存储器中的程序;当端保持低电平时,单片机只能从外部程序存储器中取指。

单片机复位后,程序计数器PC=0000H,PC决定了程序执行的顺序,但程序存储器有一组特殊的地址空间0003H~002AH,共40个单元。这40个单元被均匀地分为5段,作为5个中断源的中断地址区。其中:

0003H~000AH 外部中断0中断地址区;

000BH~0012H 定时/计数器0中断地址区;

0013H~001AH 外部中断1中断地址区;

001BH~0022H 定时/计数器1中断地址区;

0023H~002AH 串行中断地址区。

这样若系统中使用了中断,则在0000H~0002H单元存放的是一条无条件转移指令,以便直接转去执行指定的程序。

二、数据存储器

单片机的数据存储器由读写存储器RAM组成,分为内部数据存储器和外部数据存储器两大部分,如图2.10所示。

图2.10 单片机数据存储器结构

1.内部数据存储器

共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)的内部RAM区和高128单元(单元地址80H~FFH)的特殊功能寄存器区。

(1)内部数据存储器低128单元。

按其用途划分为寄存器区、位寻址区和用户RAM区三个区域如表2.9所示。

表2.9 内部RAM

①寄存器区。(www.daowen.com)

8051共有4组寄存器,占据内部RAM的00H~1FH单元,每组8个寄存单元(各为8位),各组都以R0~R7作为寄存器单元编号。寄存器常用于存放操作数、中间结果等。

②位寻址区。

内部RAM的20H~2FH单元,既可字节寻址也可位寻址区,位地址为00H~7FH,通常把该区称之为位寻址区。表2.10为位寻址区的位地址。

表2.10 片内RAM位寻址区的位地址

③用户RAM区。

供用户使用的一般RAM区,其单元地址为30H~7FH。

(2)内部数据存储器高128单元。

内部RAM的高128单元共定义了21个字节用于特殊功能的寄存器(Special Function Register),其中有11个专用寄存器是可以位寻址的。

各寄存器的字节地址及位地址并列于表2.11中。

表2.11 SFR位地址及字节地址表

续表

2.外部数据存储器

空间为64KB,地址范围是0000H~FFFFH,片内外存储器采用不同的寻址方式。存于这个空间的数据只能做读写操作,其中读、写控制信号分别由P3.7、P3.6引脚提供。

三、存储器的C51描述

在C51中可定义数据的存储类型,即指定变量的存储区域,存储类型与单片机存储器的对应关系如表2.12所示。

表2.12 存储类型与单片机存储器的对应关系表

在单片机C语言程序设计中,用户无须考虑程序的存放地址,编译程序会在编译过程中按照上述规定,自动安排程序的存放地址。

例如:C语言是从main( )函数开始执行的,编译程序会在程序存储器的0000H处自动存放一条转移指令,跳转到main( )函数存放的地址;中断函数也会按照中断类型号,自动由编译程序安排存放在程序存储器相应的地址中。因此,只需了解程序存储器的结构就可以了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈