单片机存储器配置共42页
《单片机原理及应用》课件01-51单片机基本结构与存储器分配

内中断
并行口
外中断
P0 P1 P2 P3
串口模块 TXD RXD
中断模块 INT0 INT1
P0.0~P0.7
P2.0~P2.7
VCC (+5V)
GND
RAM地址 锁存器
RAM
通道0驱动器
通道0锁 存器
通道2驱动器
通道2锁 存器
ROM/ EPROM
程序地址寄存器
PSEN ALE
EA RST
B寄存器 ACC TMP2
片内地址空间:RAM 128B(00H-7FH) SFR 128B(80H-FFH)
128B SFR
128B RAM
FFH 21个SFR分布 在80H-FFH
83个可寻址位
80H 7FH
用户、
堆栈区
30H 2FH
位寻址区
20H 1FH
工作寄存器区
00H
内部RAM组织结构
10
所有的RAM区(位 寻址区、工作寄 存器区)都可以 用于存放数据, 故也称为数据缓 存寄存器
特殊功能寄存器(SFR)
▼特殊功能寄存器SFR(专用寄存器)
专用于控制、选择、管理、存放单片机内部各功能 部件的工作方式、条件、状态、结果的寄存器。
▼不同的SFR管理不同的硬件模块,负责不同的功 17 能——各司其职
换言之:要让单片机实现预定的功能,必须有相应 的硬件和软件,而软件中最重要的一项工作就是对 SFR写命令(要求)。
4 堆栈指针SP
堆栈:
在片内RAM中,指定一个专门的区域来存放某 些特别的数据,它遵循先进后出和后进先出 (LIFO/FILO)的原则,这个RAM区叫堆栈。
功用:
22
存储器配置

4、若 2FH 字节的最高位为“0”, 则跳转到LED_OFF
JNB 7FH, LED_OFF
2.3 89C51单片机存储器配置
◆
片内数据存储器(低128B)
这些可寻址位,通过执行指令可 直接对某一位操作,如置1、清0 或判1、判0等,可用作软件标志 位或用于位(布尔)处理,用于 开关决策、逻辑电路仿真、实时 控制 。这是一般微机和早期单 片机所没有的。这种位寻址能力
2、片内RAM
◆
片内数据存储器(高128B)
(3)程序状态寄存器PSW(D0H)
PSW是一个8位特殊功能寄存
器,它的各位包含了程序执行 后的状态信息,供程序查询或 判别之用,可按位寻址。各位 的含义及其格式如表2-9所列。
2.3 89C51单片机存储器配置
(3)程序状态寄存器PSW(D0H)
PSW (D0H) D7 D6 D5 D4 D3 CY AC F0 RS1 RS0 进、借 辅进 用户标定 寄存器组选择 D2 OV 溢出 D1 D0 P - 保留 奇/偶 位地址 位名称 位意义
2.3 89C51单片机存储器配置
二、程序存储器地址空间
◆
程序存储器的保留存储单元:
(1)0000H~0002H三个单元:
用作上电复位后引导程序的存放单元。因为复位后PC
的内容为0000H,CPU总是从0000H开始执行程序。将 转移指令存放到这三个单元,程序就被引导到指定的程 序存储器空间去执行。
2.3 89C51单片机存储器配置
二、程序存储器地址空间
◆
程序存储器的保留存储单元:
(2)0003H~002AH单元:
均分为五段,用作五个中断服务程序的入口。
第3节 MCS-51的存储器配置

3区,2区,1区,0区
2.3.2
数据存储器配置
3.通用RAM区:30H~7FH. 通用RAM区:30H~7FH. RAM 只能以字节寻址,通用暂存数据, 只能以字节寻址,通用暂存数据,一般堆栈也设在 该区域内. 该区域内. .80H~FFH内有两部分内容 内有两部分内容. 4.80H~FFH内有两部分内容. 一是通用数据RAM (51子系列单片机没有该区 RAM区 子系列单片机没有该区) 一是通用数据RAM区(51子系列单片机没有该区) 二是SFR SFR区 参阅2.3.3 2.3.3节 二是SFR区(参阅2.3.3节). 它们占用相同逻辑地址,但物理地址是分开的. 它们占用相同逻辑地址,但物理地址是分开的. 区别的方法是:访问通用RAM RAM区 区别的方法是:访问通用RAM区,使用寄存器间接 寻址方式.访问SFR 使用直接寻址方式, SFR, 寻址方式.访问SFR,使用直接寻址方式,二者不 可混用. 可混用.
2.3.2
数据存储器配置
片内数据存储器:片内数据存储器结构比较复杂. 片内数据存储器:片内数据存储器结构比较复杂. 有工作区,位寻址区, 有工作区,位寻址区,通用区及特殊功能寄存器区 等. 寻址方式也不相同,有直接寻址,也有间接寻址, 寻址方式也不相同,有直接寻址,也有间接寻址, 还有两种方式都可以的. 还有两种方式都可以的. 片内数据存储器总的寻址范围是00H FFH. 00H~ 片内数据存储器总的寻址范围是00H~FFH.
表2-3
30H-7FH D7 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22F 21H 20H 1FH-00H 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 D6 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 D5 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05
8051存储器配置

