C单片机扩展存储器设计

上传人:ap****ve 文档编号:118697991 上传时间:2019-12-23 格式:PPT 页数:63 大小:1.28MB
返回 下载 相关 举报
C单片机扩展存储器设计_第1页
第1页 / 共63页
C单片机扩展存储器设计_第2页
第2页 / 共63页
C单片机扩展存储器设计_第3页
第3页 / 共63页
C单片机扩展存储器设计_第4页
第4页 / 共63页
C单片机扩展存储器设计_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《C单片机扩展存储器设计》由会员分享,可在线阅读,更多相关《C单片机扩展存储器设计(63页珍藏版)》请在金锄头文库上搜索。

1、第8章 89C51单片机扩展存储器的设计 8.1 系统扩展结构 AT89C51系统并行扩展结构如图8-1所示。 图8-1 由图8-1可以看出,系统扩展主要包括存储器扩展和I/O接口 部件扩展。 外部存储器扩展又包括程序存储器扩展和数据存储器扩展。 AT89C51采用的是哈佛结构。扩展后,系统形成了两个并 行的外部存储器空间。 89C51单片机采用并行总线结构,大大增加了系统的灵活性 ,使扩展易于实现,各扩展部件只要符合总线规范,就 能很方便地接入系统。 由于系统扩展是通过总线把AT89C51与各扩展部件连接起来 。因此,要进行系统扩展首先要构造系统总线。 系统总线按功能分为三组,如图8-1所示

2、。 (1)地址总线(Adress Bus,AB) 地址总线用于传送单片机发出的地址信号,以便进行存储单元 和I/O接口芯片中的寄存器选择。地址总线是单向传输的。 (2)数据总线(Data Bus,DB) 数据总线用于在单片机与存储器之间或与I/O端口之间传送数 据。数据总线是双向的,可以进行两个方向的传送。 (3)控制总线(Control Bus,CB) 控制总线实际上就是单片机发出的各种控制信号线。 下面讨论如何构造系统三总线 1以P0口作为低8位地址/数据总线 AT89C51由于受引脚数目的限制,数据线和低8位地址线复用。 为了将它们分离出来,需要外加地址锁存器,从而构成与一般 CPU相类

3、似的片外三总线,见图8-2。 图8-2 2. 以P2口的口线作为高位地址线 P2口的全部8位口线用作高位地址线,再加上P0口经地址锁存 器提供的低8位地址,便形成了完整的16位地址总线(见图8 -2),使寻址范围达到64KB。 3控制信号线 除了地址线和数据线之外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。其中包括: (1)PSEN*信号作为外扩程序存储器的读选通控制信号。 (2)RD*和WR*信号作为外扩数据存储器和I/O接口的读、写选 通控制信号。 (3)ALE信号作为低8位地址的锁存控制信号。 (4)EA*信号作为内、外程序存储器的选

4、择控制信号。 可看出,尽管89C51单片机有4个并行的I/O口,共32条口线, 但由于系统扩展的需要,真正作为数字I/O使用的,就剩下 P1口和P3口的部分口线了。 8.2 地址空间分配和外部地址锁存器 8.2.1 存储器地址空间分配 如何把外部各自的64KB空间分配给各个程序存储器、数据存储 器芯片,并且使程序存储器的各个芯片之间,数据存储器各 芯片之间,为避免发生数据冲突,一个存储器单元对应一个 地址,这就是存储器的地址空间的分配问题。 在外扩的多片存储器芯片中,AT89C51要完成这种功能,必须进 行两种选择: 一是必须选中该存储器芯片(或I/O接口芯片),这称为“片选” ,只有被“选中

5、”的存储器芯片才能被AT89C51读出或写入数 据。为了片选的需要,每个存储器芯片都有片选信号引脚, 二是在“片选”的基础上再选择该芯片的某一单元,称为“单元选 择”。 常用的存储器地址空间分配方法有两种:线性选择法(简 称线选法)和地址译码法(简称译码法),下面分别介 绍。 1线选法 直接利用系统的高位地址线作为存储器芯片(或I/O接口芯 片)的“片选”控制信号。为此,只需要把用到的高位地 址线与存储器芯片的“片选”端直接连接即可。 线选法的优点是电路简单,不需要另外增加地址译码器硬 件电路,体积小,成本低。 缺点是可寻址的芯片数目受到限制。 另外,地址空间不连续,每个存储单元的地址不唯一,

