51单片机大容量数据存储器的扩展解读

合集下载

MCS-51单片机存储器的扩展

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单片机大容量数据存储器扩展板设计

MCS-51单片机大容量数据存储器扩展板设计
am pl e an d t h e ci r c ui t an d pr o gr am o f wh i c h i s al s o gi v en i n .
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

单片机内部RAM的扩展

单片机内部RAM的扩展

STC单片机内部扩展RAM的应用作者:郭天祥来源:原创更新时间:2008-11-27 21:19:35 浏览次数:5803RAM是用来在程序运行中存放随机变量的数据空间,51单片机默认的内部RAM只有128字节,52单片机增加至256字节,STC89C52增加到512字节,STC89C54、55、58、516等增加到1280字节,对于编程者来说,一个芯片的RAM越多,写起程序来就越容易得心应手,不会总考虑RAM不够用而担心这担心那,连过多的变量都不敢定义。

在前面我们写程序时曾讲到过,如果定义一个变量后,不对这个变量进行初始化,这个变量默认的初值就是0,其实这个结论是需要一定的条件的,在用KEIL编写程序时,总程序中所有变量占用的字节之和小于128字节,并且存储器模式为small模式的前提下,对定义的变量不进行初始化时,编译器会默认将变量值设定为0。

一旦程序中的总变量超过128字节,必须对所有变量进行初始化,否则,没有被初始化的变量默认值将是不确定的。

当变量总和超过128字节时,必须还要在编译器中重新设定存储器的存储模式,存储器模式一共有3种,分别为small、compact和large模式,在KEIL编译器中有选项可进行选择,选项表如图4.4.1所示。

它决定了没有明确指定存储类型的变量、函数参数等数据的默认存储区域。

如果在某些函数中需要使用非默认的存储模式,也可以使用关健字直接说明。

下面对这三种模式分别做介绍。

1. small模式small模式中,所有缺省变量参数均装入单片机内部128字节RAM中,当定义类似如:uchar a; float b;等变量时,这些变量都装入内部128字节RAM中。

使用该模式的优点是访问速度快,缺点是空间有限,而且是对堆栈的空间分配比较少,难以把握,碰到需要递归调用的时候需要小心。

所以这种模式只适用于小程序。

2. compact模式compact模式中,所有缺省变量均位于单片机内部256字节RAM中,和在small模式中使用关健字pdata 来定义变量的效果相同,如:uchar pdata a[100];在该种模式下,程序总变量不得超过256字节,对于只有128字节的单片机,使用此模式定义变量超过128字节时,程序将出错。

单片机存储器扩展

单片机存储器扩展

单片机存储器扩展在单片机的应用中,常常会遇到内部存储器容量不足的情况。

这时候,就需要对单片机的存储器进行扩展,以满足系统对存储容量的需求。

单片机的存储器可以分为程序存储器和数据存储器。

程序存储器用于存储单片机运行的程序代码,而数据存储器则用于存储程序运行过程中的数据。

当单片机内部的存储器无法满足应用需求时,就需要通过外部扩展来增加存储容量。

在进行存储器扩展之前,我们需要了解单片机的存储器寻址方式。

不同的单片机可能有不同的寻址方式,但通常都包括直接寻址、间接寻址和变址寻址等。

了解寻址方式对于正确进行存储器扩展至关重要。

对于程序存储器的扩展,常用的方法是使用外部只读存储器(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 芯片。

连接方式与程序存储器扩展类似,地址线和数据线分别与单片机的对应总线相连。

四 MCS-51单片机存储器系统扩展

四 MCS-51单片机存储器系统扩展
RD、WR为数据存储器和 I/O口的读、写控制信号。执 行MOVX指令时变为有效。
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

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)口为低电平时,则为外设。

51单片机实验-实验五 存储器扩展实验

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)实验结果实验结果基本与仿真结果一致。

第8章 单片机存储器扩展

第8章  单片机存储器扩展

