单片机原理及接口技术 C51编程 教学课件 ppt 作者 张毅刚 第8章 扩展存储器

上传人:E**** 文档编号:89354963 上传时间:2019-05-23 格式:PPT 页数:90 大小:2.13MB
返回 下载 相关 举报
单片机原理及接口技术 C51编程  教学课件 ppt 作者  张毅刚 第8章  扩展存储器_第1页
第1页 / 共90页
单片机原理及接口技术 C51编程  教学课件 ppt 作者  张毅刚 第8章  扩展存储器_第2页
第2页 / 共90页
单片机原理及接口技术 C51编程  教学课件 ppt 作者  张毅刚 第8章  扩展存储器_第3页
第3页 / 共90页
单片机原理及接口技术 C51编程  教学课件 ppt 作者  张毅刚 第8章  扩展存储器_第4页
第4页 / 共90页
单片机原理及接口技术 C51编程  教学课件 ppt 作者  张毅刚 第8章  扩展存储器_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《单片机原理及接口技术 C51编程 教学课件 ppt 作者 张毅刚 第8章 扩展存储器》由会员分享,可在线阅读,更多相关《单片机原理及接口技术 C51编程 教学课件 ppt 作者 张毅刚 第8章 扩展存储器(90页珍藏版)》请在金锄头文库上搜索。

1、第8章 AT89S51单片机 外部存储器的扩展,1,内容概要 AT89S51单片机片内集成4KB程序存储器和128B的数据存储器,有些情况下,片内存储器资源还不能满足需要,需扩展外部程序存储器或外部数据存储器。 由于有时需要扩展多片芯片,本章首先介绍AT89S51单片机的两个外部存储器空间的地址分配的两种方法,即线选法和译码法。最后介绍扩展外部程序存储器和外部数据存储器的具体设计。,2,8.1 系统扩展结构 AT89S51单片机采用总线结构,使扩展易于实现,AT89S51单片机系统扩展结构如图8-1所示。 图8-1 AT89S51单片机的系统扩展结构,3,由图8-1可以看出,系统扩展主要包括存

2、储器扩展和I/O接口部件扩展。 AT89S51的存储器扩展即包括程序存储器扩展又包括数据存储器扩展。AT89S51采用的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。 系统扩展是以AT89S51为核心,通过总线把单片机与各扩展部件连接起来。因此,要进行系统扩展首先要构造系统总线。 系统总线按功能通常分为3组,如图8-1。,4,(1)地址总线(Address Bus,AB):用于传送单片机发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单元的选择。 (2)数据总线(Data Bus,DB):用于单片机与外部存储器之间或与I/O接口之间传送数据,数据总线是双向的。 (3)控制总线

3、(Control Bus,CB):控制总线是单片机发出的各种控制信号线。,如何来构造系统的三总线。 1P0口作为低8位地址/数据总线 AT89S51引脚数目限制,P0口既用作低8位地址总线,又用作数据总线(分时复用),因此需增加一个8位地址锁存器。AT89S51访问外部扩展的存储器单元或I/O接口寄存器时,先发出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位地址(A7 A0)。随后,P0口又作为数据总线口(D7 D0),如图8-2。 2P2口的口线作为高位地址线 P2口用作系统的高8位地址线,再加上地址锁存器提供的低8位地址,便形成了完整的16位地址总线。,6,使单片机系统的寻址范围达

4、到64KB。,7,图8-2 AT89C51单片机扩展的片外三总线,3控制信号线 除地址线和数据线外,还要有系统的控制总线。这些信号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信号。包括: (1) PSEN*作为外扩程序存储器的读选通控制信号; (2) RD*和WR*为外扩数据存储器和I/O的读、写选通控制信号; (3)ALE作为P0口发出的低8位地址锁存控制信号; 可见,AT89S51的4个并行I/O口,由于系统扩展的需要,真正作为数字I/O用,就剩下P1和P3的部分口线了。,8,8.2 地址空间分配和外部地址锁存器 本节讨论如何进行存储器空间的地址分配,并介绍用于输出低8位地址的

