欢迎来到天天文库
浏览记录
ID:58955258
大小:2.27 MB
页数:83页
时间:2020-09-28
《2019单片机原理及应用(陈燕)第8章扩展存储器ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章AT89S51单片机外部存储器的扩展1内容概要许多情况,片内的存储器资源还不能满足需要,为此需AT89S51单片机进行外部程序存储器和外部数据存储器的扩展。由于有时需要扩展多片芯片,首先介绍AT89S51单片机的两个外部存储器空间的地址分配的两种方法,即线选法和译码法。最后介绍扩展外部程序存储器和外部数据存储器的具体设计。28.1系统扩展结构AT89S51单片机采用总线结构,使扩展易于实现,AT89S51单片机系统扩展结构如图8-1所示。图8-1AT89S51单片机的系统扩展结构3由图8-1可以看出,系统扩展主要包括存储器扩展和I/O接口部件扩展。AT89S51
2、单片机的存储器扩展即包括程序存储器扩展又包括数据存储器扩展。AT89S51单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。系统扩展是以AT89S51为核心,通过总线把单片机与各扩展部件连接起来。因此,要进行系统扩展首先要构造系统总线。系统总线按功能通常分为3组,如图8-1所示。4(1)地址总线(AddressBus,AB):用于传送单片机发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单元的选择。(2)数据总线(DataBus,DB):用于单片机与外部存储器之间或与I/O接口之间传送数据,数据总线是双向的
3、。(3)控制总线(ControlBus,CB):控制总线是单片机发出的各种控制信号线。5如何来构造系统的三总线。1.P0口作为低8位地址/数据总线AT89S51受引脚数目限制,P0口既用作低8位地址总线,又用作数据总线(分时复用),因此需增加一个8位地址锁存器。AT89S51访问外部扩展的存储器单元或I/O接口寄存器时,先发出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位地址(A7~A0)。随后,P0口又作为数据总线口(D7~D0),如图8-2所示。2.P2口的口线作为高位地址线P2口用作系统的高8位地址线,再加上地址锁存器提供的低8位地址,便形成了系统完整的1
4、6位地址总线。6使单片机系统的寻址范围达到64KB。图8-2AT89C51单片机扩展的片外三总线73.控制信号线除地址线和数据线外,还要有系统的控制总线。这些信号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信号。包括:(1)作为外扩程序存储器的读选通控制信号。(2)和为外扩数据存储器和I/O的读、写选通控制信号。(3)ALE作为P0口发出的低8位地址锁存控制信号。(4)为片内、片外程序存储器的选择控制信号。可见,AT89S51的4个并行I/O口,由于系统扩展的需要,真正作为数字I/O用,就剩下P1和P3的部分口线了。88.2地址空间分配和外部地址锁存器本节讨
5、论如何进行存储器空间的地址分配,并介绍用于输出低8位地址的常用的地址锁存器。8.2.1存储器地址空间分配实际系统设计中,既需要扩展程序存储器,又需要扩展数据存储器,如何把片外的两个64KB地址空间分配给各个程序存储器、数据存储器芯片,使一个存储单元只对应一个地址,避免单片机发出一个地址时,同时访问两个单元,发生数据冲突。这就是存储器地址空间分配问题。9AT89S51单片机发出的地址码用于选择某个存储器单元,外扩多片存储器芯片中,单片机必须进行两种选择:一是选中该存储器芯片,这称为“片选”,未被选中的芯片不能被访问。二是在“片选”的基础上再根据单片机发出的地址码来对“选中
6、”芯片的某一单元进行访问,即“单元选择”。为实现片选,存储器芯片都有片选引脚。同时也都有多条地址线引脚,以便进行单元选择。注意,“片选”和“单元选择”都是单片机通过地址线一次发出的地址信号来完成选择。通常把单片机系统的地址线笼统地分为低位地址线和高位地址线,“片选”都是使用高位地址线。实际上,16条地址线中的高、低位地址线的数目并不是固定的,只是习惯上把用于“单元选择”的地址线,都称为低位地址线,其余的为高位地址线。10常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面介绍。1.线选法是直接利用系统的某一高位地址线作为存储器芯片
7、(或I/O接口芯片)的“片选”控制信号。为此,只需要把用到的高位地址线与存储器芯片的“片选”端直接连接即可。线选法优点是电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。缺点是可寻址的芯片数目受到限制。另外,地址空间不连续,每个存储单元的地址不唯一,这会给程序设计带来不便,只适用于外扩芯片数目不多的单片机系统的存储器扩展。112.译码法使用译码器对AT89S51单片机的高位地址进行译码,译码输出作为存储器芯片的片选信号。这种方法能够有效地利用存储器空间,适用于多芯片的存储器扩展。常用的译码器芯片有74LS138(3线-8线译码器
此文档下载收益归作者所有