译码法的另一个优点是若译码器输出端留 有剩余端线未用时,便于继续扩展存储器或I/O 口接口电路。
译码法和线选法不仅适用于扩展存储器(包 括外RAM和外ROM),还适用于扩展I/O口(包括各 种外围设备和接口芯片)。
译码有两种方法:部分译码法和全译码法。
部分译码:存储器芯片的地址线与单片机系统的地址线顺 次相接后,剩余的高位地址线仅用一部分参加译码。部分 译码使存储器芯片的地址空间有重叠,造成系统存储器空 间的浪费。 部分译码法的一个特例是线译码。所谓线译码就是 直接用一根剩余的高位地址线与一块存储器芯片的片选 信号CS相连,同时通过非门与另一块存储器芯片的片选 信号CS相连。 全译码:存储器芯片的地址线与单片机系统的地址线顺次 相接后,剩余的高位地址线全部参加译码。这种译码方法 存储器芯片的地址空间是唯一确定的,但译码电路相对复 杂。
2 2764
8031
CE GND
EA Vss
上图为8XX51单片机扩展单片程序存储器2764的电路 图。
其8个重叠的地址范围为如下: 0000000000000000~0001111111111111,即:0000H~1FFFH; 0010000000000000~0011111111111111,即:2000H~3FFFH; 0100000000000000~0101111111111111,即:4000H~5FFFH; 0110000000000000~0111111111111111,即:6000H~7FFFH; 1000000000000000~1001111111111111,即:8000H~9FFFH; 1010000000000000~1011111111111111,即:A000H~BFFFH; 1100000000000000~1101111111111111,即:C000H~DFFFH; 1110000000000000~1111111111111111,即:E000H~FFFFH。

第05讲 MCS-51单片机存储器的扩展

第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单片机大容量数据存储器的系统扩展