5、地址锁存器。 8.2.1 存储器地址空间分配 实际设计中,有时需扩展程序存储器,又需要扩展数据存储器,如何把片外的两个64KB地址空间分配给各个程序存储器、数据存储器芯片,使一个存储单元只对应一个地址,避免单片机发出一个地址时,同时访问两个单元,发生数据冲突。这就是存储器地址空间分配问题。,9,AT89S51发出的地址码用于选择某个存储器单元,外扩多片存储器芯片中,单片机必须进行两种选择:一是选中该存储器芯片,这称为“片选”,未被选中的芯片不能被访问。二是在“片选”的基础上再根据单片机发出的地址码来对“选中” 芯片的某一单元进行访问,即“单元选择”。 为实现片选,存储器芯片都有片选引脚。同时也

6、都有多条地址线引脚,以便进行单元选择。注意,“片选”和“单元选择”都是单片机通过地址线一次发出的地址信号来完成选择。 通常把单片机系统的地址线笼统地分为低位地址线和高,10,位地址线,“片选”都是使用高位地址线。实际上,16条地址线中的高、低位地址线的数目并不固定,只是习惯上把用于 “单元选择”的地址线,都称为低位地址线,其余的为高位地址线。 常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面介绍。 1线选法 是直接利用系统的某一高位地址线作为存储器芯片(或I/O接口芯片)的“片选”控制信号。为此,只需要把用到的高位地址线与存储器芯片的“片选”端直接连

7、接即可。,线选法优点是电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。缺点是可寻址的芯片数目受到限制。另外,地址空间不连续,每个存储单元的地址不唯一,这会给程序设计带来不便,只适用于外扩芯片数目不多的单片机系统的存储器扩展。 2译码法 使用译码器对AT89S51单片机的高位地址进行译码,译码输出作为存储器芯片的片选信号。这种方法能够有效地利用存储器空间,适用于多芯片的存储器扩展。常用的译码器芯片有74LS138(3-8译码器)、74LS139(双2-4译码器)和74LS154(4-16译码器)。,12,若全部高位地址线都参加译码,称全译码;仅部分高位地址线参加译码,称部分译码。部分

8、译码存在着部分存储器地址空间相重叠的情况。 下面介绍常用的译码器芯片。 (1)74LS138 3-8译码器,有3个数据输入端,经译码产生8种状态。引脚如图8-3,真值表如表8-1。由表8-1见,当译码器的输入为某一固定编码时,其输出仅有一个固定的引脚输出为低电平,其余的为高电平。输出为低电平的引脚就作为某一存储器芯片的片选信号。,13,14,(2)74LS139 双2-4译码器。两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端,其引脚如图8-4,真值表如表8-2(只给出其中的一组)。 图8-3 74LS138引脚图 图8-4 74LS139引脚图,15,以74LS1

9、38为例,如何进行地址分配。 例如,要扩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.4P2.0,P0.7P0.0)完成对选中的6264芯片中的各个存储单元的“单元选择”。这样就把64KB存储器空间分成8个8KB空间了。,17,64KB地址空间分配如图8-5。 图8-

10、5 64KB地址空间划分成8个8KB空间 这里采用全地址译码方式。因此,AT89S51发出16位地址时,每次只能选中某一芯片及该芯片的一个存储单元,18,如何用74LS138把64KB空间全部划分为4KB的块呢?4KB空间需12条地址线,而译码器输入只有3条地址线(P2.6P2.4),P2.7没有参加译码,P2.7发出的0或1决定选择64KB存储器空间的前32KB还是后32KB,由于P2.7没有参加译码,就不是全译码方式,前后两个32KB空间就重叠了。那么,这32KB空间利用74LS138译码器可划分为8个4KB空间。 如果把P2.7通过一个非门与74LS138译码器G1端连接起来,如图8-6

