购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 8051单片机的存储器组织结构

8051单片机最早由Intel公司推出,它在一块超大规模集成电路芯片上同时集成了CPU、ROM、RAM以及TIMER/COUNTER,使用者只需外接少量的接口电路就可组成自己的专用微处理器系统。目前,市场上8051单片机的硬件支持芯片及软件应用程序的种类十分丰富,除了Intel公司之外,还有NXP、Siemens、ADM、Fujutsu、OKI、ATMEL等公司都推出了以8051为核心的单片机。新一代的8051单片机集成度更高,在片内集成了更多的功能部件,如A/D、PWM、PCA、WDT以及高速I/O口等,在工业测量控制领域内得到极为广泛的应用,因此,有人指出8051单片机已成为事实上的工业标准。目前已有多个厂家生产不同型号的8051单片机,它们各有特点,但其基本内核相同,指令系统也完全兼容。

8051基本内核的结构框图,如图1.1所示。包括:

图1.1 8051基本内核的结构框图

· 中央处理器CPU,用于执行各种指令和运算处理;

· 内部数据存储器RAM,用于存放可以读/写的数据;

· 内部程序存储器ROM,用于存放程序指令或某些常数表格;

· 4个8位的并行I/O接口P0、P1、P2和P3(每个接口都可以用做输入或者输出);

·2个定时器/计数器,用做外部事件计数器或内部定时;

· 中断系统具有5个中断源(2个外部中断、2个定时器中断、1个串行口中断,采用2个优先级的嵌套中断结构,可实现二级中断服务程序嵌套,每一个中断源都可用软件程序规定为高优先级中断或低优先级中断);

·1个串行接口电路(用做异步接收发送器);

· 内部时钟电路(晶体和微调电容需要外接,振荡频率可以高达40MHz)。

以上各部分通过内部总线相连接。在很多情况下,单片机还要和外部设备或外部存储器相连接,连接方式采用三总线(地址、数据、控制)方式,但在8051单片机中,没有单独的地址总线和数据总线,而是与并行I/O口中的P0口及P2口公用的。进行外部扩展时,P0口分别作为低8位地址线和8位数据线,P2口则作为高8位地址线用,所以也是16条地址线和8条数据线。但读者一定要建立一个明确的概念,单片机进行外部扩展的地址线和数据线都不是独立的总线,而是与并行I/O口公用的,这是8051单片机结构的一个特点。

对于采用高级语言Keil C51的用户来说,了解和熟悉8051单片机的存储器组织结构是十分必要的,这样在具体编程时可以合理安排各种变量,最大限度地实现代码优化。从使用者的角度看,8051单片机有如下三个存储器空间。

1.程序存储器ROM 对于普通8051单片机,程序存储器ROM的空间大小为64KB,用于存放程序代码和一些表格常数,称为CODE空间。普通8051可采用“代码分组”(CODE BANK)设计技术,将ROM空间扩展到32×64KB,新型NXP 80C51Mx单片机的ROM空间最大可扩展到16MB,称为ECODE和HCONST空间。8051单片机专门提供一个引脚“ ”来区分片内ROM和片外ROM, 引脚接高电平时,单片机从片内ROM中读取指令,当指令地址超过片内ROM空间范围后,就自动地转向片外ROM读取指令; 引脚接低电平时,所有的取指令操作均对片外ROM进行。程序存储器的某些地址单元是保留给系统使用的:0000H~0002H单元是所有执行程序的入口地址,复位后CPU总是从0000H地址开始执行程序;0003H~002BH单元均匀地分为5段,用于5个中断服务程序的入口,产生某个中断时,将自动进入其对应入口地址开始执行中断服务程序,一些新型8051单片机增加了更多的中断源,它们的中断入口地址也相应地增加。

2.片内数据存储器RAM 对于普通8051单片机,片内数据存储器RAM空间最大为256 B,用于存放程序执行过程的各种变量及临时数据。片内RAM的低128个字节可用直接寻址方式进行访问,也可用间接寻址方式访问,称为DATA区。其中,00H~1FH地址范围平均分为4组,每组都有8个工作寄存器R0~R7,称为工作寄存器区(Register Banks)。20H~2FH地址范围中,每个存储器单元的每一位都可以用位处理指令直接操作,该段地址范围称为位寻址区(BDATA区),其中每一位称为一个bit。对于51子系列单片机仅有上述低128个字节,对于52子系列单片机,增加了高128个字节的片内RAM,地址范围为80H~FFH,该范围只能采用间接寻址方式访问,整个片内RAM地址范围00H~FFH称为IDATA区。与IDATA空间高128个字节(地址范围80H~FFH)重叠部分称为特殊功能寄存器区(SFR SPACE),有些特殊功能寄存器是以位寻址的,其可寻址位称为sbit。NXP公司推出的新型单片机80C51Mx,其片内RAM最大可扩充到64 KB,称为EDATA区。

3.片外数据存储器RAM 对于普通8051单片机,片外数据存储器RAM空间大小为 64 KB,称为XDATA区。在XDATA空间内进行分页寻址操作时,称为PDATA区。有些新型8051单片机的扩充片内RAM,需要用专门的特殊功能寄存器“映像”(MAP)到XDATA地址空间;还有一些新型80C51单片机可以将片外RAM最大扩展到16 MB,称为HDATA区。

普通8051单片机的存储器组织结构如图1.2所示,其中,各部分空间名称说明及地址范围如表1-1所示。

图1.2 普通8051单片机的存储器组织结构

表1-1 普通8051单片机存储器空间分配表

新型8051单片机的扩展存储器组织结构如图1.3所示,其中各部分空间名称说明及地址范围如表1-2所示。

NXP 80C51Mx单片机的存储器组织结构如图1.4所示,其中各部分空间名称说明及地址范围如表1-3所示。

图1.3 新型8051单片机的扩展存储器组织结构

表1-2 新型8051单片机扩展存储器空间分配表

图1.4 NXP 80C51Mx单片机的存储器组织结构

表1-3 NXP 80C51Mx单片机存储器空间分配表 6+QhlYZ+DhonCNeI5p4ai0tOCuMIXh7/HkLBbgqGBOQHQnvVpyA3nnc7v3SZtlzH

点击中间区域
呼出菜单
上一章
目录
下一章
×