8051存储器配置本节主要介绍8051单片机的存贮器结构微机的存贮器结构分类普林斯顿结构和哈佛结构普林斯顿结构微机只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,即ROM和RAM的地址同在一个队列里分配不同的地址空间。
CPU访问存储器时,一个地址对应唯一的存储器单元,可以是ROM也可以是RAM,并用同类访问指令。
哈佛结构程序存储器和数据存储器分开的结构形式。
8051的存储器在物理结构上采用哈佛结构;分程序存储器空间和数据存储器空间;有四个存储空间:片内程序存储器片外程序存储器片内数据存储器片外数据存储器3.3.2 51存储器的结构从用户使用的角度,8051存储器地址空间分为三类:①程序存储器地址:片内、片外统一编址0000H—FFFFH;64K字节的(用16位地址) ;② 256字节片内数据存储器地址空间(用8位地址)。
地址也从00H—FFH;③64K字节片外数据存储器地址空间(用16位地址)。
地址也从0000H—FFFFH;51存储器空间配置图8051CPU区分RAM的方法:上述三个存储空间地址是重迭的,如何区别这三个不同的逻辑空间呢?8051的指令系统设计了不同的数据传送指令符号:访问片内、片外ROM指令用MOVC;访问片内RAM指令用MOV。
访问片外RAM指令用MOVX;一、程序存储器(ROM)地址空间程序存储器用于存放编好的程序和表格常数;程序存储器通过16位程序计数器(PC)寻址,寻址能力为64K字节。
这使得能在64K地址空间内任意寻址。
没有指令使程序能控制从程序存储器空间转移到数据存储器空间。
片内ROM/PROM为4K字节,地址为0000H—0FFFH;;片外最多可扩至64K字节ROM /EPROM,地址1FFFH—FFFFH,片内外是统一编址的;当引脚EA接高电平时,8051的程序计数器PC在0000H—0FFFH范围内(即前4K字节地址)执行片内ROM中的程序;当指令地址超过0FFFH后,就自动地转向片外ROM取指令;当引脚EA接低电平(接地)时,8051片内ROM不起作用,CPU只能从片外ROM/EPROM中取指令,地址从0000H开始编址。
单片机的RAM存储器详解

51单片机的存储器的RAM详解传统MCS-51单片机内部数据存储器RAM结构内部数据存储器低128单元8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。
如图所示为低128单元的配置图。
工作寄存器区8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。
寄存器常用于存放操作数中间结果等。
由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。
4组通用寄存器占据内部RAM的00H~1FH单元地址。
在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。
到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。
通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。
此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。
位寻址区内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。
位寻址区共有16个RAM单元,计128位,地址为00H~7FH。
MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。
这种位寻址能力是MCS-51的一个重要特点。
用户RAM区在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。
对用户RAM区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。
内部数据存储器高128单元内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80H~FFH。
因这些寄存器的功能已作专门规定,故称之为专用寄存器(Special Function Register),也可称为特殊功能寄存器。
单片机存储器配置

