文档介绍:该【第八章扩展存储器 】是由【孔乙己】上传分享,文档一共【80】页,该文档可以免费在线阅读,需要了解更多关于【第八章扩展存储器 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第八章扩展存储器
除地址线和数据线外,还要有系统的控制总线。这些信号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信号。包括:
(1)作为外扩程序存储器的读选通控制信号。
(2)和为外扩数据存储器和I/O的读、写选通控制信号。
(3)ALE作为P0口发出的低8位地址锁存控制信号。
(4)为片内、片外程序存储器的选择控制信号。
可见,AT89C51的4个并行I/O口,由于系统扩展的需要,真正作为数字I/O用,就剩下P1和P3的部分口线了。
*
本节讨论如何进行存储器空间的地址分配,并介绍用于输出低8位地址的常用的地址锁存器。
实际系统设计中,既需要扩展程序存储器,又需要扩展数据存储器,如何把片外的两个64KB地址空间分配给各个程序存储器、数据存储器芯片,使一个存储单元只对应一个地址,避免单片机发出一个地址时,同时访问两个单元,发生数据冲突。这就是存储器地址空间分配问题。
*
AT89C51单片机发出的地址码用于选择某个存储器单元,外扩多片存储器芯片中,单片机必须进行两种选择:一是选中该存储器芯片,这称为“片选”,未被选中的芯片不能被访问。二是在“片选”的基础上再根据单片机发出的地址码来对“选中”芯片的某一单元进行访问,即“单元选择”。
为实现片选,存储器芯片都有片选引脚。同时也都有多条地址线引脚,以便进行单元选择。注意,“片选”和“单元选择”都是单片机通过地址线一次发出的地址信号来完成选择。
通常把单片机系统的地址线笼统地分为低位地址线和高
*
位地址线,“片选”都是使用高位地址线。实际上,16条地址线中的高、低位地址线的数目并不是固定的,只是****惯上把用于“单元选择”的地址线,都称为低位地址线,其余的为高位地址线。
常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面介绍。
是直接利用系统的某一高位地址线作为存储器芯片(或I/O接口芯片)的“片选”控制信号。为此,只需要把用到的高位地址线与存储器芯片的“片选”端直接连接即可。
11
线选法优点是电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。缺点是可寻址的芯片数目受到限制。另外,地址空间不连续,每个存储单元的地址不唯一,这会给程序设计带来不便,只适用于外扩芯片数目不多的单片机系统的存储器扩展。
使用译码器对AT89C51单片机的高位地址进行译码,译码输出作为存储器芯片的片选信号。这种方法能够有效地利用存储器空间,适用于多芯片的存储器扩展。常用的译码器芯片有74LS138(3线-8线译码器)、74LS139(双2线-4线译码器)和74LS154(4线-16线译码器)。
*
若全部高位地址线都参加译码,称为全译码;若仅部分高位地址线参加译码,称为部分译码。部分译码存在着部分存储器地址空间相重叠的情况。
下面介绍常用的译码器芯片。
(1)74LS138
3线-8线译码器,有3个数据输入端,经译码产生8种状态。引脚如图8-3所示,真值表见表8-1。由表8-1可见,当译码器的输入为某一固定编码时,其输出仅有一个固定的引脚输出为低电平,其余的为高电平。输出为低电平的引脚就作为某一存储器芯片的片选信号。
*
*
(2)74LS139
双2线-4线译码器。这两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端,其引脚如图8-4所示,真值表见表8-2(只给出其中一组)。
图8-374LS138引脚图图8-474LS139引脚图
*
16