11、,就不会发生两个32KB空间重叠的问题了。这时,选中的是64KB空间的前32KB空间,地址范围,19,为0000H7FFFH。如果去掉图8-6中的非门,地址范围为8000HFFFFH。把译码器的输出连到各个4KB存储器的片选端,这样就把32KB空间划分为8个4KB空间。P2.3P2.0,P0.7P0.0实现“单元选择”,P2.6P2.4通过74LS138译码实现对各存储器芯片的片选。 采用译码器划分的地址空间块都是相等的,如果将地址空间块划分为不等的块,可采用可编程逻辑器件FPGA对其编程来代替译码器进行非线性译码。,21,图8-6 存储器空间被划分成每块4KB,8.2.2 外部地址锁存器 受

12、引脚数的限制,P0口兼用数据线和低8位地址线,为了将它们分离出来,需在单片机外部增加地址锁存器。目前,常用的地址锁存器芯片有74LS373、74LS573等。 1锁存器74LS373 带三态门的8D锁存器,其引脚如图8-7,内部结构如图8-8。AT89S51与74LS373锁存器的连接如图8-9所示。,22,23,图8-7 锁存器74LS373的引脚,图8-8 74LS373的内部结构,24,25,图8-9 AT89S51的P0口与74LS373的连接,引脚说明: D7D0:8位数据输入线, Q7Q0:8位数据输出线。 G:数据输入锁存选通信号。当该引脚的信号为高时,外部数据选通到内部锁存器,

13、负跳变时,数据锁存到锁存器中。 OE*:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。 74LS373锁存器功能如表8-3。,26,27,图8-10 锁存器74LS573的引脚,2锁存器74LS573 也是一种带有三态门的8D锁存器,功能及内部结构与74LS373完全一样,只是其引脚排列与74LS373不同,图8-10为74LS573引脚图。 由图8-10,与74LS373相比,74LS573的输入D端和输出Q端依次排列在芯片两侧,为绘制印制电路板提供方便 引脚说明: D7D0:8位数据输入线。 Q7Q0:8位数

14、据输出线。 G :数据输入锁存选通信号,该引脚与74LS373的G端功 能相同。,28,OE*:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。 8.3 程序存储器EPROM的扩展 程序存储器为只读存储器,因为这种存储器在电源关断后,仍能保存程序(非易失性的),系统上电后,CPU可取出这些指令重新执行。,只读存储器简称ROM(Read Only Memory)。ROM中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器。 向ROM中写入信息称为ROM编程。根据编程方式不同,分以

15、下几种。 (1)掩膜ROM。制造过程中编程,以掩膜工艺实现,因此称为掩膜ROM。这种芯片存储结构简单,集成度高,但由于掩膜工艺成本较高,因此只适合于大批量生产。,30,(2)可编程ROM(PROM)。芯片出厂时没有任何程序信息,用独立编程器写入。但PROM只能写一次,写入内容后,就不能再修改。 (3)EPROM。用紫外线擦除,用电信号编程。在芯片外壳的中间位置有一个圆形窗口,对该窗口照射紫外线就可擦除原有的信息。使用编程器可将调试完毕的程序写入。 (4)E2PROM(EEPROM)。一种用电信号编程,也用电信号擦除的ROM芯片。对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入速

16、度慢一些,但断电后仍能保存信息。,31,(5)Flash ROM。 又称闪烁存储器(简称闪存),是电擦除型只读存储器。特点是可快速在线修改其存储单元中的数据,改写次数可达1万次,其读写速度很快,存取时间可达70ns,而成本比E2PROM低得多,大有取代E2PROM的趋势。 目前许多公司生产的8051内核的单片机,在芯片内部大多集成了数量不等的Flash ROM。 例如,美国ATMEL公司产品AT89C5x/AT89S5x,片内有不同容量的Flash ROM。在片内的Flash ROM满足要求下,扩展外部程序存储器可省去。,32,8.3.1 常用的EPROM芯片 使用较多的是并行EPROM,首先介绍常用EPROM芯片。 EPROM的典型芯片是27系列产品,例如,2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。型号 “27”后面的数字表示其位存储容量。如果换算成字节容量,只需将该数字除以8即可。 例如,“27128”中的“27”后的数字 “128”,128/8 =

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

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

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