对该区域(00H~07FH)的RAM访问,可以使用直接寻 址,也可以使用寄存器间接寻址
3
2.复位起始地址
复位完成后,程序计数器PC=0000H,因此,复位后程 序从0000开始执行程序。
3.片内程序存储器
依据不同的型号而不同。例如
① 8031没有内部程序存储器; ② 8751有4KB的EPROM程序存储器; ③ AT89C51有4KB的FLASH作程序存储器; ④ AT89C52有8KB的FLASH作程序存储器; ⑤ AT89C55有20KB的FLASH作程序存储器; ⑥ W78E58有32KB的FLASH作程序存储器。
资料的获取:一般都可以通过网络获得相关资料。 最方便的是直接进入制造厂的网站,对于使用资料,是公开的。
例如进入Atmel网站,选择芯片型号AT89C52可以查找到相 关资料;
9
5. 如何留出中断向量区
使用定位伪指令。
各入口地址存放一条转移指令或子程序调
用指令,而程序的主体部分存放在程序存 储空间的其他位置、
19
片外程序存储器的扩展框图
D0~D7
OE G D0~D7 Q0~Q7
P0.0~P0.7 ALE
74LS373
27256
A0~A14 E G
A0~A7
A8~A14 A15 PSEN
P2.0~P2.7 PSEN
A8~A15
数据线、地址线接到存储器芯片的对应引脚上。
20
电路原理图
1IC1
AT 89C52
16
27256外形与引脚
17
功能表
E
G
0
0
0
1
1
单片机存储器PPT课件

外部数据存储器访问时序
.
17
单片机扩展外部数据存储器连接实例
常用RAM芯片:Intel 6116(2KB×8)、6264(8KB ×8)、62256(32KB×8)。
8051扩展数据存储器6116
.
18
(2KB RAM)
3.3.3 单片机扩展存储器实用电路(数据存储器+程序存
储器)
单片机连接 8KB EPROM 2764 和 8KB RAM 6264 各一片
1
1
组3
.
18H~1FH
7
通用寄存器一般有两种使用方法: 一、用寄存器的符号来表示; 二、用单元地址来表示。
例:若MOV A, R0 与 MOV A, 00H指令是等同的 (问:此时隐含给出的RS1、RS0为?)
.
8
❖ 内部RAM——位寻址区
片内20H~2FH字节单元,即可 作为一般的RAM区使用进行字节操 作,也可以对单元中的每一位进行 位操作,共有16个字节寻址单元, 按位计算有128位,位地址为: 00H~7FH
例:清除位地址00H单元
CLR 00H ;对某位清0
MOV 20H, #00H ;
或 AND 20H, #00H
.
9
❖ 内部RAM——用户RAM区 单元地址为30H~7FH。共80个字节单元。
注意:对于用户RAM区,只能以存储单元(字节 地址)的形式来使用,一般用作堆栈区。
.
10
(2)内部数据存储器中高128字节
.
19
单片机外接EEPROM电路的存储器电路
EEPROM 既能作为程序存储器又能作数据存储器。 将程序存储器与数据存储器的空间合二为一。
片外存储器 读信号 = PSEN · RD
80C51存储器配置

外部数据存储器
外部数据存储器一般用来存放相对来讲是用不太频 繁的数据,其中的数据不能直接进行处理,要进行 处理前必须提前从外部数据存储器送到单片机内部。
外部数据存储器地址空间寻址范围为64K字节,采 用R0、R1或DPTR寄存器间址方式访问。当采用R0、 R1间址时只能访问00H~0FFH的低256字节,采用 DPTR间址可访问整个64K字节空间。
04H
03H
02H
01H
00H
位寻址区
1、地址: 从20H~2FH共16字节(Byte,缩写为英文大写 字母B)。每字节有8位(bit,缩写为小写b),共 128位,每一位均有一个位地址,可位寻址、位操 作。即按位地址对该位进行置1、清0、求反或判转。
2、用途: 存放各种标志位信息和位数据。
3、注意事项: 位地址与字节地址编址相同,容易混淆。 区分方法:位操作指令中的地址是位地址;
外部数据存储器
共64KB 地址范围:0000H~FFFFH
读写外RAM用MOVX指令, 控制信号是P3口中的RD和WR。
一般情况下,只有在内RAM不能满足应用 要求时,才外接RAM。
读外RAM的过程
外RAM 16位地址分别由P0口(低8位)和P2口(高
8位)同时输出;
ALE信号有效时由地址锁存器锁存低8位地址信号,
指令,CPU将按修改后PC的16位地址读ROM。
程序存储器(ROM)
读外ROM的过程:
CPU从PC(程序计数器)中取出当前ROM的16位 地址,分别由P0口(低8位)和P2口(高8位)同 时输出,ALE信号有效时由地址锁存器锁存低8位 地址信号,地址锁存器输出的低8位地址信号和P2 口输出的高8位地址信号同时加到外ROM 16位地址 输入端,当PSEN信号有效时,外ROM将相应地址存 储单元中的数据送至数据总线(P0口),CPU读入 后存入指定单元。