单片机存储器扩展
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 单片机的扩展原理。
8051单片机存储器扩展

8051单片机存储器扩展摘要:在一个单片机应用系统中通常包含有信息输入与输出、数据的存储与处理等。
虽然MCS-51单片机自身具有存储器和I/O接口部件,但是当其用于控制功能强大或特殊的工业测控系统却往往显得资源不足,不能满足需要。
因此,考虑到这方面的因素,便提供了易于实现的系统扩展方案,以实现外部存储器和I/O接口部件的扩展。
系统扩展可分为并行扩展和串行扩展两种方式。
关键词:8051单片机,存储器,扩展,电原理图,PCB板,元件封装,元件库等。
一、设计方案设计都是根据现实的需要而来,当单片机自身的内部资源不够时,便需要对其进行扩展。
这里使用的是系统并行扩展的三总线构造。
其中选用了地址锁存器74LS373、程序存储器2764和数据存储器6264。
二、电路原理芯片6264占用系统地址空间为:(0000~1FFFH)or(2000~3FFFH)or(4000H~5FFFH)or(6000H~7FFFH)其原理图如下:整个扩展口电路用线选法完成,其电路原理图如下:三、单元电路及芯片功能介绍MCS-51单片机的引脚功能:1.电源引脚Vcc接+5V,GND接地;2.时钟信号引脚X1,X2为外部时钟信号引脚;3.控制线RST/Vpd作为RST使用时为复位输入端,作为Vpd使用时可接备用电源保持信息不丢失。
EA/Vpp引脚,EA为访问内部或外部程序存储器的选择信号,Vpp可接21V编程电压;PSEN引脚为外部程序存储器读选通控制信号,低电平有效。
4.输入/输出口线程序存储器2764主要引脚有;地址线(A0-A12)、数据线(O0-O7)、控制线OE/ Vpp,输出使能信号/编程电压;正常操作时,低电平允许数据输出,通常与单片机的PSEN信号相连,固化程序时,此引脚接编程电压、片选线CE,低电平允许芯片工作,高电平禁止工作。
四、参考文献[1]潘永雄.电子线路CAD使用教程.西安:西安电子科技大学出版社,2001[2]赵广林.轻松跟我学Protel99DXP电路设计与实例精解.北京:人民邮电出版社,2006[3]吴培明.电子技术虚拟实验.北京:机械工业出版社,1999电原理图PCB板顶层底层元件清单。
第5章 单片机存储器扩展

11000000000000000~1101111111111111,即C000H~DFFFH;
11100000000000000~1111111111111111,即E000H~FFFFH。
•采用地址译码器的多片程序存储器的扩展(译码法)
例3 要求用2764芯片扩展8031的片外程序存储器,分配的地
21×210 = 211
地址空间: A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最低地址: 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0000H 07FFH
最高地址: 1
MCS-51单片机寻址范围:64KB
26×210 = 216即16位地址线
地址空间: A15A14A13A12A11A10A9A8A7··A0 单片机 ·· ·· × × × × × A10A9A8A7··A0 6116 ·· ·· 2KB
25 = 32
上式中:“×”表示0或1。
即单片机地址空间中包含有32个2KB。某片6116占据的是哪 2KB不能确定——地址浮动。 只有限定A15··A11的取值才能确定6116在系统中的地址 ·· ·· 范围。如,P2.5 = 1 ,选中6116的/CS线。设P2.7 P2.5 P2.4 P2.3 假定全为1
例2 使用两片2764扩展16 KB的程序存储器,采用线选法选
中芯片。扩展连接图如图所示。以P2.7作为片选,当P2.7=0时,
选中2764(1);当P2.7=1时,选中2764(2)。因两根线(A13、A14)
未用,故两个芯片各有22=4个重叠的地址空间。它们分别为
用两片2764 EPROM的扩展连接图
则: 6116地址范围是B800H ~ BFFFH。
单片机存储器扩展

