- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章89C51单片机扩展存储器的设计
8.1 系统扩展结构 89C51系统扩展结构如下图所示。 89C51单片机采用并行总线结构,大大增加了系统的灵活性,使扩展易于实现,各扩展部件只要符合总线规范,就能很方便地接入系统。 由于系统扩展是以89C51单片机为核心,通过总线把89C51与各扩展部件连接起来。因此,要进行系统扩展首先要构造系统总线。 8.1.1 系统总线及总线构造 按功能通常把系统总线分为三组: 1.地址总线(Adress Bus,AB) 地址总线用于传送单片机发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器选择。地址总线是单向传输的。 2.数据总线(Data Bus,DB) 数据总线用于在单片机与存储器之间或与I/O端口之间传送数据。数据总线是双向的,可以进行两个方向的传送。 3.控制总线(Control Bus,CB) 控制总线实际上就是单片机发出的各种控制信号线。 8.1.2 构造系统总线 系统扩展的首要问题,构造系统总线。系统总线上“挂”存储器芯片或I/O接口芯片: “挂”存储器芯片就是存储器扩展 “挂”I/O接口芯片就是I/O扩展。 1.以P0口作为低8位地址/数据总线 89C51由于受引脚数目的限制,数据线和低8位地址线复用。为了将它们分离出来,需要外加地址锁存器,从而构成与一般CPU相类似的片外三总线,见图。 2. 以P2口的口线作为高位地址线 P2口的全部8位口线用作高位地址线,再加上P0口经地址锁存器提供的低8位地址,便形成了完整的16位地址总线(见图8-2),使寻址范围达到64KB。 3.控制信号线 除了地址线和数据线之外,还要有系统的控制总线。这些信号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信号。其中包括: (1)PSEN*信号作为外扩程序存储器的读选通控制信号。 (2)RD*和WR*信号作为外扩数据存储器和I/O接口的读、写选通控制信号。 (3)ALE信号作为低8位地址的锁存控制信号。 (4)EA*信号作为内、外程序存储器的选择控制信号。 可看出,尽管89C51单片机有4个并行的I/O口,共32条口线,但由于系统扩展的需要,真正作为数字I/O使用的,就剩下P1口和P3口的部分口线了。 8.2 地址空间分配和外部地址锁存器 8.2.1 存储器地址空间分配 如何把外部各自的64KB空间分配给各个程序存储器、数据存储器芯片,并且使程序存储器的各个芯片之间,数据存储器各芯片之间,为避免发生数据冲突,一个存储器单元对应一个地址,这就是存储器的地址空间的分配问题。 在外扩的多片存储器芯片中,89C51要完成这种功能,必须进行两种选择: 一是必须选中该存储器芯片(或I/O接口芯片),这称为“片选”,只有被“选中”的存储器芯片才能被89C51读出或写入数据。为了片选的需要,每个存储器芯片都有片选信号引脚, 二是在“片选”的基础上再选择该芯片的某一单元,称为“单元选择”。 常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面分别介绍。 1.线选法 直接利用系统的高位地址线作为存储器芯片(或I/O接口芯片)的“片选”控制信号。为此,只需要把用到的高位地址线与存储器芯片的“片选”端直接连接即可。 线选法的优点是电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。缺点是可寻址的芯片数目受到限制。 另外,地址空间不连续,每个存储单元的地址不唯一,不能充分有效地利用存储空间,这会给程序设计带来一些不便,只适用于外扩芯片数目不多的单片机系统的存储器扩展。 2.译码法 使用译码器对89C51的高位地址进行译码,将译码器的译码输出作为存储器芯片的片选信号。是最常用的地址空间分配的方法,它能有效地利用存储器空间,适用于多芯片的存储器扩展。 常用的译码器芯片有74LS138(3-8译码器)74LS139(双2-4译码器)74LS154(4-16译码器)。若全部高位地址线都参加译码,称为全译码;若仅部分高位地址线参加译码,称为部分译码。部分译码存在着部分存储器地址空间相重叠的情况。 两种常用的译码器芯片。 (1)74LS138 74LS138是3-8译码器,有3个数据输入端,经译码产生8种状态。其引脚如图8-3所示,真值表如表8-1所示。 由表8-1可见,当译码器的输入为某一固定编码时,其输出仅有一个固定的引脚输出为低电平,其余的为高电平。而输出为低电平的引脚就作为某一存储器芯片的片选端的控制信号。 表8-1 74LS138译码器真值表 输 入
文档评论(0)