6、不 能充分有效地利用存储空间,这会给程序设计带来一些不便 ,只适用于外扩芯片数目不多的单片机系统的存储器扩展 。 2译码法 使用译码器对89C51的高位地址进行译码,将译码器的译码输 出作为存储器芯片的片选信号。是最常用的地址空间分配 的方法,它能有效地利用存储器空间,适用于多芯片的存 储器扩展。 常用的译码器芯片有74LS138(3-8译码器)74LS139(双2-4 译码器)74LS154(4-16译码器)。若全部高位地址线都参 加译码,称为全译码;若仅部分高位地址线参加译码,称 为部分译码。部分译码存在着部分存储器地址空间相重叠的情 况。 两种常用的译码器芯片。 (1)74LS138 7

7、4LS138是3-8译码器,有3个数据输入端,经译码产生8种状态 。其引脚如图8-3所示,真值表如表8-1所示。 由表8-1可见,当译码器的输入为某一固定编码时,其输出仅 有一个固定的引脚输出为低电平,其余的为高电平。而输 出为低电平的引脚就作为某一存储器芯片的片选端的控制 信号。 图8-3 表8-1 74LS138译码器真值表 输 入 输 出 G1 G2A* G2B* C B A Y7* Y6* Y5* Y4* Y3* Y2* Y1* Y0* (2)74LS139 74LS139是双2-4译码器。两个译码器完全独立,分别有各自的 数据输入端、译码状态输出端以及数据输入允许端。其引脚 如图8-

8、4所示,真值表如表8-2所示(见P138)。 图8-4 下面以74LS138为例,介绍如何进行地址分配。 例 要扩8片8KB的RAM 6264,如何通过74LS138把64KB空间分 配给各个芯片? 64KB地址空间的分配如图8-5所示。 图8-5 采用全地址译码方式,单片机发地址码时,每次只能选中一个 存储单元。同类存储器间不会产生地址重叠的问题。 如果用74LS138把64K空间全部划分为每块4KB,如何划分呢? 由于4KB空间需要12条地址线进行“单元选择”,而译码器的 输入有3条地址线(P2.6P2.4),P2.7没有参加译码, P2.7发出的0或1决定了选择64KB存储器空间的前32

9、KB还是后 32KB,由于P2.7没有参加译码,就不是全译码方式,这样前 后两个32KB空间就重叠了。 那么,这32KB空间利用74LS138译码器可划分为8个4KB空间。 如果把P2.7通过一个非门与74LS138译码器的G1端连接起来 ,如图8-6所示,就不会发生两个32KB空间重叠的问题了。 8.2.2 外部地址锁存器 地址锁存器芯片: 74LS373、8282、74LS573等。 1. 锁存器74LS373 带有三态门的8D锁存器,其引脚及内部结构如图8-7和图8-8。 89C51与74LS373的连接如图8-9所示。 图8-6 引脚说明如下: D7D0: 8位数据输入线。 Q7Q0:

10、 8位数据输出线。 G: 数据输入锁存选通信号, 图8-7图8-8 OE*: 数据输出允许信号 图8-9 74LS373功能如表8-3所示。 表8-3 74LS373功能表 OE* GDQ 0111 0100 00不变 1高阻态 2锁存器74LS573 输入的D端和输出的Q端依次排在芯片的两侧,为绘制印刷电 路板时的布线提供了方便。 图8-10 74LS573的各引脚说明如下: D7D0:8位数据输入线。 Q7Q0:8位数据输出线。 G :数据输入锁存选通信号,该引脚与74LS373的G端功能相同 。 OE*:数据输出允许信号,低电平有效。当该信号为低电平时 ,三态门打开,锁存器中数据输出到数

