1、第三章第三章 MCS51存储器存储器 8051片内存储器及其外部扩展片内存储器及其外部扩展半导体存储器的分类半导体存储器的分类3.2 MCS51单片机存储器结构单片机存储器结构主要特点是主要特点是:程序存储器和数据存储器的寻址空间是分开的程序存储器和数据存储器的寻址空间是分开的存储器有内外区分存储器有内外区分存储器映像图(书存储器映像图(书P36)8051物理上物理上有有4个个存储器地址空间:存储器地址空间:8051逻辑上逻辑上有有3个个存储器地址空间存储器地址空间:(1 1)内部数据存储器中低)内部数据存储器中低128字节字节 8051内部数据存储器配置图内部数据存储器配置图 见书见书P39
2、图图3.5v内部内部RAM寄存器区寄存器区 内部内部RAMRAM的前的前3232个单元,共分为个单元,共分为4 4组,每组含组,每组含8 8个个寄存器,在组中按寄存器,在组中按R7R7R0R0编号,地址从编号,地址从00H00H1FH1FH。CPUCPU使用哪一组寄存器,由程序状态字中的使用哪一组寄存器,由程序状态字中的RS0RS0、RS1RS1的设置来决定。的设置来决定。RS1RS0寄存器组寄存器组对应对应RAM地址地址00组组000H07H01组组108H0FH10组组210H17H11组组318H1FH通用寄存器一般有两种使用方法:通用寄存器一般有两种使用方法:一、用寄存器的符号来表示;
3、一、用寄存器的符号来表示;二、用单元地址来表示。二、用单元地址来表示。例:若例:若MOV A,R0 与与 MOV A,00H指令是等同的指令是等同的 (问:此时隐含给出的(问:此时隐含给出的RS1、RS0为?)为?)v内部内部RAM位寻址区位寻址区 片内片内20H20H2FH2FH字节单元,即可字节单元,即可作为一般的作为一般的RAMRAM区使用进行字节操区使用进行字节操作,也可以对单元中的每一位进行作,也可以对单元中的每一位进行位操作,共有位操作,共有1616个字节寻址单元,个字节寻址单元,按位计算有按位计算有128128位,位地址为:位,位地址为:00H00H7FH7FH例:清除例:清除位
4、地址位地址00H单元单元 CLR 00H;对某位清;对某位清0 MOV 20H,#00H;或或 AND 20H,#00H v内部内部RAM用户用户RAM区区 单元地址为单元地址为30H7FH。共。共8080个字节单元。个字节单元。注意:对于用户注意:对于用户RAM区,只能以存储单元(字节区,只能以存储单元(字节地址)的形式来使用,一般用作堆栈区。地址)的形式来使用,一般用作堆栈区。(2 2)内部数据存储器中高)内部数据存储器中高128字节字节 v专用寄存器:做为专门规定的、有特定的用途寄专用寄存器:做为专门规定的、有特定的用途寄存器。也就是用于存放相应部件的控制命令、状存器。也就是用于存放相应
5、部件的控制命令、状态、或者数据的寄存器态、或者数据的寄存器v又称专用寄存器区又称专用寄存器区,共共22个专用寄存器,其中有个专用寄存器,其中有21个为可寻址的(见书个为可寻址的(见书P41,P41,图图3.73.7)。v专用寄存器的地址(共专用寄存器的地址(共2121个)个)见书见书P41P41,表,表 v专用寄存器的位寻址专用寄存器的位寻址 表中,寄存器的名称前面打表中,寄存器的名称前面打*号,代表该寄存器是可以进行号,代表该寄存器是可以进行位寻址的,即对每一位都可以位寻址的,即对每一位都可以使用位指令进行操作使用位指令进行操作 (3)内部程序存储器 8051的内部的内部ROM容量容量4K
6、地址地址 0000H0FFFH注意一些特殊单元的使用,包括下面部分:注意一些特殊单元的使用,包括下面部分:0000H0002H :上电或复位的程序入口地址:上电或复位的程序入口地址 0003H000AH :外部中断:外部中断0中断地址区中断地址区 000BH0012H ;定时器;定时器/计数器计数器0中断地址区中断地址区 0013H001AH :外部中断:外部中断1中断地址区中断地址区 001BH0022H :定时器:定时器/计数器计数器1中断地址区中断地址区 0023H002AH :串行中断的地址区:串行中断的地址区(4)MCS-51单片机系统的存储器结构特点l l 数据存储器和程序存储器分
7、开处理数据存储器和程序存储器分开处理l l 存储器有内外之分存储器有内外之分 总之:总之:MCS-51单片机应用系统的整个存储器单片机应用系统的整个存储器系统系统是是由片内存储器和片外扩展存储器构成。由片内存储器和片外扩展存储器构成。3.3 外部存储器扩展外部存储器扩展3.3.1 外部程序存储器的扩展外部程序存储器的扩展MCS-51MCS-51用于扩展用于扩展外部程序存储器外部程序存储器的外部总线信号:的外部总线信号:P P0.00.7:8 8位数据和低位数据和低8 8位地址信号,复用总线位地址信号,复用总线ADAD0 07 7。P P2.02.7:高高8 8位地址信号位地址信号ABAB8 8
8、1515ALEALE:地址锁存允许控制信号地址锁存允许控制信号PSENPSEN:片外程序存储器读控制信号片外程序存储器读控制信号EAEA:程序存储器选择程序存储器选择外部程序存储器访问时序外部程序存储器访问时序常用常用EPROMEPROM芯片:芯片:Intel 2716(2KIntel 2716(2K8 8位位)、2732(4KB)2732(4KB)、2764(8KB)2764(8KB)、27128(16KB)27128(16KB)、27256(32KB)27256(32KB)、27512(64KB)27512(64KB)。80518051扩展程序存储器扩展程序存储器27162716(2KB
9、EPROM2KB EPROM)MCS-51MCS-51用于扩展用于扩展外部数据存储器外部数据存储器的外部总线信号:的外部总线信号:P P0.00.7:8 8位数据和低位数据和低8 8位地址信号,复用总线位地址信号,复用总线ADAD0 07 7。P P2.02.7:高高8 8位地址信号位地址信号ABAB8 81515ALEALE:地址锁存允许控制信号地址锁存允许控制信号RDRD:片外数据存储器读控制信号片外数据存储器读控制信号WRWR:片外数据存储器写控制信号片外数据存储器写控制信号外部数据存储器访问时序常用常用RAMRAM芯片:芯片:Intel 6116(2KBIntel 6116(2KB8)
10、8)、6264(8KB 6264(8KB 8)8)、62256(32KB62256(32KB8)8)。80518051扩展数据存储器扩展数据存储器61166116(2KB RAM2KB RAM)单片机连接单片机连接 8KB EPROM 2764 8KB EPROM 2764 和和 8KB RAM 6264 8KB RAM 6264 各一片各一片 EEPROM EEPROM 既能作为程序存储器又能作数据存储器。既能作为程序存储器又能作数据存储器。将程序存储器与数据存储器的空间合二为一。将程序存储器与数据存储器的空间合二为一。片外存储器片外存储器读信号读信号=PSEN RD=PSEN RD注意:注意:写入周期要写入周期要远远大于读远远大于读出周期出周期