一种改进的51单片机大容量数据存储器的系统扩展
维普资讯
工 业 技
Si O O l&¨O】 fO f} A_ l N lOOYI!{ : N NoM l 0 N

种 改进的 5 单片机 大容量数据存储器 1 的系统扩展
( . -- 地质职 大学 50 1 . 石家庄 008 5 0 1)
引言 l8 的 S 2K RAM 被 S RAM . 1 A S 5和 RAM— 6分 成 4个 Al MC 5 单 片机 系统扩腱时 , 一般 使用 P S 1 0口作为地 址低 8 BANK,每 个 BANK均 为 3 K,其 中 BANK0地址范 围是 : 2 位 ( 与数据 口分时复用 ) ,而P 2口作为地址 高 8 ,它共有 l 根 O O 0 ~0 7 F 位 6 x 0 0 x E F,当 Al 5为 0时 B ANK0被选中 ,B ANK0可 地址总线,最 人寻址空间为 6 KB 4 。但在 实际应 用中,有一些特 用 来存储用 户定 义的各种, ,以 L 叟量 ARGE方式编译的 C5 用 1 殊场合 , 例如 , 基于单片机的图像采集传输 系统 , 程控交换机话 户函数 的参数传递也在 该区实现 ,只要设 置 C 编 译器的片外 5 l 单的存储等 ,需要有 火千 6 KB的数据存储器。在以往的扩展人 S 4 RAM 的大小为 0 7 0 x F 0字节 (2 一2 6 节) 3K 5字 ,起止地址为 : 容量数据存储器的设计 中,一般 是用单 片机的 I 口直接控制大 0 0 0 。这样 当系统 在访 问外郜大容量数据 存储器 ( 4 的 O x 00 如 M 容量数据 存储 器的片选信号来实现,但是这种设计 在运行以 C FLAS} )并且系统产 生 中断时 ,由于系统在 函数调 用时 自动 5 l { 编写的程 序 ( L 以 ARGE方式编 译)时往往会出现 系统程序跑飞 使 Al 5为 0 ,故此 时 B ANK0是可 用的 ,这样保证 了系统 在这 的问题 ,尤其是在程序访问大容量数据存储 器 ( F S I 如 I I)的 种 情况下 能稳 定 的运 行 。 A 时 系统产生异常 ( 中断 ) 如 ,由r此时 由 1 0 u控 制的片选使 由于访 问 B A N K l B A N K 3时 A l5必 须 为 l,故 F AS L H被选 中 S RAM 无法被选 中, 堆栈处理和 闯数参数的传 BANKiBANK3的地址范 围均 为 :0 8 0 ~0 F FF,通过 x 00 x E 递无法实现从而导致程序跑 飞的现象 。 文章根据作者实际使用的 SRAM A1 S 5和 RAM— 6来区分 它们是属 干哪 个 BANK的 , Al 应用系统 ,介绍一种基于 CP I D的大容量数据 存储器的扩展系 访问 B KlB AN ANK3 的前提是 AL 2 0 2 为 。BA NKlB ANK3町 统,避免 r 上述 问题 的产生 , 高 r 提 扩腱大容量数据存储器系统 用来存储用户数据。 当 AI 2 Al 均 为 l 4 的 F AS t 和 2 5 时 M L I 被 的 叮靠性 。该系统 MCU采用 8 C 2 9 5 ,译码逻辑的实现使用了一 选 中,F AS } 5 AL 1 L H 皮AI ’ 2 分成 了 l 8 ,每 页为 3 K。下 l 2页 2 片 E M72 P P 18 C I D芯片 ,系统扩展 了一 片 18 2 K的 S RAM,一 面 介绍访 问大容量 数据俘 储器的软 件实现 。 片 4 字节的 N I S t M OR F I,以上芯 片均 为 5 A V供 电 下面介绍 其硬什组 成及软件处理 方法。 3 软件处 理方 法 如用 KEI 编译 C I 5 l程序时 , 首先设置 项 日的编译模式 为 2.系统 的硬件组 成 L ARGE模式 ,并设置片外 XRAM 的相关 参数为 :S TART: 2.1系统 的硬件组 成 0 00 x 0 0,S ZE:0 F 0 I x7 0 。访 I h BANK0时无需编 写子程序 , J W2 12 A是 l8 ×8 40 4 2K 位的静态 RAM,共需 l 根地址线 , 系统可以直接访问 。i 问 S 7 j 了 RAM 的 BANKrB ANK3 骤为 : 步 其 A0A7接经 C I P D锁存输出的 A0 A7 A8A1 接 8 C5 , 一 4 9 2的 ①锁存高 8 位地址使 AL 2 0 2 为 ,设 置 B ANK值 ( 要访问 s RAM A8 A1 4,Al 5、Al 6分别接 CPLD输 出的 SRAM A1 的绝对物理地址除十 3 K,商 为 BANK值 ,余数 为 BANK 内 5、 2 SRAM Al ;M2 F 3 D是 4 X 8位的 NOR型 F AS 6 902 M L H,共 的偏移地址 ) ②在 0 8 0 ~0 F F x 0 0 x E F地址 范围内操作 S RAM 需 2 根地址 线。A0A1 的接法 W2 12 A的相同,A1 l ( 5 ) 2 - 4 4 04 5A2 Al —1 。Wrt— r m— n l 3函数的功能为写 一 i S a Ba k 2 e 个字节数 接经 C L P D锁 存输出的 AL 5AL l l- 2 ;所有数据存储器的读 写控 据至片外 s RAM 的 B ANKlB ANK3 e d Sa B n 13函 ~ ,R a rm— a k 2 制线 与 MCU相应的读 写控制线 相连 。S RAM 和 F AS 的片 数的功能是从 s L H RAM 的 B ANKlB ANK 3读一 个字节数据 。相 选信 号由 C 内部译 码产生 :/ RAM 接 S PI D CS S RAM 的片 关 C5l 例代码 如 示 选 ,/C — IAS 接 F AS 的片选。 S F H L H v i W rt S a Ba k 2 ( n i n d l n a d e s od ie r m n 1 3 u sg e o g d rs , u s n dc a v 1 n i e h r a) g 2 CP D的功能 实现 .2 L 使用 CP D 器件可以提高 系统 .计的灵活性 ,并且 可以简 L L 殳 化电路设 计,节省很多常规 电路 中的接 口器件和 I O L线 。系 / = 1 = un i n d c r b nk‘ u sg e n d r b n s g e ha a n i n d i t a d _ a k; 统将单 片机的地址线、 各种控制 和状态信 均 引入 CP I D,实 b n = a d es/ 0 8 0 l/ ak d rs x 0 0 /商为 BANK值。 现 系统 的地址译码 和部 分 I 控制。 系统 中 CPLD采 用的是 /0 i (a k > = 1 )&& (a k < 3) f( n b bn ) MAX7 0 0 0系列的 E M7 2 S P l8 TC1 0—1 。 0 0 1 ALl- 2 为 系统锁存 出来的高 8位地址 ,该地 址锁 存器 5AL 2 a d — a k — a d es% 0 8 0 ‘/ d rb n d rs x 0 0 /余 数 的地址 为 :0 F 0;状态缓冲 器地址为 :0 F2 x7 0 X7 0,通过状 为 BANK 内地 址 。 态缓冲 器可以读取 F AS L H的当前状态 ,划断 F AS L H当前 状态 X BYT 【x f0 E 0 70 】一 b n / AL 2 0 a k; / 2= , 是忙还是 空闲 ,如果应 用系统中还有其 它状 态信号可以接 至该 设置 BANK值 。 状态缓冲 器的输入端 。/ S - S C 2 /C 7可以用作 其他器件 的片选。 XBY [x 0 0 a d a k TE 0 8 0 + d rb n 】= v l /写 a ‘/

51单片机外部存储器的扩展

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的连接

单片机应用和原理课件 AT89S51单片机外部存储器的扩展 演示文稿

单片机应用和原理课件 AT89S51单片机外部存储器的扩展 演示文稿
2.译码法 使用译码器对AT89S51单片机的高位地址进行译码,译码 输出作为存储器芯片的片选信号。此方法能有效地利用存储 器空间,适于多芯片的存储器扩展。常用译码器芯片有 74LS138(3-8译码器)、74LS139(双2-4译码器)和 74LS154(4-16译码器)。
12
若全部高位地址线都参加译码,称为全译码;若仅部分高 位地址线参加译码,称为部分译码。部分译码存在着部分存 储器地址空间相重叠的情况。
1.线选法 是直接利用系统的某一高位地址线作为存储器芯片(或I/O
接口芯片)的“片选”控制信号。为此,只需要把用到的 高位地址线与存储器芯片的“片选”端直接连接即可。
1. 线选法 优点:电路简单,不需另外增加地址译码器硬件电路,体 积小,成本低。
缺点:可寻址的芯片数目受限制。另外,地址空间不连续, 每个存储单元的地址不唯一,这会给程序设计带来不便,适 用于外扩芯片数目不多的系统。
2
8.1 系统扩展结构 AT89S51采用总线结构,使扩展易于实现,系统并行扩 展结构如图8-1所示。
图8-1 AT89S51单片机的系统并行扩展结构
3
由图8-1可看出,系统扩展主要包括存储器扩展和I/O接口 部件扩展。
AT89S51存储器扩展即包括程序存储器扩展又包括数据 存储器扩展。AT89S51采用程序存储器空间和数据存储器空 间截然分开的哈佛结构。扩展后,形成了两个并行的外部存 储器空间。
15
(2)74LS139 双2-4译码器。这两个译码器完全独立,分别有各自的数 据输入端、译码状态输出端以及数据输入允许端,引脚如图 8-4,真值表如表8-2(只给出其中的一组)。
图8-4 74LS139引脚
16
以74LS138为例,如何地址分配。 例如,要扩8片8KB的RAM 6264,如何通过74LS138把 64KB空间分配给各个芯片? 由74LS138真值表可知,把G1接到+5V,G2A* 、 G2B* 接地,P2.7、P2.6、P2.5(高3位地址线)分别接74LS138 的C、B、A端,对高3位地址译码,译码器8个输出Y7* ~ Y0* ,分别接到8片6264的各 “片选”端,实现8选1的片选。 低13位地址(P2.4~P2.0,P0.7~P0.0)完成对选中的 6264芯片中的各个存储单元的“单元选择”。这样就把 64KB存储器空间分成8个8KB空间了。

第五章_MCS-51单片机的系统扩展

第五章_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、线选法。所谓线选法,就是直接以系统的地址线作为 存储器芯片的片选信号,为此只需把用到的地址线与存储 器芯片的片选端直接相连即可。 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:程序存储器选择信号。为低电平时,访问外部程序存储 器;为高电平时,访问内部程序存储器。

51单片机片外扩展RAM

51单片机片外扩展RAM

51 单片机片外扩展RAM
一.概述
普通51 单片机可以片外扩展ROM 和RAM 各64K 字节的空间,在实际应用中很少扩展外部ROM,一般都是扩展RAM,因为普通51 单片机的内部RAM 实在太少,只有128-256 字节,处理数据量较大时往往不
够用。

而片外扩展RAM 需要占用P0 口、P2 口和P3.6、P3.7,消耗了18 个IO 口,导致IO 口又不够用。

为了解决以上矛盾,大容量的51 单片机(增强型51 单片机)应运而生,这种单片机一般内置1K-16K 的RAM 和16K-64K 的ROM,价格也相对昂贵。

在某些情况下,用普通51 单片机通过片外扩展RAM 要比直接使用增强型51 单片机更能节约成本。

所以,学习51 单片机片外扩展RAM 是很有必要的。

二.电路设计
在WSF-51DB 开发板上,扩展了32K RAM(HM62256B),地址锁存芯片用74HC573。

如果片外扩展RAM,P0 口作为数据和地址低字节的复用端口,不需要加上拉排阻,当然,加上拉排阻也没有影响。

需要注。

第六章MCS51单片机存储器扩展

第六章MCS51单片机存储器扩展
最低地址:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
1000,0000,0000,0000(8000H)
最高地址:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 1000,0111,1111,1111(87FFH)
A14A13A12A11(P2.6~P2.3)的状态与芯片寻址无关, A14A13A12A11 的所有16种组合(0000~1111)都不会影响该芯片的寻址,即
61162寻址范围:
0000,1000,0000,0000 ~ 000 0,1111,1111,1111
即:0800H~0FFFH
28
本章小结
主要内容
1、单片机系统扩展的三总线结构; 2、程序存储器和数据存储器的扩展方法。
重、难点
存储器扩展时的地址译码、分配与计算。
29
6.5 存储器综合扩展 6.5.1 同时扩展ROM和RAM
G : 使能端,低电平有效; A、B : 译码输入; Y 0 , Y 1 , Y 2 , Y 3 : 译码输出信号,低电平 有效
13
2)74LS138:3-8译码器
E1
E2 E3
&
使能控制
EN
E 2 E1 0 E3 1
输出端
74LS138
A B C E1 E2 E3 Y7 GND
1 2 3 4 5 6 7 8
CE A7 ~ 0
CE A7 ~ 0
8031
ALE
O7 ~ 0
1# 2764
O7 ~ 0
2# 2764
P2.4 ~ P2.0
A12 ~ 8
OE
EA
A12 ~ 8