单片机存储器扩展在单片机的应用中,常常会遇到内部存储器容量不足的情况。
这时候,就需要对单片机的存储器进行扩展,以满足系统对存储容量的需求。
单片机的存储器可以分为程序存储器和数据存储器。
程序存储器用于存储单片机运行的程序代码,而数据存储器则用于存储程序运行过程中的数据。
当单片机内部的存储器无法满足应用需求时,就需要通过外部扩展来增加存储容量。
在进行存储器扩展之前,我们需要了解单片机的存储器寻址方式。
不同的单片机可能有不同的寻址方式,但通常都包括直接寻址、间接寻址和变址寻址等。
了解寻址方式对于正确进行存储器扩展至关重要。
对于程序存储器的扩展,常用的方法是使用外部只读存储器(ROM),如 EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)等。
扩展时,需要将外部 ROM 与单片机的地址总线、数据总线和控制总线正确连接。
地址总线用于指定存储器的地址,数据总线用于传输数据,控制总线则用于控制存储器的读写操作。
以常见的 8051 单片机为例,它的地址总线为 16 位,可以寻址64KB 的存储空间。
如果要扩展 32KB 的程序存储器,我们可以选用一片容量为 32KB 的 EPROM 芯片,如 27256。
将 EPROM 的地址线 A0A14 与单片机的地址总线 A0 A14 相连,数据线 D0 D7 与单片机的数据总线 D0 D7 相连。
控制总线中的片选信号(CS)通常通过地址译码器来产生,以确保在特定的地址范围内选中该 EPROM 芯片。
在数据存储器的扩展方面,常用的是外部随机存取存储器(RAM),如静态 RAM(SRAM)和动态 RAM(DRAM)。
SRAM 速度较快,但价格相对较高;DRAM 价格较低,但需要不断刷新。
同样以 8051 单片机为例,如果要扩展 8KB 的数据存储器,可以选用一片 6264 SRAM 芯片。
连接方式与程序存储器扩展类似,地址线和数据线分别与单片机的对应总线相连。
单片机实验-扩展存储器读写实验

实验一:扩展存储器读写实验一.实验要求编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线将P1.0接至L1。
CS256连GND孔。
四.实验说明1.单片机系统中,对片外存贮器的读写操作是最基本的操作。
用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序的方法。
用户编程可以参考示例程序和流程框图。
本示例程序中对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。
不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。
读写数据的选用,本例采用的是55(0101,0101)与AA(1010,1010)。
一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察等方法,来观察程序执行的流程和各中间变量的值。
2.在I状态下执行MEM1程序,对实验机数据进行读写,若L1灯亮说明RAM读写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,在I状态执行SX0000↓ 55,SPACE,屏幕上应显示55,再键入AA,SPACE,屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
注:SX是实验机对外部数据空间读写命令。
4.本例中,62256片选接地时,存储器空间为0000~7FFFH。
五.实验程序框图实验示例程序流程框图如下:六.实验源程序:ORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HMOV DPTR,#0000H ;置外部RAM读写地址MOV A,#55H ;测试的数据一MOV B,AMOVX @DPTR,A ;写外部RAMMOVX A,@DPTR ;读外部RAMXRL A,B ;比较读回的数据JNZ ERRORMOV A,#0AAH ;测试的数据二MOV B,AMOVX @DPTR,AMOVX A,@DPTRXRL A,BJZ PASS ;测试通过ERROR: SETB P1.0 ;测试失败,点亮LEDSJMP $PASS: CPL P1.0 ;LED状态(亮/灭)转换MOV R1,#00H ;延时DELAY: MOV R2,#00HDJNZ R2,$DJNZ R1,DELAYLJMP START ;循环测试END实验二P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
四 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单片机实验-实验五 存储器扩展实验

实验5 存储器扩展实验一、实验目的1.掌握PC存储器扩展的方法。
2.熟悉6264芯片的接口方法。
3.掌握8031内部RAM和外部RAM的数据操作二、实验设备PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路,PROTEUS仿真软件。
三、实验仿真:1)proteus仿真电路图2)实验程序;NAME T7_1_RAMORG 0000HSTART: MOV DPTR,#7000H ;起始地址送DPTRLOOP1: MOV A,#00H ;置数据初值LOOP: MOVX @DPTR,AADD A,#01H ;数据加一INC DPTR ;地址加一MOV R0,DPHCJNE R0,#80H,LOOP ;数据是否写完,没写完则继续SS: SJMP SSEND3)仿真结果运行上面的程序,由于设定起始地址为7000,而P2.0~P2.4分别作为地址线A8~A12,P2.5~P2.7分别接74ls138的ABC三个口,且38译码器的Y2接6264-U3的片选口CE,与接6264-U4的片选口CE,所以此时CBA为011,则选择的存储器为U4,将00~FF这组数据分别送到U4的以7000H为起始地址的单元中,并循环放置(即proteus仿真结果中的1000H 地址);若将程序中的起始地址改为5000H,检验是否写完数据的数值#80H改为#60H,则此时CBA为010,此时选择的是U3存储器,结果与选择U4时一样。
证明这些地址都可用,如果不可用,则在写入数据时所有地址单元中的数值保持为FF。
四、实验台操作1)接线实验台已将内部线路接好,可用地址范围为4000~7FFFH2)实验结果实验结果基本与仿真结果一致。
单片机存储器的扩展(part 1 80C51)

