单片机存储器配置
51单片机:存储器

内部 RAM 0000 H
RAM (64K )
007FH
0000 H
数据存储器
引脚接为高电平时,CPU可访问内部和外部ROM,并 且程序自片内程序存储器开始执行,PC值超出片内 ROM容量时,会自动转向片外程序存储器中的程序。 引脚接为低电平时,CPU只 能访问外部ROM,无法使 用片内程序存储器。
(3)EPROM型(Erasable Programmable ROM,可擦除可编程 ROM),其典型外观标志是芯片上有一个紫外线擦除窗口。 这种存储器编程使用一定的直流电源(如+21V电压),而 擦除则用紫外线灯光照射芯片窗口(一般需15~30分钟), 重新编程后用不透明标签将窗口贴覆遮盖住即可。 MCS-51系列单片机8751的片内ROM以及27系列存储器 芯片都属于此类产品。 (4)E2PROM型(Electrically Erasable Programmable ROM,电可擦除可编程ROM)。这种存储器可以直接用电擦 写,比较方便数据的改写,较新型只读存储器,编程速度较 快。擦除、写入和读出电压均为+5V。28系列存储器属于此 类产品。
(二) 存储器的分类
sk ROM 型 OTPROM型
ROM
半导体存储器 (Memory)
EPROM型 E2PROM型 Flash ROM型 SRAM
RAM
DRAM
(1)Mask ROM 型:掩膜ROM。其编程只能由制造商通过 半导体掩膜技术完成,用户无法改写,所以对用户而言, 它是严格意义的只读存储器。如8051中的4KB程序存储器 就是这一种,这种ROM适用于有固定程序且大批量生产的 产品中。 一次可编程ROM(One Time 型:一次可编程 (2)OTPROM型: Programmable ROM)。用户可通过专门设备对其一次性写 入程序,此后便不能改写。这种程序存储器可靠性很高, 适合于存放已调试成功的用户程序,投入规模生产,但调 试阶段不宜用。目前,国内外有很多单片机制造商提供片 内集有OTPROM的单片机产品,可供用户选择。
MCS-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 提供了就近存储数据的便利,有利于提高单片机的运算速度。
此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机
的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速。
《单片机原理及应用》课件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
89C51存储器配置

第二章 单片机的结构和原理
2.3 89C51存储器配置
2.3.1 89C51存储器分类 2.3.2 程序存储器地址空间 2.3.3 数据存储器地址空间
2
2.3.1 89C51存储器分类
程序存储器51 存储器
片外程序存储器 片内数据存储器
数据存储器 RAM
片外数据存储器
3
2.3.2 程序存储器地址空间
1. 通过16位程序计数器PC寻址,最大寻址空间64K 2. 没有指令可以从程序存储空间转移到数据存储空间 3. 片内ROM 4K 0000H~0FFFH
片外ROM 64K 0000H~FFFFH 4. ������������高,访问片内ROM,������������低,访问片外ROM 5. 8031没有片内ROM,������������接地 6. 89C51 片内、片外ROM存取速度相等 7. ROM特殊存储空间(保留的存储单元) 8. 访问ROM 的指令 ,MOVC
P1
P0
EA VCC
ALE
P2 RD P3 WR
锁存器 I/O 页面地址
RAM 数据
6116 地址
WE OE
89C51 外扩片外RAM接法 图2.12 89C51外扩片外RAM接法
Flash ROM队列 FFFF
片外
15
RAM队列
FFFF
片外 RAM
& I/O口
EA=0 片外
0FFF 0000
EA=1 片内
定
志位 进位)
寄存器组选择
溢出 (补码 运算溢 出)
保留
奇\ 位意义 偶校 验位
12
RS1
RS2
寄存器组
0
0
单片机内部存储器结构与数据存取方法详解