第六章MCS-51单片机存储器的扩展

第六章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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

郑州航空工业管理学院《单片机原理与应用》课程设计说明书10 级自动化专业 1006112 班级题目51单片机大容量数据存储器的系统扩展姓名杨向龙学号100611234指导教师王义琴职称讲师二О一三年六月十日目录一、51单片机大容量数据存储器的系统扩展的基本原理 (4)二、设计方案 (4)三、硬件的设计 (5)3.1 系统的硬件构成及功能 (5)3.2硬件的系统组成 (5)3.2.1、W241024A (5)3.2.2、CPLD的功能实现 (5)3.2.3、AT89C52简介 (6)3.2.4、SRAM的功能及其实现 (9)3.3、基本单片机系统大容量数据存储器系统扩展 (9)五、结论 (13)六、参考资料 (13)51单片机大容量数据存储器的系统扩展摘要:在单片机构成的实际测控系统中,仅靠单片机内部资源是不行的,单片机的最小系统也常常不能满足要求,因此,在单片机应用系统硬件设计中首先要解决系统扩展问题。

51单片机有很强的外部扩功能, 传统的用IO口线直接控制大容量数据存储器的片选信号的扩展系统存在运行C51编译的程序时容易死机的缺点。

文中介绍了一种改进的基于CPLD的51系列单片机大容量数据存储器的扩展方法,包括硬件组成和软件处理方法。