在软件中,可用数据查询方式检测写操作中”页存 储周期“是否完成。“页存储”期间,如果对2864执行 读操作,那么读出的是最后写入的字节,若芯片的转储 工作未完成,则读出数据的最高位是原来写入字节最高 位的反码。据此,CPU可判断芯片的编程是否结束。如 果CPU读出的数据与写入的数据相同,表示芯片已完成 编程,CPU可继续向芯片加载下一页数据。
/OE:数据输出允许信号
6116共有四种工作方式:未选中、禁止、读出、写入(见教材 P127表5-4/表6.2)。
5.4.4数据存储器扩展举例 在 80C51 的扩展系统中,片外数据存储器一般由随 机存取存储器组成,最大可扩展64KB。数据存储器扩展 与程序存储器扩展在数据线、地址线的连接上是完全相 同的。所不同的只在于控制信号,程序存储器使用 /PSEN作为读选通信号,而数据存储器则使用/RD和/WR 分别作为读、写选通信号 1、单片数据存储器扩展 例:见图所示(或见教材P127图5.11/图6.9)。这里使用 了一片 6116 实现了 2KB RAM 扩展。在扩展连接中,以 /RD 信号接芯片的 /OE 端,以 /WR 信号接 /WE 端,进行 RAM芯片的读写控制。由于假定系统只有一片 6116,因 此没有使用片选信号,而把/CE端直接接地。这种情况下, 6116的地址范围是0000~07FFH。 与程序存储器相比较,数据存储器的扩展连接在数 据线、地址线的连接方法上是一致的,所不同的只是在 控制信号线上的差别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A0-AX 地址总线 I/O0-I/O7 数据总线 VCC、GND电源与地 \CE 片选信号,低电平有效。该管 脚为0时,才能对该芯片进行编程 或读出数据的操作; \OE 允许数据输出选通信号线,只 有该管脚有效(为低)时,内容才 能被读出,接单片机的\PSEN端。 RDY/BUSY数据写入式的状态查询, 若为高则可写入。
特别的,对于外扩256BRAM可使用另外一种MOVX A,@Ri和 MOVX @Ri, A 指令操作。
§5-5 地址译码方法与混合扩展
一、选址译码方法
在外扩的多片存储器中要完寻址一个具体单元的功能,必须进行 两种选择:一是必须选择出要操作的存储器芯片,即片选;二是必须 选择出该芯片的存储字节单元,即字选。
ALE端 地址锁存的选通信号,以实现对P0口输出低8位地址的锁存; PSEN端 连接外部EPROM的\OE端,作为其选通信号; EA端:作为低4KB程序的片内外选择端,为高时,应用片内程序存储器; RD端:作为外扩RAM或I/O端口的读选通信号; WR端:作为外扩RAM或I/O端口的写选通信号。
§5-2 MCS-51单片机扩展三总线构成
§5-2 MCS-51单片机扩展三总线构成
一、三总线的概念
地址总线AB 数据总线DB 控制总线是单片机发出的一组用于片外ROM、RAM和I/O端口读写操作控制的 信号线。
二、扩展三总线的构成
P0作为数据与低8位地址总线的复用线; P2作为地址的高8位,如果有其中一条用作了地址线,其余的也不能再作为I/O使用; 控制:
§5-1 常用存储器芯片
一、RAM及常用静态RAM芯片
RAM为随机存储器,分为TTL双极型和MOS单极型,SRAM为静态RAM,只要正常持 续供电,即保持数据;DRAM为动态RAM,必须进行周期性刷新才能保持数据,单片 机应用SRAM。 目前常用的SRAM有6116,6264,62256等。
管脚介绍:
MCS-51扩展三总线及其实现
§5-3 MCS-51单片机程序存储器扩展
一、应用27128扩展16KB
外扩16KB EPROM的连线方式
§5-3 MCS-51单片机程序存储器扩展
二、应用27128扩展16KB的地址计算
A0-A13—P0,P2.0-P2.5 A14-P2.6—\CE A15-P2.7 因27128无A15,因此,此管脚要注意。
对存储器选址常用的有两种方法:线选法和片选法。
§5-5 地址译码方法与混合扩展
一、选址译码方法
1、线选法扩展16KB数据存储器和16KB程序存储器。
片选信号是由地址线进行 控制的,因而叫线选法。 优点:连接简单,不需专 用逻辑芯片。§5-5 地址译码方法混合扩展一、选址译码方法
1、线选法扩展16KB数据存储器和16KB程序存储器 计算每个芯片的字节单元地址空间,应该是在本芯片被选中而其
当执行写数据指令时,CPU把DPTR的地址分为DPH和DPL高低 两个字节,并分别从P2、P0口送出,ALE使P0口输出的内容锁存在 74LS373中,这样,P2口与锁存器共同输出的16位地址寻址DPTR所 指定的字节单元,接着CPU使\WR端输出低电平,使62256写允许信 号\WR有效,再把A中的内容从P0口送出,经62256的数据线O0-O7 写入被寻址单元中。
A0-AX 地址总线 D0-D7 数据总线 VCC、GND电源与地 \CE 片选信号,低电平有效。该管 脚为0时,才能对该芯片写入或读 出; \OE 读选通,接单片机的\RD管脚; \WE 写允许,接单片机的\WR管脚。
§5-1 常用存储器芯片
二、ROM常用芯片
ROM为只读存储器,特殊方式写入。按原理可分为:①掩膜ROM,厂家生产芯 片时将内容写入;② PROM芯片出厂后可一次写入;③可擦除的ROM,可重复 编程使用。目前主要为EPROM,EEPROM和FLASH。 目前常用的EPROM有2764,27128, 27256等。
PC值 0000H 0001H 3FFEH 3FFFH
A15 A14 A13 A12 …… A3 A2 A1 A0 0 0 0 0 …… 0 0 0 0 0 0 0 0 …… 0 0 0 0 0 0 1 1 …… 1 1 1 0 0 0 1 1 …… 1 1 1 1
被寻址单元 第一单元 第二单元 次最后单元 最后单元
管脚介绍:
A0-AX 地址总线 O0-O7 数据总线 VCC、GND电源与地 \CE 片选信号,低电平有效。该管 脚为0时,才能对该芯片进行编程 或读出数据的操作; \OE 允许数据输出选通信号线,只 有该管脚有效(为低)时,内容才 能被读出,接单片机的\PSEN端。 VPP、PGM编程脉冲线。
§5-1 常用存储器芯片
它相同类芯片未被选中的情况下计算得到的。所谓相同类芯片是指: 程序存储器和数据存储器(包括与RAM统一编址的I/O端口)两类。
对上图的程序存储器芯片编址为: IC1 2764:0-1FFFH;4000-5FFFH,8000-9FFFH,C000-DFFFH IC2 2764:2000-3FFFH,6000-7FFFH,A000-BFFFH,E000-EFFFH 对数据存储器芯片编址为: IC3 6264:4000-5FFFH,C000-DFFFH(P2.7=X,P2.5=0,P2.6=1) IC4 6264:2000-3FFFH,A000-BFFFH(P2.7=X,P2.5=1,P2.6=0)
三、EPROM芯片图片
EPROM芯片与编程器图片
§5-1 常用存储器芯片
三、EEPROM常用芯片
EEPROM为电可擦除程序存储器,主要由在线编程写入。 目前常用的有两种,一种为串行的,一种为并行的。串行的常用作数据保存, 而作为程序存储器应选择并行的。目前主要有2817、2864等。 FLASH为闪速存储器,是新型非易失大容量存储器件,速度快,容量大。
§5-4 MCS-51单片机数据存储器扩展
一、应用62256扩展32KB
外扩32KB RAM的连线方式
§5-4 MCS-51单片机数据存储器扩展
二、应用62256扩展32KB
32KB的地址空间为:0000H-7FFFH单元
向外部RAM写入数据为:MOVX @DPTR,A
读出为: MOVX A,@DPTR