单片机内部的存储器结构
存储器是计算机的重要硬件之一,单片机存储器结构有两种类型:一种是程序存储器和数据存储器统一编址,属于普林斯顿结构,另一种是程序存储器和数据存储器分开编址的哈佛结构。 MCS-51 采用的是哈佛结构。
一、存储器具有的特点
程序存储器和数据存储器截然分开,各有自己的寻址系统,控制信号和特定的功能。程序存储器只存放程序和始终要保留的常数,数据存储器通常用来存放程序运行中所需要的大量数据。
单片机中与存储器有关的名称有:程序存储器和数据存储器、内部存储器和外部存储器、字节地址和位地址。存储器有一定的容量,常把一个 8 位二进制数作基本单位,叫作字节。存储器有很多字节单元,也用二进制数来标识,叫地址。这些存储器空间的地址多数从零开始编址。 8 位地址 00H ~ FFH ,十六位地址 0000H ~ FFFFH 。由于每一位十六进制数可直接换成四位二进制数(如 0H—0000B、 9H—1001B、 FH—1111B ,其中 H 代表十六进制数标识符, B 代表二进制数标识符),以后我们也把两位十六进制数说成是 8 位二进制数
工作寄存器以 RAM 形式组成, I/O 接口也采用存储器方式工作。工作寄存器、 I/O 口锁存器和数据存储器 RAM 在单片机中统一编址。
具有一个功能很强的布尔处理器,可寻址位空间有 256 位。
二、MCS-51 具有的存储器编址空间
MCS-51 单片机寄储器结构如图所示。有六个编址空间,有四个物理存储器空间:
① 即由 PC 作地址指针的片内 4K (0000H-0FFFH)程序存储器。
② 片外 4K+60K(0000H-FFFFH) 程序存储器。
③ 由数据指针作地址的片外 64K 数据存储器。
④ 片内 8 位地址的 128 字节 RAM ( 00H-7FH )和特殊功能寄存器 (80H-FFH) 。
程序存储器,片内 4K 程序存储器空间,其地址为 0000H ~ 0FFFH ,外部 EPROM 也从 0000H 开始编址。在地址 0000H ~ 0FFFH 区间,地址有重叠,由 EA 引脚信号来控制内、外程序存储器的选择。
EA =0 时,不管 PC 值的大小, CPU 总是访问外部程序存储器。对于 8031 芯片,其内部没有程序存储器,必然外接 EPROM ,所以 EA 必须接地,即 EA =0 时。外部程序存储器从 0000H 开始编址,寻址范围 64K 。当 EA =1 时,先执行内部 4K 程序,满 4K 后接着执行外部程序。
程序存储器以 16 位的程序计数器 PC 作为地址指针可寻址 64K 字节空间范围, PSEN 作为程序存储器的读选通信号。
程序存储器也存放程序所需要的常数。单片机以指令形式的不同来区分是访问程序存储器,还是访问数据存储器,凡是从程序存储器的常数表中取数据时,都要用查表指令 MOVC 形式。
编辑:admin 最后修改时间:2018-05-08