关键字:W241024A、CPLD、AT89C52、SRAM一、51单片机大容量数据存储器的系统扩展的基本原理MCS-51 单片机系统扩展时,一般使用P0 口作为地址低8位(与数据口分时复用),而P2口作为地址高8位,它共有16根地址总线,最大寻址空间为64KB。

但在实际应用中,有一些特殊场合,例如,基于单片机的图像采集传输系统,程控交换机话单的存储等,需要有大于64KB 的数据存储器。

二、设计方案在以往的扩展大容量数据存储器的设计中,一般是用单片机的IO口直接控制大容量数据存储器的片选信号来实现,但是这种设计在运行以C51编写的程序(以LARGE 方式编译)时往往会出现系统程序跑飞的问题,尤其是在程序访问大容量数据存储器(如FLASH)的同时系统产生异常(如中断),由于此时由IO 口控制的片选使FLASH 被选中而SRAM 无法被选中,堆栈处理和函数参数的传递无法实现从而导致程序跑飞的现象。

文章介绍一种基于CPLD 的大容量数据存储器的扩展系统,避免了上述问题的产生,提高了扩展大容量数据存储器系统的可靠性。

该系统MCU 采用89C52,译码逻辑的实现使用了一片EPM7128 CPLD 芯片,系统扩展了一片128K 的SRAM,一片4M 字节的NOR FLASH,以上芯片均为5V 供电。

