51单片机扩展存储器设计1
第八章扩展存储器方案
#1楼
00 01 10 11
常用的存储器地址分配的方法有3种:全译码、部分译码和线选 法。
1. 全译码 利用系统的全部的高位地址线作为存储器芯片(或I/O接口芯 片)的片选信号。 特点:地址与存储单元一一对应,地址空间的利用率高。
例8-1: 利用全译码为80C51扩展16KB的外部数据存储器,存 储芯片选用SRAM6264,要求外部数据存储器占用从0000H开 始的连续地址空间。
读选通、写选通信号。
思考题: 请问执行 MOVX A,@DPTR指令时,RD和WR引脚的状态?
8.3 读写控制、地址空间分配和外部地址锁存器
8.3.1 存储器地址空间分配
存储器空间分配除考虑地址线连接外,还讨论各存储器芯片在整个存 储空间中所占据的地址范围。
单片机地址总线为16条,可寻址的最大空间为64KB,用户可根据系统的 需要确定扩展存储器容量的大小。
使用MOVX A,@Ri和MOVX @Ri,A。这时通过P0口输出Ri中 的内容(低8位地址),而把P2口原有的内容作为高8位地址 输出。
例8-4 将程序存储器中以TAB为首址的32个单元的内容依次传 送到外部RAM以7000H为首地址的区域去。
分析:DPTR指向标号TAB的首地址。R0既指示外部RAM的地址, 又表示数据标号TAB的位移量。本程序的循环次数为32,R0 的值:0~31,R0的值达到32就结束循环。程序如下:
MOV P2,#70H MOV DPTR,#TAB MOV R0,#0 AGIN: MOV A,R0 MOVC A,@A+DPTR MOVX @R0,A INC R0 CJNE R0,#32,AGIN HERE: SJMP HERE TAB: DB ……
第7章MCS-51单片机的常用外设扩展
(2)数据线
2732的8位数据线直接与单片机的P0口相连。P0口作 为地址/数据线分时复用。
(3)控制线
CPU执行2732中存放的程序指令时,取指阶段就是对 2732进行读操作。注意,CPU对EPROM只能进行读操作, 不能进行写操作。CPU对2732的读操作控制都是通过控制线 实现的。2732控制线的连接有以下几条:
2.硬件电路 单片机与6116的硬件连接如图7-4所示。
3.连线说明
• 地址线:A0~A10连接单片机地址总线P0.0~P0.7、P2.0、P2.1、P2.2 共11根;
• 数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;
• 控制线:片选端连接单片机的P2.7,即单片机地址总线的最高位A15; 读允许线连接单片机的读数据存储器控制线;
• 对于没有内部ROM的单片机或者程序较长、片内ROM容 量不够时,用户必须在单片机外部扩展程序存储器。 MCS-51单片机片外有16条地址线,即P0口和P2口,因此 最大寻址范围为64K字节(0000H—FFFFH)。
• 这里要注意的是,MCS-51单片机有一个管脚 EA跟程序存 储器的扩展有关。如果接高电平,那么片内存储器地址范 围是0000H—0FFFH(4K字节),片外程序存储器地址范 围是1000H—FFFFH(60K字节)。如果接低电平,不使 用片内程序存储器,片外程序存储器地址范围为0000H— FFFFH(64K字节)。
1. 芯片选择
单片机扩展数据存储器常用的静态RAM芯片有6116(2K×8 位)、6264(8K×8位)、62256(32K×8位)等。
根据题目容量的要求我们选用SRAM6116,采 用单一+5V供电,输入输出电平均于TTL兼容,具有 低功耗操作方式,管脚如图7-3所示。
MCS-51单片机存储器的扩展
第八章MCS-51单片机存储器的扩展第一节MCS-51单片机存储器的概述(一)学习要求1、熟悉MCS-51 单片机的系统总线及系统总线扩展结构2、掌握常用的片选方法:线选法和全地址译码法。
(二)内容提要1、三总线的扩展方法单片机内资源少,容量小,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。
为此,应扩展其功能。
MCS-51单片机的扩展性能较强,根据需要,可扩展。
三总线是指地址总线、数据总线、控制总线。
1)地址总线MCS-51 单片机地址总线宽度为16 位,寻址范围为64K。
地址信号:P0 作为地址线低8 位,P2 口作为地址线高8 位。
2)数据总线MCS-51 单片机的数据总线宽度为8 位。
数据信号:P0 口作为8 位数据口,P0 口在系统进行外部扩展时与低8 位地址总线分时复用。
3)控制总线主要的控制信号有/WR 、/RD 、ALE 、/PSEN 、/EA 等。
2、系统的扩展能力MCS-51 单片机地址总线宽度为16 位,因此它可扩展的程序存储器和数据存储器的最大容量是64K(216)。
1)线选法线选法就是将多余的地址总线(即除去存储容量所占用的地址总线外)中的某一根地址线作为选择某一片存储或某一个功能部件接口芯片的片选信号线。
一定会有一些这样的地址线,否则就不存在所谓的“选片”的问题了。
每一块芯片均需占用一根地址线,这种方法适用于存储容量较小,外扩芯片较少的小系统,其优点是不需地址译码器,硬件节省,成本低。
缺点是外扩器件的数量有限,而且地址空间是不连续的。
2)全地址译码法由于线选法中一根高位地址线只能选通一个部件,每个部件占用了很多重复的地址空间,从而限制了外部扩展部件的数量。
采用译码法的目的是减少各部件所占用的地址空间,以增加扩展部件的数量。
3)译码器级连当组成存储器的芯片较多,不能用线选法片选,又没有大位数译码器时,可采用多个小位数译码器级连的方式进行译码片选.4)译码法与线选法的混合使用译码法与线选法的混合使用时,凡用于译码的地址线就不应再用于线选,反之,已用于线选的地址线就不应再用于译码器的译码输入信号.(三)习题与思考题1. 简要说明MCS-51 单片机的扩展原理。
MCS-51单片机大容量数据存储器扩展板设计
Ke y wor d s: MCS一51 , da t a memOr V, F 2 9C51 00 4, ex pa ns i on bo ar d
F 2 9 C5 1 0 0 4作 为 扩展 存 储 体 。将 数 据 线 和 地 址 线 合 并使 用 , 对 F 2 9 C 5 1 0 0 4进 行 分 页访 问 , 解 决 了单 片 机 存储 单 元 及 端 口
不 足 的 问题 , 释放 了 I / 0 口。 文 中 以扩 展 8 MB的 数 据 存储 器 为例 , 给 出 了单 片机 扩展 板 的硬 件 电路 和软 件 程 序 。 关键词 : M C S 一 5 1 , 数据存储器 , F 2 9 C 5 1 0 0 4 , 扩 展 板
Байду номын сангаас
MC S 一 5 1单 片 机 对 数 据存 储 器 的 扩 展通 常采 用 数 据 总线 和 地址 总线 , 即P 0口和 P 2 口来 完 成 , 最大寻址空间可达 6 4 K B。 随 着单片机应用领域的推广和不断扩大 , 特 别 是 在 GP S数 据 采集
输 出 并 存 放 在 锁 存 器 中备 用 。 A 1 8 将 锁 存 器 直 接挂 在 数 据 总 线 上 ,并 为其 安 排 一 个 l / O 口地 A 1 6 A 1 5
《 工 业 控 制 计算 机 》 2 0 1 3年 第 2 6卷 第 1 期
MC S 一 5 1 单片机大容量数据存储器扩展板设计
De s i gn o f L a r ge — c a p a c i t y Da t a Me mo r y E x p a n s i o n B o a r d Ba s e d o n MCS- 5 1 MCU
哈工大51单片机存储器扩展
并行接口特点
串行接口特点
串行接口具有数据传输速度较慢、数 据总线宽度较小等缺点,但电路连接 简单、占用引脚少。
并行接口具有数据传输速度快、数据 总线宽度大等优点,但电路连接复杂。
51单片机存储器的访问方式
01
02
03
直接寻址方式
直接寻址方式是指直接给 出存储单元的地址,通过 该地址访问存储器中的数 据。
通过哈工大51单片机的外部存 储器接口,将存储器芯片与单 片机连接。
根据存储器芯片的规格书,设 计相应的电路和连接方式。
根据实际需求,编写相应的程 序来读写扩展的存储器。
05 扩展存储器的应用与优化
扩展存储器在系统中的应用
数据存储
01
扩展存储器用于存储大量数据,如传感器采集的数据、用户数
据等。
程序存储
02
扩展存储器用于存储应用程序的代码,以支持更复杂的功能和
更大的程序。
缓存
03
扩展存储器可以作为高速缓存,提高系统的整体性能。
扩展存储器的性能优化
读写速度
通过优化硬件设计和软件算法,提高扩展存储器的读写速度。
可靠性
采用错误检测和纠正技术,提高扩展存储器的可靠性。
兼容性
确保扩展存储器与主控制器和其他组件的兼容性,以实现无缝集 成。
间接地址映射
扩展存储器的地址通过特 定的寄存器映射到单片机 的地址空间,可以实现更 灵活的地址管理。
段地址映射
将扩展存储器分成若干段, 每段独立映射到单片机的 地址空间,可以实现较大 的存储空间扩展。
04 哈工大51单片机存储器扩 展方案
扩展方案的比较与选择
方案一:并行扩展 优点:扩展速度快,适用于对速度要求较高的应用。
51单片机的扩展
(a)程序存储器的扩展
.程序存储器的作用----存放程序代码或常数表格
.扩展时所用芯片----一般用只读型存储器芯片(可以是 EPROM、E2PROM、 FLASH芯片等)。 .扩展电路连接 ---- 用EPROM 2732扩展程序存储器。 .存储器地址分析----究竟单片机输出什么地址值时,可以
一、系统扩展的含义
单片机中虽然已经集成了CPU、I/O口、定时器、 中断系统、存储器等计算机的基本部件(即系统资 源),但是对一些较复杂应用系统来说有时感到以 上资源中的一种或几种不够用,这就需要在单片机 芯片外加相应的芯片、电路,使得有关功能得以扩 充,我们称为系统扩展(即系统资源的扩充)。 需要解决的问题是单片机与相应芯片的接口电 路连接(即地址总线、数据总线、控制总线的连接) 与编程。
指向存储器中的某一单元。
.扩展时所用芯片
2732----4K EPROM
A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 GND Vcc A8 A9 A11 OE/Vpp A10 CE O7 O6 O5 O4 O3
2732引脚功能
A0-A11 CE 地址线 选片 输出允许/ 编程电源 数据线
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
A8 A9 A10 A11
2732
CE OE
ALE
PSEN 图4.2 扩展电路
8031
2732
数据总线的连接: P0.0-P0.7(数据总线)----------------------------------------O0-O7 地址总线的连接: 经过锁存器373 P0.0-P0.7(地址总线低8位)---------------------------------- A0-A7 P2.0-P2.3(地址总线高8位中的4位)--------------------------- A8-A11 控制总线的连接: PSEN(程序存储器允许,即读指令) -------------------------- OE ALE(地址锁存允许)-------------------------------------接373的使能端 G
四 MCS-51单片机存储器系统扩展
74LS373引脚
1、控制位OE: OE=0时,输出导通 2、控制位G: 接ALE 3、Vcc=+5V 4、GND接地
1 74LS373为8D锁存器,其主要特点在于:
控制端G为高电平时,输出Q0~Q7复现输入D0~ D7的状态;G为下跳沿时D0~D7的状态被锁存在Q0 ~Q7上。
MOV DPTR, #0BFFFH ;指向74LS373口地址
MOVX A, @DPTR ;读入
MOV @R0, A
;送数据缓冲区
INC R0
;修改R0指针
RETI
;返回
用74LS273和74LS244扩展输入输出接口
地址允许信号ALE与外部地址锁存信号G相连;
单片机端的EA与单片机的型号有关;
存储器端的CE与地址信号线有关。
P... 2.7 P2.0
ALE 8031
P... 0.7 P0.0
EA
PSEN
外部地址
G
锁存器
I...7
O... 7
I0 O0
A... 15
CE
A8
外部程序
存储器
A... 7 A0
D7. . . D0 OE
6264的扩展电路图
图中CS(CE2)和CE引脚均为6264的片选信号,由于该扩展电路 中只有一片6264,故可以使它们常有效,即CS(CE2)接+5V ,CE接地。6264的一组地址为0000H~1FFFH。
存储器地址编码
SRAM6264:“64”—— 8K×8b = 8KB 6264有13根地址线。 地址空间: A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最低地址: 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 最高地址: 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFFH MCS-51单片机寻址范围:64KB 26×210 = 216即16位地址线 地址空间: A15A14A13A12A11A10A9A8A7······A0 单片机
51单片机外扩RAM
单片机外部RAM扩展模块MCS-51系列单片机外部RAM为64K,在一些特殊场合下,远不能满足需要,本文就AT89C51讨论MCS-51系列单片机大容量RAM的扩首先介绍128K随机读取RAM HM628128。
HM628128是32脚双列直插式128K静态随机读取RAM,它具有容量大、功耗低、价格便宜、集成度高、速度快、设计和使用方便等特点。
如若在系统中加入掉电保护电路,保护数据有很高的可靠性,可以和EEPROM相媲美。
技术特性:(1)最大存取时间为120ns;(2)典型选通功耗75mW;典型未选通功耗10uW;(3)使用单一5V电源供电;(4)全静态存储器,不需要时钟及时序选通信号;(5)周期时间与存取时间相等;(6)采用三态输出电路,数据输入和输出端公用;图6 HM628128外部引脚(7)所有输入和输出引脚均与TTL电平直接兼容;(8)有两个片选端,适合于低功耗使用,即为了保存信息,用电池作为后备电源。
保存信息的最低电源电压Vcc=2V。
引脚安排及功能表:图6是HM628128的外部引脚排列图,各引脚名称及功用分别如下:A0~A16是17条地址线;I/O0~I/O7是8条双向数据线;CS1是片选1,低电平有效,CS2是片选2,高电平有效;WR是写控制线,当CS1为低电平,CS2为高电平时,WR的上升沿将I/O0~I/O7上的数据写到A0~A16选中的存储单元中;OE是读出允许端,低电平有效。
HM628128的功能表如表3所示。
其中,H表示高电平,L表示低电平,X表示任意状态由于AT89C51直接外部RAM容量为64K,地址线为16条,其中低8位地址和数据分时复用,因此需要外部地址锁存器和ALE锁存信号来锁存低8位地址。
又由于AT89C51的外部数据和外设地址通用,若扩展外设必然占用数据地址。
因此本系统采用P2.7(A15)口来区分数据和外设:当P2.7(A15)口为高电平时,选择外部数据;P2.7(A15)口为低电平时,则为外设。
MCS-51单片机存储器的综合扩展及软件设计
3 数 据 存 储 器 的 扩展 2 程序 存 储 器 的 扩 展
MC 一 1 外 数 据 存 储 器 最 大 寻 址 空 间 也 为 6K S5 片 4。
程 序存储 器 与数 据存储 器 6 K的地 址重 叠 ;数 据存 4
储 器 和片 内最低 的 18个 字 节地 址重 叠 ,但 由 于它们 采 2
测试 数据存 储器 为外 部扩 展 R M,占用 片外 数据存 A
储 器 空 间 ,芯 片采 用 6 C 5 ,插 在 D 1 1 E嵌入 式锂 226 S26 电池智 能 时 钟/ AM 芯 片插 座 上 ,构成 非 易 失性 R R AM。 其 芯 片 及 其 接 口 如 图 2所 示 ( 5 0 A1 - ,选 中 D 1 1E S2 6 / 6C 5 ) ( 2 2 6 地址 空间 :0 0 H- F F 。 0 0 7 F H) 片 外数 据存 储 器 和 片外 数 据 区和 扩 展 I0口统 一 编 / 址 ,所 有 外 围 接 口的地 址 均 占用 RA 地 址 单元 , 因此 M 测 试数 据存储 区设 计为 3 K,由 6 C 5 2 2 2 6芯 片扩展 而成 。 另 外 8 C 1 内数 据存储 空 间 1 8个字节 。 03 片 2
温室 内空气温度
温室 内土壤水分古量
8. H 5 %R 5 4. H 9 %R 5
数值 型 数值 型
数值 型 数值 型
2 字节 ( 高位在前 ) 2 字节 ( 高位在前 )
温室内土壤温度
温室内 C 2 O 浓度 温室 内关照强度
51单片机的程序存储器和数据存储器
51单片机的程序存储器和数据存储器51单片机是一种常见的嵌入式微控制器,具备程序存储器和数据存储器,广泛应用于各个领域。
程序存储器用于存储和执行程序,而数据存储器用于储存运行过程中的变量和数据。
本文将详细介绍51单片机的程序存储器和数据存储器的特点和使用方法。
一、程序存储器程序存储器是51单片机中用于存储程序代码的地方。
它通常在芯片内部,有多种形式,常见的有ROM(只读存储器)和Flash(闪存)两种。
1. ROM存储器ROM存储器可以被写入一次,之后不能再改变。
它通常用于存储经常使用的不变的代码,例如启动程序、中断向量表等。
ROM存储器具有较高的稳定性和可靠性,在操作过程中不易出错。
但是,由于其只能被写入一次,因此对于频繁需要修改的程序代码来说,使用ROM存储器并不方便。
2. Flash存储器Flash存储器是一种可擦写的存储器,它可以多次写入和擦除。
这使得在51单片机的开发过程中,可以方便地修改和更新程序代码。
Flash存储器的优点是灵活性高,容易更新,但相对而言,稳定性较差,可能会出现擦除错误或写入错误的情况。
在使用Flash存储器时,需要注意以下几点:(1)在写入过程中,应该保证电源的稳定性,避免写入过程中电压异常导致写入错误。
(2)应该合理规划Flash存储器的中存储空间的物理布局,以方便程序的定位和管理。
(3)由于Flash存储器的写入次数是有限的,因此要尽量减少对其频繁的擦写。
二、数据存储器数据存储器是51单片机中用于存储程序运行中的变量和数据的地方。
它可以读取和写入,是程序运行和数据处理的重要组成部分。
数据存储器通常分为RAM(随机访问存储器)和SFR(特殊功能寄存器)两种。
1. RAM存储器RAM存储器是一种易读写的存储器,其存储空间较大,可以存储较多的变量和数据。
RAM存储器的读写速度较快,对于频繁读写的数据可以更快地进行处理。
但是,RAM存储器对电源的稳定性要求较高,断电会导致存储的数据丢失。
第05讲 MCS-51单片机存储器的扩展
0000 0000 0000)
最高地址07FFH(A15 A14 A13 A12 A11 A10…A0 = 0000 0111 1111 1111)
6.2.1 扩展EPROM型程序存储器
由于P2.3~P2.6的状态与该芯片2716的寻址无关,所以 P2.3~P2.6可为任意状态,从0000至1111共有16种组合,因 此实际上该2716芯片可有16个地址范围。这种多地址范围的 重叠现象是线选法本身造成的,因此地址范围的非惟一性是 线选法的一大缺点。
第05讲 MCS-51单片机存储器的扩展
本讲要解决的问题? 单片机作为一个芯片级的微型计算机,是工业测控领域 里广泛使用的一种机型,可谓“麻雀虽小,五脏俱全”,它 具备运行应用程序的基本条件,所提供的资源能够满足一般
应用系统的需求,然而对于一些特殊的情况,其内部资源也 显得不够用(比如,程序存储器的容量太小,不能容纳更大 的应用程序),且必须通过在单片机芯片外围的扩展才能达 到应用系统的要求。那么,如何对单片机的资源进行扩展, 进行资源扩展过程中要注意哪些问题呢?
6.2.2 扩展EEPROM型程序存储器
EEPROM兼有程序存储器和数据存储器的特点,既可以作 为程序存储器,又可以作为数据存储器使用。 典型的EEPROM芯片有:2816(2K×8位)、2817(2K×8 位)、2864A(8K×8位)等。
6Hale Waihona Puke 2.2 扩展EEPROM型程序存储器
EEPROM对硬件电路无特殊要求,操作简便。早期设计的 EEPROM是依靠片外高电压进行擦写,近期已将高压电源集成 在芯片内,可以直接使用单片机系统的5V电源在线擦除和改 写;在芯片的引脚设计上,8KB的EEPROM 2864A与同容量的 EPROM 2764和静态RAM 6264是兼容的,给用户的硬件设计和 调试带来了极大的方便。 EEPROM具有ROM的非易失性,又具有RAM的随机读/写特 性,每个单元可以重复进行1万次改写,保留信息的时间可
51单片机外部存储器的扩展
一、地址线旳译码
存储器芯片旳选择有两种措施:线选法和译码法。
1、线选法。所谓线选法,就是直接以系统旳地址线作为 存储器芯片旳片选信号,为此只需把用到旳地址线与存储 器芯片旳片选端直接相连即可。 2、译码法。所谓译码法,就是使用地址译码器对系统旳 片外地址进行译码,以其译码输出作为存储器芯片旳片选 信号。译码法又分为完全译码和部分译码两种。
ALE
8051
LE OE
P0.7
8D 8Q
P0.6
7D 7Q
P0.5
6D 6Q
P0.4
5D 5Q
P0.3
4D 4Q
P0.2
3D 3Q
P0.1
2D 2Q
P0.0
1D 1Q
74HC573 地址总线扩展电路
OE:输出允许端,为0
时芯片有效。
A7
LE:锁存控制端,高电
A6 平时,锁存器旳数据输出端
A5 Q旳状态,与数据输入端D
(1)完全译码。地址译码器使用了全部地址线,地址与存储 单元一一相应,也就是1个存储单元只占用1个唯一旳地址。
(2)部分译码。地址译码器仅使用了部分地址线,地址与存 储单元不是一一相应,而是1个存储单元占用了几种地址。
❖ 二、扩展存储器所需芯片数目旳确定
❖
若所选存储器芯片字长与单片机字长
一致,则只需扩展容量。所需芯片数目按下式
07~00 I0~I7
× 8 )
扩
锁存器
展
74 HC 573 D0~D7
8位数据
RD
OE
WR
GND WE
图2.2-13 8031与6264的连接
第五章_MCS-51单片机的系统扩展
8255A的控制字与工作模式
8255A有3种工作方式,即模式0、模式1和模式2,这些工作方式可用软件编程来 指定,其设定格式如图5-21所示,设定指令由单片机根据表5-5所示的地址选择表实 现,其中8255A芯片的三个端口在模式0下被分成两组,在模式1和模式2下PC口为 读写控制信号线,只有PA能工作在模式2下。 此外,PC口还具有位控制功能,可以通过工作方式控制字将其任意一位置“1” 或者清“0”,其控制方式见图5-22所示。
图5-21 8255A方式控制字设置
图5-22 PC口位操作控制字
(1)方式0(基本输入/输出方式) 这种工作方式不需要任何选通信号,A口、B口及C口的高4位和低4位都 可以设定为输入或输出。作为输出口时,输出的数据均被锁存;作为输入口 时,A口的数据能锁存,B口与C口的数据不能锁存。例如,欲设定PA口和PC 口高四位工作在模式0输出以及PB口和PC口低四位工作在模式0输入方式的指 令为: MOV DPTR,#8003H ;控制字的地址为8003H MOV A,#83H ;工作方式控制字为83H MOVX @DPTR,A ;设定工作方式控制字 在这种模式下,单片机可以对8255A的数据端口进行无条件读写,8255A 三个I/O端口数据可得到锁存和缓冲。因此,8255A的模式0属于基本输入输出 模式。
(2)方式1(选通输入/输出方式) 在这种工作方式下,A口可由编程设定为输入口或输出口,C口的3位用来作 为A口输入/输出操作的控制和同步信号;B口同样可由编程设定为输入口或输出口, C口的另3位用来作为B口输入/输出操作的控制和同步信号。在方式1下A口和B口的 输入数据或输出数据都能被锁存。C口的6条线作为控制和状态信号线,其定义如 表5-6所示。
图5-18 利用74LS164扩展并行输出口
51单片机的程序存储器和数据存储器
一、51单片机的程序存储器结构1.内部结构单片机内部的程序存储器用于存储单片机工作时候的程序,单片机内部专门设置一个16位的程序计数器(PC),用于知识下一时刻单片机要执行的程序在ROM 空间中的地址位置,即可以存储64Kb空间大小。
程序存储器物理上可以分为片内程序存储器和片外存储器,不同单片机型号有不同的片内程序存储器空间大小。
例如8051单片机片内有4Kb的ROM,那当控制线取0时,PC访问的前4kb空间是片内的ROM;当控制线为0时候,PC访问的是片外的ROM。
2.程序存储器的7个特殊地址51单片机复位后,PC的内容是0000H,即为系统程序的启动地址。
51单片机内部有6个中断源,6个中断源介绍及地址如下所示:中断源之间只间隔8个存储单元,这是不足以存放中断程序的,所以这是中断入口地址,后续有中断服务函数。
二、51单片机的数据存储器数据存储器(RAM)存储单片机运行期间所需要的数据和临时生成的数据。
从物理上分为片内RAM和片外RAM(片外RAM是通过16位的地址总线访问,所以片外RAM也是64kb)。
1.片内数据存储器厂家根据不同的任务要求和需求定义不同的任务块,如下所示:工作寄存器组:一共有32个字节,也被称为通用寄存器,用于临时寄存8个信息,工作寄存器组分为4个组别,每组有R0-R7一共8个数据信息。
位寻址区:一共有16个字节,128位,该区域每一位可按照位于方式使用,这128位会重新分配工作地址。
一般RAM区域:用户编程可以使用的RAM,当然,前两个单元未使用的空间,用户也可以使用。
堆栈区和堆栈指针:先进后出、后入先出的原则进行管理的一段存储区域函数的调用就是一个堆栈操作,如下图所示:为实现堆栈“先入后出,后入先出”数据处理,51单片机内部设置了一个堆栈指针SP。
特殊功能寄存器:专用于控制、管理片内算术逻辑部件等功能模块工作,用户编程时可以直接给特殊功能寄存器设定值。
51单片机内部有包括PC在内19个特殊功能寄存器,如下所示:CPU专用寄存器:累加器A(E0H),寄存器B(F0H),程序状态寄存器PSW(D0H),堆栈寄存器SP(81H),数据指针DPTR(82H、83H)2.片外数据存储器51单片机内部RAM空间不够时候,就通过总线来扩展片外ram,最多可以扩展64KB.。
51单片机外部存储器的扩展
一、地址线的译码
存储器芯片的选择有两种方法:线选法和译码法。
1、线选法。所谓线选法,就是直接以系统的地址线作为 存储器芯片的片选信号,为此只需把用到的地址线与存储 器芯片的片选端直接相连即可。 2、译码法。所谓译码法,就是使用地址译码器对系统的 片外地址进行译码,以其译码输出作为存储器芯片的片选 信号。译码法又分为完全译码和部分译码两种。
MCS-51系列单片机片内外程序存储器的空 间可达64KB,而片内程序存储器的空间只有 4KB。如果片内的程序存储器不够用时,则需 进行程序存储器的扩展。
MCS-51存储器的扩展
存储器扩展的核心问题是存储器的编址 问题。所谓编址就是给存储单元分配地址。
由于存储器通常由多个芯片组成,为此 存储器的编址分为两个层次:
扩展数据存储器常用静态RAM 芯片: 6264(8K×8位)、62256(32K×8位)、 628128(128K×8位)等。
MCS-51存储器的扩展
P2.7~P2.0
ALE P0.0~P0.7 8031
EA PSEN
A15~A8 高8位地址
CLK Q7~Q0 A7~A0 I0~I7 地址锁存器
D0~D 7
二、以P2口作为高8位的地址总线
P0口的低8位地址加上P2的高8位地址就可以形成16位的 地址总线,达到64KB的寻址能力。
实际应用中,往往不需要扩展那么多地址,扩展多少用 多少口线,剩余的口线仍可作一般I/O口来使用。
三、控制信号线 ALE:地址锁存信号,用以实现对低8位地址的锁存。 PSEN:片外程序存储器读选通信号。 EA:程序存储器选择信号。为低电平时,访问外部程序存储 器;为高电平时,访问内部程序存储器。
第六章MCS-51单片机存储器的扩展
这些SRAM的引脚功能描述如下: A0~An:地址输入线;对6116,n=10;对6264,n=12;其他的类推。 D0~D7:双向数据线; CE:是片选输入线,低电平有效;6264的CS1为高电平,且CE为 低电平时才选中该芯片。 WE:写允许信号输入线,低电平有效; OE:读选通信号输入线,低电平有效; VCC:工作电源+5V。 GND:电源地。
程 序 存 储 器 E P R O M 的 扩 展
CPU读取的指令有两种情况:一是不访问数据存储器的指令; 二是访问数据存储器的指令。因此,外部程序存储器就有两种操 作时序。
外部程序存储器的操作时序
程 序 存 储 器 E P R O M 的 扩 展
外部程序存储器的操作时序
程 序 存 储 器 E P R O M 的 扩 展
程 序 存 储 器 E P R O M 的 扩 展
3.扩展多片EPROM的扩展电路 与单片EPROM扩展电路相比,多片EPROM的扩展除片选线CE外, 其它均与单片扩展电路相同。图中给出了利用27128扩展64k字节 EPROM程序存储器的方法。片选信号由译码选通法产生。
程 序 存 储 器 E P R O M 的 扩 展
所谓总线,就是连接系统中各扩展部件的一组公共信号线。 按其功能通常把系统总线分为三组:即地址总线、数据总线和控 制总线。
1. 地址总线(Address Bus) 地址总线用于传送单片机送出的地址信号,以便进行存储单 元和I/O端口的选择。地址总线的数目决定着可直接访问的存储 单元的数目。例如n位地址,可产生2n 个连续地址编码,因此可 访问2n个存储单元,即通常所说的寻址范围为2n地址单元。MCS51单片机存储器扩展最多可达64kB,即216地址单元,因此,最多 可需16位地址线。这16根地址线是由P0口和P2口构建的,其中P0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11根地址线A10~A0 8根数据线D7~D0 片选CS* 读写W*、E*
动态RAM
DRAM 的基本存储单元是单个场效应管 及其极间电容(记忆元件); 必须配备“读出再生放大电路”进行刷新; 每次同时对一行的存储单元进行刷新; 每个基本存储单元存储二进制数一位; 许多个基本存储单元形成行列存储矩阵; DRAM一般采用“位结构”存储体:
A19~A15 A14~A0
A14~A0 D7~D0
地址重复现象
一个存储单元具有多个存储地址的现象; 原因:有些高位地址线没有用、可任意;
译码和译码器
译码:将某个特定的“编码输入”翻译 为唯一“有效输出”的过程; 译码电路可以使用门电路组合逻辑; 译码电路更多的是采用集成译码器:
部分译码
只有部分(高位)地址线参与对存储芯 片的译码; 每个存储单元将对应多个地址(地址重 复),需要选取一个可用地址; 可简化译码电路的设计; 但系统的部分地址空间将被浪费。
线选译码
只用少数几根高位地址线进行芯片的译码, 且每根负责选中一个芯片(组); 虽构成简单,但地址空间严重浪费; 必然会出现地址重复; 一个存储地址会对应多个存储单元;
NC A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND
1 2 3 4 5 6 7 8 9 10 11 12 13 14
28 27 26 25 24 23 22 21 20 19 18 17 16 15
Vcc WE* NC A8 A9 A11 OE* A10 CE* I/O7 I/O6 I/O5 I/O4 I/O3
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
VSS CAS* DOUT A6 A3 A4 A5 VCC
只读存储器
MROM:掩膜型ROM,其中的信息是厂家根 据给定的程序和数据对芯片进行二次光刻制 成,造价很高; PROM :可编程 ROM ,每个基本电路由 1 个 三极管和串接在射极上的熔丝组成。出厂时, 每位上存储的信息均为1,写入0时,产生大 电流将熔丝烧断完成。由于熔丝烧断后不能 恢复,所以只能编程一次。
读RD*或OE*
写WR*
静态RAM
SRAM的基本存储单元是触发器电路 每个基本存储单元存储二进制数一位 许多个基本存储单元形成行列存储矩阵 SRAM一般采用“字结构”存储矩阵:
外部电路较简单; 功耗较大。
SRAM芯片6116
存储容量为2K×8 24个引脚:
11根地址线A10~A0 8根数据线DO7~DO0 片选/编程CE*/PGM 读写OE* 编程电压VPP
A7 A6 A5 A4 A3 A2 A1 A0 DO0 DO1 DO2 Vss
1 2 3 4 5 6 7 8 9 10 11 12
24 23 22 21 20 19 18 17 16 15 14 13
EEPROM芯片2817A
存储容量为2K×8 28个引脚:
11根地址线A10~A0 8 根 数 据 线 I/O7 ~ I/O0 片选CE* 读写OE*、WE*
NC A12 A7 A6 A5 A4 A3 A2 A1 A0 I/O0 I/O1 I/O2 GND
1 2 3 4 5 6 7 8 9 10 11 12 13 14
EPROM
顶部开有一个圆形的石英窗口,用 于紫外线透过擦除原有信息; 一般使用专门的编程器(烧写器) 进行编程; 编程后,应该贴上不透光封条; 出厂未编程前,每个基本存储单元 都是信息1; 编程就是将某些单元写入信息0。
EPROM芯片2716
存储容量为2K×8 24个引脚:
存储器芯片地址的扩充
存储系统常需利用多个存储芯片扩充容量; 也就是扩充了存储器地址范围; 进行“地址扩充”,需要利用存储芯片的片 选端对多个存储芯片(组)进行寻址; 这个寻址方法,主要通过将存储器芯片的片 选端与系统的高位地址线相关联来实现; 这种扩充简称为“地址扩充”或“地址串 联”。
每个存储单元存放一位 需要8个存储芯片构成一个字节单元 每个字节存储单元具有一个地址
DRAM芯片4116
存储容量为16K×1 16个引脚:
7根地址线A6~A0 1根数据输入线DIN 1根数据输出线DOUT 读写控制WE*
VBB DIN WE* RAS* A0 A2 A1 VDD
若芯片的数据线不足8根:
位扩充
A9~A0
多个位扩充的存储芯片的数据线连 A9~A0 2114 接于系统数据总线的不同位数; CE 片选 ( 2) A ~ A 地址线的相应位、各控制线并联; 9 0 2114 I/O4~I/O1 CE 这些芯片应被看作是一个整体; (1) I/O4~I/O1 常被称为“芯片组”。
地 址 寄 存 地 址 译 码 读 写 电 路 数 据 缓 冲
存储体
AB
DB
控制电路 RD WR CS
① 存储体
存储体是由大量的位存储单元按矩阵方式排 列的组合体。每个位存储单元只能存储 1 位 二进制信息。 存储一个字节的容量被称为 1 个存储单元。 每个存储单元被赋予一个惟一的编号,即该 单元的地址。 存储单元的容量与地址线位数有关: 2n = N n:地址线位数 N:存储单元的容量
常用的2:4译码器:74LS139 常用的3:8译码器:74LS138 常用的4:16译码器:74LS154
全译码
所有的系统地址线均参与对存储单元的 译码寻址; 包括低位地址线对芯片内各存储单元的 译码寻址(片内译码),高位地址线对 存储芯片的译码寻址(片选译码); 采用全译码,每个存储单元的地址都是 唯一的,不存在地址重复; 译码电路可能比较复杂、连线也较多。
地址扩充(容量扩展)
译 码 器
0000000001
0000000000 CE (1) A9~A0 D7~D0 A9~A0 D7~D0 片选端 CE (2) A9~A0 D7~D0
A19~A10
片选端常有效的情况:
令芯片(组)的片选端常有效; 全0~全1 不与系统的高位地址线发生联系; 芯片(组)总处在被选中的状态; CE 27256 虽简单易行、但无法再进行地址扩 EPROM 充,会出现“地址重复”。
D7~D4 D3~D0
例:2K×1位芯片组成2K×8位存储器
例:1K×4位芯片组成1K×8位存储器
存储芯片地址线的连接
芯片的地址线通常应全部与系统 的低位地址总线相连; 寻址时,这部分地址的译码是在 存储芯片内完成的,我们称为 “片内译码”。
片内译码
存储芯片 A9~A0 范围(16进制) 00…00 000H 全0 00…01 001H ~A0 00…A9 10 002H … … 11…01 3FDH 11…10 3FEH 11…11 3FFH 全1
存储器的连接
这是重点内容 译码方法同样适合I/O端口
存储芯片的连接与扩展
存储芯片的数据线 存储芯片的地址线 存储芯片的片选端 存储芯片的读写控制线
存储芯片位数的扩充
若芯片的数据线正好8根:
一次可从芯片中访问到8位数据; 全部数据线与系统的8位数据总线相连; 一次不能从一个芯片中访问到8位数据 需利用多个芯片扩充数据位 这个扩充方式简称“位扩充”,即“位并 联”。
存储器与I/O扩展技术
重点掌握存储器扩展基本原理与概念
内部存储器的组成
半导体存储器的分类: 按制造工艺
双极型:速度快、集成度低、功耗大 MOS型:速度慢、集成度高、功耗低 随机存取存储器RAM:可读可写、断电丢失 只读存储器ROM:正常只读、断电不丢失
按使用功能
半导体存储器芯片的结构
只读存储器
EPROM:可擦除可编程 ROM,信息的存储通过 电荷分布决定。刚出厂的芯片中没有电荷,所存 信息为1,写入0时通过加编程电压把电荷注入相 应的基本存储电路实现。当外部能源(紫外线光 源)加到芯片上时,聚集在电路中的电荷形成光 电流泄漏走,改变电荷分布,擦掉 0 ,恢复原始 状态1。 EEPROM:电可擦可编程 ROM,在﹢ 5V电源下 就可在线编写和擦除,是一种特殊的可读写的存 储器。
28 27 26 25 24 23 22 21 20 19 18 17 16 15
Vcc WE* NC A8 A9 NC OE* A10 CE* I/O7 I/O6 I/O5 I/O4 I/O3
EEPROM芯片2864A
存储容量为8K×8 28个引脚:
13根地址线A12~A0 8 根 数 据 线 I/O7 ~ I/O0 片选CE* 读写OE*、WE*
存储容量与地址总线、地址范围的关系
1K 2K 4K 8K 16K 32K 10 11 12 13 14 15 000 000 000 0000 0000 0000 3FF 7FF FFF 1FFF 3FFF 7FFF 容量 64K 128K 256K 512K 1MB 总线数 16 17 18 19 20 范围 0000 00000 00000 00000 00000 FFFF 1FFFF 3FFFF 7FFFF FFFFF 容量 总线数 范围
VDD A8 A9 VPP OE* A10 CE*/PGM DO7 DO6 DO5 DO4 DO3