11、据输出线。当该信 号为高电平时,输出线为高阻态。 8.3 程序存储器EPROM的扩展 采用只读存储器,非易失性。 (1)掩膜ROM 在制造过程中编程。成本较高,因此只适合于大批量生产。 (2)可编程ROM(PROM) 用独立的编程器写入。但PROM只能写入一次,且不能再修改。 (3)EPROM 电信号编程,紫外线擦除的只读存储器芯片。 (4)E2PROM( EEPROM) 电信号编程,电信号擦除的ROM芯片。读写操作与RAM几乎没有什 么差别,只是写入的速度慢一些。但断电后能够保存信息。 (5)Flash ROM 又称闪烁存储器,简称闪存。大有取代E2PROM的趋势。 目前许多公司生产的以80

12、51为内核的单片机,在芯片内部大 多集成了数量不等的Flash ROM。 例如,美国ATMEL公司生产的与51系列单片机兼容的产品 89C2051/89C51/89C52/89C55,片内分别有 2KB/4KB/8KB/20KB的Flash ROM,来作为EPROM使用。 对于这类单片机,在片内的Flash ROM满足要求的情况下,扩 展外部程序存储器的工作就可省去。 8.3.1 常用EPROM芯片 典型芯片是27系列产品,例如, 2764(8KB8)、27128( 16KB8)、27256(32KB8)、27512(64KB8)。 “27” 后面的数字表示其位存储容量。 随着大规模集成电路技

13、术的发展,大容量存储器芯片的产量剧 增,售价不断下降,其性价比明显增高,而且由于有些厂家 已停止生产小容量的芯片,使市场上某些小容量芯片的价格 反而比大容量芯片还贵。 所以,在扩展程序存储器设计时,应尽量采用大容量芯片。 1.常用的EPROM芯片 27系列EPROM芯片的引脚如图8-11所示,参数见表8-4(P143, 略)。 图8-11中的引脚功能如下: A0A15:地址线引脚。数目决定存储容量来定,用来进行单元 选择。 D7D0:数据线引脚 CE*:片选输入端 OE* :输出允许控制端 PGM*:编程时,加编程脉冲的输入端 Vpp:编程时,编程电压(+12V或+25V)输入端 Vcc:+5

14、V,芯片的工作电压。 GND:数字地。 NC:无用端 表8-4所示为27系列EPROM芯片的技术参数,其中VCC是芯片供 电电压,Vpp是编程电压,Im为最大静态电流,Is为维持电 流,TRM为最大读出时间。 图8-11 2. EPROM芯片的工作方式 5种工作方式如表8-5所示。 (1)读出方式 片选控制线为低,同时输出允许控制线为低,Vpp为+5V, 指定地址单元的内容从D7D0上读出。 (2)未选中方式 片选控制线为高电平。 (3)编程方式 Vpp端加上规定高压, CE*和OE*端加合适电平(不同的芯片 要求不同),就能将数据线上的数据写入到指定的地址单 元。 (4)编程校验方式 (5)

15、编程禁止方式 输出呈高阻状态,不写入程序。 8.3.2 程序存储器的操作时序 1. 访问程序存储器的控制信号 (1)ALE (2)PSEN* (3)EA* 如果指令是从片外EPROM中读取,ALE用于低8位地址锁存, PSEN*接外扩EPROM的OE*脚。 P0口:分时低8位地址总线和数据总线,P2口:高8位地址线。 2. 操作时序 (1) 应用系统中无片外RAM 图8-12(a) (2) 应用系统中接有片外RAM 图8-12(b) 由图8-12(b)可看出: (1)将ALE用作定时脉冲输出时,执行一次MOVX指令就会丢失 一个脉冲。 (2)只有在执行MOVX指令时的第二个机器周期期间,地址总

16、线 才由数据存储器使用。 8.3.3 AT89C51与EPROM的接口电路设计 1. 硬件接口电路 设计时,由于EPROM在正常使用中只能读出,不能写入,故 EPROM芯片没有写入控制脚,只有读出控制脚,记为OE*,它 与89C51单片机的PSEN*相连,地址线、数据线分别与89C51的 地址线、数据线相连,片选端的控制可采用线选法或译码法 。图8-13为外扩一片27128的接口电路图 。 图8-13 3. 使用多片EPROM的扩展电路 AT89C51扩展4片27128。 图8-14 图8-14中的片选控制信号由译码器产生。4片27128各自所占的 地址空间,请读者自己分析。 8.4 静态数据存储器的扩展 在单片机应用系统中,外扩的数据存

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号