第三节硬件设计3.1 系统的硬件构成及功能W241024A是128K ×8 位的静态RAM,共需17 根地址线,其A0~A7 接经CPLD 锁存输出的A0~A7,A8~A14 接89C52 的A 8 ~ A 1 4 ,A 1 5 、A 1 6 分别接C P L D 输出的S R A M _ A 1 5 、SRAM_A16;M29F032D是4M ×8 位的NOR 型FLASH,共需22 根地址线。

A0~A14 的接法与W241024A 的相同,A15~A21接经CPLD 锁存输出AL15~AL21;所有数据存储器的读写控制线与M C U 相应的读写控制线相连。

S R A M 和F L A S H 的片选信号由C P L D 内部译码产生:/ C S _ S R A M 接S R A M 的片选,/ C S _ F L A S H 接F L A S H 的片选。

3.2硬件的系统组成3.2.1、W241024AW 2 4 1 0 2 4 A 是1 2 8 K x 8 位的静态R A M,共需1 7 根地址线,其A O - A 7 接经 C P L D 锁存输出的 A O - A 7 , A 8 - A 1 4 接8 9 C 5 2 的A 8 - A 1 4 , A 1 5 , A 1 6 分别接C P L D输出的S R A M- A 1 5 , SRAM-A16; M 2 9 F O 3 2 D 是4 M x 8 位的N O R型F L A S H ,共需2 2 根地址线。