单片机内部存储器结构与数据存取方法详解单片机是一种集成了处理器、内存和外设等功能于一体的微电子器件,广泛应用于各种电子设备中。
其中,内部存储器是单片机的核心组成部分之一。
本文将详细介绍单片机内部存储器的结构和数据存取方法。
一、单片机内部存储器的结构单片机的内部存储器主要包括随机存取存储器(RAM)和只读存储器(ROM)两部分。
1. 随机存取存储器(RAM)RAM是单片机内部的易失性存储器,用于存储数据、程序临时数据和运行时数据。
单片机内部的RAM可以根据存取速度和使用要求的不同,分为片内RAM 和片外RAM两种。
片内RAM是单片机芯片内部集成的存储器,速度较快。
它可以分为片内可读写RAM(RW-RAM)和片内只读RAM(RO-RAM)两种类型。
片内可读写RAM可以被程序读取和修改,存储媒介是电容或电子触发器。
而片内只读RAM则只能被程序读取,不能被修改。
片内RAM的容量相对较小,一般在几十到几百字节之间。
片外RAM是连接在单片机芯片外部的存储器,速度较慢。
它可以进一步分为静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)两种类型。
SRAM是基于触发器构建的,数据存储在触发器中,读写速度快且无需刷新。
DRAM则是基于电容构建的,存储数据需要定期刷新,但容量较大。
2. 只读存储器(ROM)ROM是单片机内部的非易失性存储器,用于存储程序和常量数据。
ROM的内容在出厂时就被写入,一般无法被程序修改。
单片机内部的ROM可以分为只读存储器(ROM)和可编程只读存储器(PROM)两种类型。
ROM存储器内容固定不变,其中包含了单片机的初始化程序和系统代码。
PROM存储器则可以通过特殊的编程操作烧写程序和数据,但一旦写入后无法擦除和修改。
这类存储器在生产流程中被用于定制特殊功能的单片机。
二、单片机内部存储器的数据存取方法单片机内部存储器的数据存取方法根据存储器的类型和连接方式而有所不同。
1. RAM的数据存取方法对于片内RAM,数据的存取可以通过直接读写特定的RAM地址来实现。
单片机的RAM存储器详解

单片机的RAM存储器详解随着计算机技术的不断发展,单片机作为一种集成电路芯片,在嵌入式系统中得到了广泛的应用。
而在单片机中,RAM存储器是一种非常重要的组成部分,它承担着临时存储数据的功能。
本文将详细解析单片机的RAM存储器,包括其定义、分类、特性以及应用等方面。
一、RAM存储器的定义RAM(Random Access Memory)即随机存取存储器,它是一种电子数字式存储器,能够按任意顺序访问其中的存储单元。
与之相对应的是ROM(Read-Only Memory),只能读取而不能写入。
二、RAM存储器的分类根据存储单元内容的易失性,RAM存储器可以分为静态RAM (SRAM)和动态RAM(DRAM)两种。
1. 静态RAM静态RAM采用存储单元由触发器构成,存储单元内部无需再进行刷新操作。
它的特点是读写速度快,但占用的空间较大。
静态RAM广泛应用于高性能嵌入式系统,如通信设备、计算机内存等。
2. 动态RAM动态RAM的存储单元由电容构成,需要定期刷新来保持数据的稳定。
它的特点是存储单元内部简单,占用空间小,但读写速度较慢。
动态RAM主要应用于低成本的嵌入式系统,如消费电子产品中的视频游戏机、智能手机等。
三、RAM存储器的特性RAM存储器有以下几个主要特性:1. 随机读写:RAM存储器可以根据地址直接读写数据,不需要按顺序进行操作。
2. 数据易失性:RAM存储器是易失性存储器,即断电后存储的数据会丢失。
因此,在单片机使用RAM存储数据时,需要特别注意数据的备份和保护。
3. 存储密度高:RAM存储单元内部结构简单,实现的存储密度较高。
4. 读写速度快:相比于ROM存储器,RAM存储器的读写速度更快,适合对数据进行频繁读写的应用场景。
四、RAM存储器的应用RAM存储器在单片机中广泛应用于各种需要临时存储数据的场景,下面是一些常见的应用:1. 作为程序存储器:在单片机中,RAM存储器可以用作存储程序代码,这种方式被称为RAM执行。
51单片机存储器内部结构