A O - A 1 4 的接法与W 2 4 1 0 2 4 A 的相同,A 1 5 - A 2 1接经 C P L D 锁存输出的A L 1 5 - A L 2 1 ; 所有数据存储器的读写控制线与M C U相应的读写控制线相连。

S R A M 和 F L A S H的片选信号由 C P L D内部译码产生: / C S - S R A M 接S R A M 的片选,/ C S - F L A S H接 F L A S H的片选。

3.2.2、CPLD的功能实现CPLD就是复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)。

CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。

CPLD主要是由可编程逻辑宏单元(MC,Macro Cell)围绕中心的可编程互连矩阵单元组成。

其中MC 结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。

由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。

使用CPLD 器件可以提高系统设计的灵活性,并且可以简化电路设计,节省很多常规电路中的接口器件和I/O 口线。

系统将单片机的地址线、各种控制和状态信号均引入CPLD,实现系统的地址译码和部分I/O 控制。

系统中C P L D 采用的是MAX7000 系列的EPM7128STC100 -10。

AL15~AL22 为系统锁存出来的高8 位地址,该地址锁存器的地址为:0x7F00;状态缓冲器地址为:0x7F20,通过状态缓冲器可以读取FLASH 的当前状态,判断FLASH 当前状态是忙还是空闲,如果应用系统中还有其它状态信号可以接至该状态缓冲器的输入端。

/CS2~/CS7 可以用作其他器件的片选。

3.2.3、AT89C52简介89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器和256byte的随机数据存储器,器件采用ATMEL公司高密度\非易失性存储技术生产,与标准的51指令系统以8052产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大89C52单片机适合于许多较为复杂控制应用场合.主要性能参数:.与MCS-51产品指令和引脚完全兼容.8K字节可重擦写FLASH闪速存储器.1000次擦写周期.全静态操作:0Hz-24 Hz.三级加密程序存储器.256*8字节内部RAM .32个可编程I/O口线.3个16位定时/计数器.8个中断源.可编程串行UART通道.低功耗空闲和掉电模式功能特性概述:AT89C52提供以下标准功能:8K字节FLASH闪存存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路.同时,AT89C52可降至0 Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

引脚功能说明.vcc:电源电压.GND:地.P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据复用,在访问期间激活内部上拉电阻。

在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

.P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流。

.P2口:P2是一个带有内部上拉电阻的双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口P2写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。

在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。

FLASH编程或校验时,P2亦接收高位地址和一些控制信号。

.P3口:P3口是一组带有内部上拉电阻的双向8位I/O。

P3口输出缓冲级可驱动4个TTL逻辑门电路。

对P3口写“1”时,它们被内部上拉电阻拉高并可作为输入端口。

此时,被外部拉低的P3口将用上拉电阻输出电流。

P3口除了作为一般的I/O线外,更重要的用途是它的第二功能端口引脚第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行口输出口)P3.2 INT0 (外中断0)P3.3 INT1(外中断1)P3.4 T0(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器选通).RST:复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

.ALE/PROG:当访问外部程序存储器或数据存储器时,ALE输出脉冲用于所村地址的8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外时钟或用于定时目的。

要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

.PSEN:程序储存允许输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令时,每个机器周期两次有效,即输出两个脉冲。

在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

.EA/VPP外部访问允许。

欲使CPU仅访问外部程序存储器,EA端必须保持低电平。

.XTAL1:振荡器反向放大的及时内部时钟发生器的输入端。

.XTAL2:振荡器反向放大的输出端。

.特殊功能寄存器:在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器。

AT89C52除了与AT89C51所有的定时/计数器和定时/计数器外,还增加了一个定时/计数器2。

定时/计数器2的控制和状态位位于T2CON T2MOD,寄存器对是定时器2在16位捕捉或16位自动重装方式下捕捉/自动重装载寄存器。

相关文档
最新文档