MCS-51单片机在物理结构上有四个存储空间:1、片内程序存储器2、片外程序存储器3、片内数据存储器4、片外数据存储器但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。
程序内存ROM寻址范围:0000H ~ FFFFH 容量64KBEA = 1,寻址内部ROM;EA = 0,寻址外部ROM地址长度:16位作用:存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:0000H ——系统复位,PC指向此处;0003H ——外部中断0入口000BH —— T0溢出中断入口0013H ——外中断1入口001BH —— T1溢出中断入口0023H ——串口中断入口002BH —— T2溢出中断入口内部数据存储器RAM物理上分为两大区:00H ~ 7FH即128B内RAM 和 SFR区。
作用:作数据缓冲器用。
下图是8051单片机存储器的空间结构图程序存储器一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。
那么设计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。
程序相当于给微处理器处理问题的一系列命令。
其实程序和数据一样,都是由机器码组成的代码串。
只是程序代码则存放于程序存储器中。
MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。
对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。
强制CPU从外部程序存储器读取程序。
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读入 后存入指定单元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
备注 系统复位后,程序入口
Winbond的W77E58特有
中断服务程序入口地址表(扩展型号2)
中断源
复位 外部中断0(INT0) 定时器0溢出中断 外部中断1(INT1) 定时器1溢出中断 串行通讯0中断(UART0) 定时器2 SPI SMBUS中断 ADC0 可编程计数器阵列 …… 定时器3 …… 串行通信1(UART1)
入口地址 0000H 0003H 000BH 0013H 001BH 0023H 002BH 0033H 003BH 0043H 004BH
0073H 00A3H
备注 系统复位后,程序入口
C8051F020
10
可以看到:对于002BH以前的中断程序入口是标准的,但在此 以后,则不同的生产厂有不同的定义,使用时需要参考生 产厂的相关资料。 资料的获取:一般都可以通过网络获得相关资料。 最方便的是直接进入制造厂的网站,对于使用资料,是公开的。 例如进入Atmel网站,选择芯片型号AT89C52可以查找到相 关资料;
该区域除了作为位操作区域外,还可以作为普通的RAM使用。
29
(3)一般RAM区30H~7FH
内部RAM的30H~7FH为一般的RAM区。 寻址方式:直接寻址,寄存器间接寻址。 例如:MOV A, 30H ;直接寻址 例如:MOV A,@R0 ;寄存器间接寻址
2.6 89C51的存储器
1
2
2.6.1 存储器概述
MCS51系列单片机在物理上有4个存储器空间。 程序存储器
0FFFF
数据存储器
0FFFF
89C51
0FFH 0AM
0000
0000
RAM
片外
片内
片内 RAM
程序存储区,扩展数据存储区,内部数据存储区,专用寄存器 3 区
A1 1 A1 2 A1 3 A1 4
A1 5
23
2.6.3 数据存储器
数据存储器分为: 内部数据存储器 扩展数据存储器 两部分
24
1。内部数据存储器空间
又分为多个不同的空间。 工作寄存器区: 4个,每个区 8个工作寄存器R0……R7 可位寻址的存储器区域 普通数据存储器区 专用寄存器(SFR)区
OE CE VPP
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 0 A1
A1 1 A1 2 A1 3 A1 4
1 2 3 4 5 6 7 8
P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7
P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7
13
(3)片外程序存储器的扩展 一般使用掉电不丢失数据的存储器作程序存储器,例如EPROM, EEPROM,FLASH等; P0口为外部存储器的数据/地址复用总线,地址信号需要外部锁 存后接到存储器的低8位地址线上,数据信号不需要锁存,直
接接到存储器的数据总线;
P2为外部地址总线高8位,不需要外部锁存。 引脚ALE的信号可以作为低8位地址锁存控制信号。 PSEN作为程序存储器的读控制信号。 以32KB的EPROM为例,程序存储器扩展的框图:
2.6.2 程序存储器
1.程序存储空间 可寻址的程序存储器空间:64KB; 用途:存放程序,或者常数表格; 地址范围:0000H~0FFFFH。
片内集成4KB FLASH存储器。
5
2.复位起始地址
复位完成后,程序计数器PC=0000H,因此,复位后程 序从0000开始执行程序。
3.片内程序存储器
14
片外程序存储器的扩展 以32KB*8为的EPROM为例。 设要求在第32KB空间扩展32KB程序存储器。
要扩展存储器,低8位地址总线需要在外部锁存。 高8位地址信号不需要锁存。 地址锁存可以使用74LS373
15
74LS373 是8D锁存器。
有时标 为LE
16
74LS373功能表
这样,将/OE接“0”, G接单片机的ALE,则 当ALE=1时,P0输出 的地址信号送到373保 存,而当ALE=0时, P0的信号不影响373的 输出——低8位地址信 号在外部被锁存。
对于MCS-51系列单片机,它们都位于内部数据存储器 地址空间(00~0FFH)。
25
(1)工作寄存器区
①占用地址空间:00H~1FH ② 该区32字节,又分为4个寄存器区;每个区8个工作寄存器, R0,R1,…,R7 通过专用寄存器PSW的RS1,RS0两位选择。 系统复位时,RS1,RS0=0,0, 选择0区, 地址:00H~07H RS1,RS0可以按位操作。例如 SETB RS0 ;RS0置“1” CLR RS1 ;RS1清“0” 该区域除了作为工作寄存器 使用外,还可以作为一般的RAM 使用。
18
27256外形与引脚
19
功能表
E
0 0
G
0 1
VPP
Vcc Vcc
Q7~Q0
数据输出 Z
工作模式
读出 禁止输出
1
1 0 1 0 0 X
Vpp
Vpp Vpp Vcc
数据输入
数据输出 数据输出 Z
编程
校验 校验 芯片没被选中
20
• 由于在系统中只需要处于读出、或没选中状态, 不需要编程与校验,因此,Vpp 始终接Vcc (+5V), • E为片选信号,E=0有效,芯片工作。在所选择 的地址范围内,使E=0,对于0000~7FFFH, A15=0,8000H~0FFFFH,A15=1。我们需要将存 储器设计在低32KB地址空间,因此,可以直接将 A15作为芯片选择信号:E=A15。
• G 为读出控制信号,=0有效。程序存储器的读控 制信号为PSEN,只要使G=PSEN就可满足要求。
21
片外程序存储器的扩展框图
74LS373 P0.0~P0.7 ALE
D0~D7
D0~D7
27256 E G PSEN
22
A0~A14 A0~A7 A8~A14
Q0~Q7
OE G
P2.0~P2.7
A1 A3 A5 A7 A6 A4 A2 A0
VC C
D0 D1 D2 D3 D4 D5 D6 D7
28
1IC1 AT89C52
IC2 74LS373
VCC
D0 D1 D2 D3 D4 D5 D6 D7
IC3 27256
VCC
ALE
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 0 A1
RXD TXD ALE/P PSEN
10 11 30 29
ALE PSEN
这里的LE就是 373 的“G”
PSEN
21 22 23 24 25 26 27 28
A8 A9 A1 0 A1 1 A1 2 A1 3 A1 4 A1 5
1 11
OE LE
10 9 8 7 6 5 4 23 5 24 21 23 22 6 27 22 20 1
11
5. 如何留出中断向量区
使用定位伪指令。 各入口地址存放一条转移指令或子程序调 用指令,而程序的主体部分存放在程序存 储空间的其他位置、 例如 ORG 0 ;定位复位入口 LJMP START ;转主程序开始 ORG 03H LJMP INT0 ;转中断0服务程序 ORG 0BH LJMP T0 ORG 13H LJMP INT1 ORG 1BH LJMP T1 ……
A8~A15 PSEN
数据线、地址线接到存储器芯片的对应引脚上。
A15
电路原理图
11 12 13 15 16 17 18 19
13 12 15 14 31 19 18 9 17 16
IN T1 IN T0 T1 T0 EA/VP X1 X2 RESET RD WR
P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7
RS1 0 0 1 1
RS0 0 1 0 1
工作寄存器区 0区 1区 2区 3区
26
(2)位寻址区
地址20H~2FH为可位寻址的存储区,它的每一位都有 一个位地址,可以进行位操作,使用非常方便。
位编号 地址
D7 7F
77
D6 7E
76
D5 7D
75
D4 7C
74
D3 7B
73
D2 7A
72
D1 79
依据不同的型号而不同。例如
① ② ③ ④ ⑤ ⑥
8031没有内部程序存储器; 8751有4KB的EPROM程序存储器; AT89C51有4KB的FLASH作程序存储器; AT89C52有8KB的FLASH作程序存储器; AT89C55有20KB的FLASH作程序存储器; W78E58有32KB的FLASH作程序存储器。
……
ORG 0100H START: MOV SP,#70H ……
INT0: PUSH PUSH … POP POP RETI T0: PUSH ……
ACC PSW
PSW ACC
ACC
12
6. 内、外部程序存储器的选择
(1)有片内程序存储器 ① 如果EA=1,复位后优选择片内程序存储器。当PC超出片 内寻址范围时,自动转到片外程序存储器。 ② EA=0,忽略片内程序存储器,直接寻址片外程序存储器。 (2)无片内程序存储器 只能寻址片外程序存储器。此时应当使EA=0。
39 38 37 36 35 34 33 32
D0 D1 D2 D3 D4 D5 D6 D7
D1 D3 D5 D7 D6 D4 D2 D0
3 4 7 8 13 14 17 18
D0 D1 D2 D3 D4 D5 D6 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
2 5 6 9 12 15 16 19