单片机原理及接口技术d第8章扩展存储器

上传人:工**** 文档编号:574105560 上传时间:2024-08-15 格式:PPT 页数:90 大小:1.12MB
返回 下载 相关 举报
单片机原理及接口技术d第8章扩展存储器_第1页
第1页 / 共90页
单片机原理及接口技术d第8章扩展存储器_第2页
第2页 / 共90页
单片机原理及接口技术d第8章扩展存储器_第3页
第3页 / 共90页
单片机原理及接口技术d第8章扩展存储器_第4页
第4页 / 共90页
单片机原理及接口技术d第8章扩展存储器_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《单片机原理及接口技术d第8章扩展存储器》由会员分享,可在线阅读,更多相关《单片机原理及接口技术d第8章扩展存储器(90页珍藏版)》请在金锄头文库上搜索。

1、第第8 8章章 AT89S51AT89S51单片机单片机 外部存储器的扩展外部存储器的扩展1单片机原理及接口技术d第8章扩展存储器内容概要内容概要AT89S51单单片片机机片片内内集集成成4KB程程序序存存储储器器和和128B的的数数据据存存储储器器,有有些些情情况况下下,片片内内存存储储器器资资源源还还不不能能满满足足需需要要,需需扩展外部程序存储器或外部数据存储器。扩展外部程序存储器或外部数据存储器。由由于于有有时时需需要要扩扩展展多多片片芯芯片片,本本章章首首先先介介绍绍AT89S51单单片片机机的的两两个个外外部部存存储储器器空空间间的的地地址址分分配配的的两两种种方方法法,即即线线选

2、选法法和和译译码码法法。最最后后介介绍绍扩扩展展外外部部程程序序存存储储器器和和外外部部数数据据存存储储器器的具体设计。的具体设计。2单片机原理及接口技术d第8章扩展存储器8.1系统扩展结构系统扩展结构AT89S51单片机采用总线结构,使扩展易于实现,AT89S51单片机系统扩展结构如图图8-1所示。图8-1AT89S51单片机的系统扩展结构3单片机原理及接口技术d第8章扩展存储器由图由图8-18-1可以看出,系统扩展主要包括存储器扩展和可以看出,系统扩展主要包括存储器扩展和I/OI/O接接口部件扩展。口部件扩展。AT89S51AT89S51的存储器扩展即包括程序存储器扩展又包括数据的存储器扩

3、展即包括程序存储器扩展又包括数据存储器扩展。存储器扩展。AT89S51AT89S51采用的哈佛结构。扩展后,系统形成采用的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。了两个并行的外部存储器空间。系统扩展是以系统扩展是以AT89S51AT89S51为核心,通过总线把单片机与各扩为核心,通过总线把单片机与各扩展部件连接起来。因此,要进行系统扩展首先要构造系统总展部件连接起来。因此,要进行系统扩展首先要构造系统总线。线。系统总线按功能通常分为系统总线按功能通常分为3 3组,如图组,如图8-18-1。4单片机原理及接口技术d第8章扩展存储器(1)地址总线)地址总线(AddressBus,AB

4、):用于传送单片机发发出的地址信号出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单元的选择。(2)数据总线)数据总线(DataBus,DB):用于单片机与外部存储器之间或与I/O接口之间传送数据,数据总线是双向的双向的。(3)控制总线)控制总线(ControlBus,CB):控制总线是单片机发出的各种控制信号线。单片机原理及接口技术d第8章扩展存储器如何来构造系统的三总线。1P0口作为低口作为低8位地址位地址/数据总线数据总线AT89S51引脚数目限制,P0口口既用作低8位地址总线,又用作数据总线(分时复用),因此需增加一个增加一个8位地址锁存器位地址锁存器。AT89S51访问外部扩

5、展的存储器单元或I/O接口寄存器时,先发先发出低出低8位地址位地址送地址锁存器锁存,锁存器输出作为系统的低8位地址(A7A0)。随后,P0口又作为数据总线口又作为数据总线口(D7D0),如图图8-2。2P2口的口线作为高位地址线口的口线作为高位地址线P2口用作系统的高高8位地址线位地址线,再加上地址锁存器提供的低8位地址,便形成了完整的16位地址总线。6单片机原理及接口技术d第8章扩展存储器使单片机系统的寻址范围达到64KB。图图8-2AT89C51单片机扩展的片外三总线单片机扩展的片外三总线7单片机原理及接口技术d第8章扩展存储器3控制信号线控制信号线除地址线和数据线外,还要有系统的控制总线

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

7、介绍用于输出低8位地址的地址锁存器地址锁存器。8.2.1存储器地址空间分配存储器地址空间分配实际设计中,有时需扩展程序存储器,又需要扩展数据存储器,如何把片外的两个如何把片外的两个64KB地址空间分配给各个程序存储地址空间分配给各个程序存储器、数据存储器芯片,器、数据存储器芯片,使一个存储单元只对应一个地址一个存储单元只对应一个地址,避免单片机发出一个地址时,同时访问两个单元,发生数据冲突。这就是存储器地址空间分配问题地址空间分配问题。9单片机原理及接口技术d第8章扩展存储器 AT89S51 AT89S51发出的地址码用于选择某个存储器单元,外扩发出的地址码用于选择某个存储器单元,外扩多片存储

8、器芯片中,单片机必须进行两种选择:一是选中该多片存储器芯片中,单片机必须进行两种选择:一是选中该存储器芯片,这称为存储器芯片,这称为“片选片选”,未被选中的芯片不能被访问。,未被选中的芯片不能被访问。二是在二是在“片选片选”的基础上再根据单片机发出的地址码来对的基础上再根据单片机发出的地址码来对“选中选中” ” 芯片的某一单元进行访问,即芯片的某一单元进行访问,即“单元选择单元选择”。 为实现片选,存储器芯片都有片选引脚。同时也都有多为实现片选,存储器芯片都有片选引脚。同时也都有多条地址线引脚,以便进行单元选择。注意,条地址线引脚,以便进行单元选择。注意,“片选片选”和和“单单元选择元选择”都

9、是单片机通过地址线一次发出的地址信号来完成都是单片机通过地址线一次发出的地址信号来完成选择。选择。 通常把单片机系统的地址线笼统地分为低位地址线和高通常把单片机系统的地址线笼统地分为低位地址线和高10单片机原理及接口技术d第8章扩展存储器位地址线,位地址线,“片选片选”都是使用高位地址线。实际上,都是使用高位地址线。实际上,1616条地条地址线中的高、低位地址线的数目并不固定,只是习惯上把用址线中的高、低位地址线的数目并不固定,只是习惯上把用于于 “ “单元选择单元选择”的地址线,都称为低位地址线,其余的为的地址线,都称为低位地址线,其余的为高位地址线。高位地址线。 常用的存储器地址空间分配方

10、法有两种:线性选择法常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法),下面介绍。(简称线选法)和地址译码法(简称译码法),下面介绍。1 1线选法线选法 是直接利用系统的某一高位地址线作为存储器芯片(或是直接利用系统的某一高位地址线作为存储器芯片(或I/OI/O接口芯片)的接口芯片)的“片选片选”控制信号。为此,只需要把用到控制信号。为此,只需要把用到的高位地址线与存储器芯片的的高位地址线与存储器芯片的“片选片选”端直接连接即可。端直接连接即可。单片机原理及接口技术d第8章扩展存储器 线选法优点是电路简单,不需要另外增加地址译码器硬件线选法优点是电路简单,不

11、需要另外增加地址译码器硬件电路,体积小,成本低。缺点是可寻址的芯片数目受到限制。电路,体积小,成本低。缺点是可寻址的芯片数目受到限制。另外,地址空间不连续,每个存储单元的地址不唯一,这会另外,地址空间不连续,每个存储单元的地址不唯一,这会给程序设计带来不便,只适用于外扩芯片数目不多的单片机给程序设计带来不便,只适用于外扩芯片数目不多的单片机系统的存储器扩展。系统的存储器扩展。2 2译码法译码法 使用译码器对使用译码器对AT89S51AT89S51单片机的高位地址进行译码,译码单片机的高位地址进行译码,译码输出作为存储器芯片的片选信号。这种方法能够有效地利用输出作为存储器芯片的片选信号。这种方法

12、能够有效地利用存储器空间,适用于多芯片的存储器扩展。常用的译码器芯存储器空间,适用于多芯片的存储器扩展。常用的译码器芯片有片有74LS13874LS138(3-83-8译码器)、译码器)、74LS13974LS139(双(双2-42-4译码器)和译码器)和74LS15474LS154(4-164-16译码器)。译码器)。12单片机原理及接口技术d第8章扩展存储器若全部高位地址线都参加译码,称全译码;仅部分高位地若全部高位地址线都参加译码,称全译码;仅部分高位地址线参加译码,称部分译码。部分译码存在着部分存储器地址线参加译码,称部分译码。部分译码存在着部分存储器地址空间相重叠的情况。址空间相重叠

13、的情况。下面介绍常用的译码器芯片。下面介绍常用的译码器芯片。(1)74LS1383-8译码器,有译码器,有3个数据输入端,经译码产生个数据输入端,经译码产生8种状态。引种状态。引脚如图脚如图8-3,真值表如表,真值表如表8-1。由表。由表8-1见,当译码器的输入见,当译码器的输入为某一固定编码时,其输出仅有一个固定的引脚输出为低电为某一固定编码时,其输出仅有一个固定的引脚输出为低电平,其余的为高电平。输出为低电平的引脚就作为某一存储平,其余的为高电平。输出为低电平的引脚就作为某一存储器芯片的片选信号。器芯片的片选信号。13单片机原理及接口技术d第8章扩展存储器14单片机原理及接口技术d第8章扩

14、展存储器(2)74LS139双双2-4译码器译码器。两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端,其引脚如图8-4,真值表如表8-2(只给出其中的一组)。图8-374LS138引脚图图8-474LS139引脚图15单片机原理及接口技术d第8章扩展存储器单片机原理及接口技术d第8章扩展存储器以以74LS13874LS138为例,如何进行地址分配。为例,如何进行地址分配。例如,要扩例如,要扩8 8片片8KB8KB的的RAM 6264RAM 6264,如何通过,如何通过74LS13874LS138把把64KB64KB空间分配给各个芯片?空间分配给各个芯片?由由74LS

15、13874LS138真值表可知,把真值表可知,把G1G1接到接到+5V+5V,G2A* G2A* 、 G2B* G2B* 接接地,地,P2.7P2.7、P2.6P2.6、P2.5P2.5(高(高3 3位地址线)分别接位地址线)分别接74LS13874LS138的的C C、B B、A A端,由于对高端,由于对高3 3位地址译码,这样译码器有位地址译码,这样译码器有8 8个输出个输出Y7* Y7* Y0* Y0* ,分别接到,分别接到8 8片片62646264的各的各 “ “片选片选”端,实现端,实现8 8选选1 1的片的片选。选。低低1313位地址(位地址(P2.4P2.4P2.0P2.0,P0

16、.7P0.7P0.0P0.0)完成对选中的)完成对选中的62646264芯片中的各个存储单元的芯片中的各个存储单元的“单元选择单元选择”。这样就把。这样就把64KB64KB存储器空间分成存储器空间分成8 8个个8KB8KB空间了。空间了。17单片机原理及接口技术d第8章扩展存储器64KB地址空间分配地址空间分配如图图8-5。图8-564KB地址空间划分成8个8KB空间这里采用全地址译码全地址译码方式。因此,AT89S51发出16位地址时,每次只能选中某一芯片及该芯片的一个存储单元18单片机原理及接口技术d第8章扩展存储器如何用如何用74LS138把把64KB空间全部划分为空间全部划分为4KB的

17、块呢?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,就不会发生两个32KB空间重叠的问题了。这时,选中的是选中的是64KB空间的前空间的前32KB空间空间,地址范围19单片机原理及接

18、口技术d第8章扩展存储器为0000H7FFFH。如果去掉图8-6中的非门,地址范围为8000HFFFFH。把译码器的输出连到各个4KB存储器的片选端,这样就把32KB空间划分为8个4KB空间。P2.3P2.0,P0.7P0.0实现“单元选择”,P2.6P2.4通过74LS138译码实现对各存储器芯片的片选。采用译码器划分的地址空间块都是相等地址空间块都是相等的,如果将地址空间块划分为不等的块,可采用可编程逻辑器件可编程逻辑器件FPGA对其编程来代替译码器进行非线性译码。单片机原理及接口技术d第8章扩展存储器图8-6 存存储器空器空间被划分成每被划分成每块4KB21单片机原理及接口技术d第8章扩

19、展存储器8.2.2外部地址锁存器外部地址锁存器受引脚数的限制,P0口兼用数据线和低8位地址线,为了将它们分离出来,需在单片机外部增加地址锁存器。目前,常用的地址锁存器芯片有74LS373、74LS573等。1锁存器锁存器74LS373带三态门的8D锁存器,其引脚如图8-7,内部结构如图8-8。AT89S51与74LS373锁存器的连接如图8-9所示。22单片机原理及接口技术d第8章扩展存储器图8-7 锁存器74LS373的引脚23单片机原理及接口技术d第8章扩展存储器图8-874LS373的内部结构24单片机原理及接口技术d第8章扩展存储器 图8-9 AT89S51的的P0口与口与74LS37

20、3的的连接接25单片机原理及接口技术d第8章扩展存储器引脚说明:nD7D0:8位数据输入线,nQ7Q0:8位数据输出线。nG:数据输入锁存选通信号。当该引脚的信号为高时,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。nOE*:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。74LS373锁存器功能如表表8-3。26单片机原理及接口技术d第8章扩展存储器图图8-10 锁存器锁存器74LS573的引脚的引脚27单片机原理及接口技术d第8章扩展存储器2锁存器锁存器74LS573也是一种带有三态门的8D锁存器,功

21、能及内部结构与与74LS373完全一样完全一样,只是其引脚排列与74LS373不同,图8-10为74LS573引脚图。由图8-10,与74LS373相比,74LS573的输入的输入D端和输出端和输出Q端依次排列在芯片两侧端依次排列在芯片两侧,为绘制印制电路板提供方便引脚说明:nD7D0:8位数据输入线。nQ7Q0:8位数据输出线。nG:数据输入锁存选通信号,该引脚与74LS373的G端功能相同。28单片机原理及接口技术d第8章扩展存储器nOE*:数据输出允许信号,低电平有效。当该信号为低电平时,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平时,输出线为高阻态。8.3程序存储器程序存

22、储器EPROM的扩展的扩展程序存储器为只读存储器,因为这种存储器在电源关断后,仍能保存程序(非易失性非易失性的),系统上电后,CPU可取出这些指令重新执行。单片机原理及接口技术d第8章扩展存储器只读存储器简称ROM(ReadOnlyMemory)。ROM中的信息一旦写入,就不能随意更改,特别是不能在程序运行过程中写入新的内容,故称为只读存储器。向ROM中写入信息写入信息称为ROM编程编程。根据编程方式不同,分以下几种分以下几种。(1)掩膜)掩膜ROM。制造过程中编程,以掩膜工艺实现,因此称为掩膜ROM。这种芯片存储结构简单,集成度高,但由于掩膜工艺成本较高掩膜工艺成本较高,因此只适合于大批量生

23、产只适合于大批量生产。30单片机原理及接口技术d第8章扩展存储器(2)可编程)可编程ROM(PROM)。芯片出厂时没有任何程序信息,用独立编程器写入。但PROM只能写一次,只能写一次,写入内容后,就不能再修改。(3)EPROM。用紫外线擦除紫外线擦除,用电信号编程电信号编程。在芯片外壳的中间位置有一个圆形窗口,对该窗口照射紫外线照射紫外线就可擦可擦除原有的信息除原有的信息。使用编程器编程器可将调试完毕的程序写入。(4)E2PROM(EEPROM)。一种用电信号编程电信号编程,也用电电信号擦除信号擦除的ROM芯片。对E2PROM的读写操作与RAM存储器几乎没有什么差别,只是写入速度慢一些写入速度

24、慢一些,但断电后仍能保存信息。31单片机原理及接口技术d第8章扩展存储器(5)FlashROM。又称闪烁存储器(简称闪存),是电擦除型只读存储器。特点是可快速在线修改其存储单元中的数据,改写次数可达1万次,其读写速度很快读写速度很快,存取时间存取时间可达70ns,而成本比成本比E2PROM低得多低得多,大有取代E2PROM的趋势。目前许多公司生产的8051内核的单片机,在芯片内部大多集成了数量不等的FlashROM。例如,美国ATMEL公司产品AT89C5x/AT89S5x,片内有不同容量的FlashROM。在片内的FlashROM满足要求下,扩展外部程序存储器可省去。32单片机原理及接口技术

25、d第8章扩展存储器8.3.1常用的常用的EPROM芯片芯片使用较多的是并行EPROM,首先介绍常用EPROM芯片。EPROM的典型芯片是典型芯片是27系列产品系列产品,例如,2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。型号“27”后面的数字表示其位存储容量。如果换算成字节容量,只需将该数字除以8即可。例如,例如,“27128”中的“27”后的数字“128”,128/8=16KB随着大规模集成电路技术的发展,大容量存储器芯片产量剧增,售价不断下降,性价比明显增高,且由于小容量芯片停止小容量芯片停止生产生产,使市场某些小容量芯片价格反而比大容量芯片还

26、贵某些小容量芯片价格反而比大容量芯片还贵。所以,应尽量采用大容量芯片。33单片机原理及接口技术d第8章扩展存储器1常用常用EPROM芯片引脚芯片引脚27系列EPROM芯片的引脚如图8-11。芯片引脚功能:nA0A15:地址线引脚。它的数目由芯片的存储容量决定,用于进行单元选择。nD7D0:数据线引脚。nCE*:片选控制端。nOE*:输出允许控制端。nPGM*:编程时,编程脉冲的输入端。34单片机原理及接口技术d第8章扩展存储器图8-11 常用EPROM芯片引脚单片机原理及接口技术d第8章扩展存储器nVpp:编程时,编程电压(+12V或+25V)输入端。nVCC:+5V,芯片的工作电压。nGND

27、:数字地。nNC:无用端。表8-4为27系列EPROM芯片的技术参数,其中VCC是芯片供电电压,Vpp是编程电压,Im为最大静态电流,Is为维持电流,TRM为最大读出时间。36单片机原理及接口技术d第8章扩展存储器37单片机原理及接口技术d第8章扩展存储器2EPROM芯片的工作方式芯片的工作方式5种工作方式,由CE*、OE*、PGM*信号的组合确定。5种工作方式如表表8-5。38单片机原理及接口技术d第8章扩展存储器(1)读出方式。)读出方式。该方式的条件是使片选控制线CE*为低电平,同时让输出允许控制线OE*为低电平,Vpp为+5V,就可把指定地址单元的内容从D7D0上读出。(2)未选中方式

28、)未选中方式。当片选控制线CE*为高电平时,芯片未选中方式,数据输出为高阻抗悬浮状态高阻抗悬浮状态,不占用数据总线。EPROM处于低功耗的维持状态。(3)编程方式。)编程方式。在Vpp端加上规定好的高压高压,CE*和OE*端加上合适的电平(不同芯片要求不同),能将数据写入到指定地址单元。编程地址编程地址和编程数据编程数据分别由A15A0和D7D0提供。39单片机原理及接口技术d第8章扩展存储器(4)编程校验方式。)编程校验方式。Vpp端保持相应的编程电压(高压),再按读出方式操作,读出固化好的内容,校验写入内容是否正确。(5)编程禁止方式。)编程禁止方式。8.3.2程序存储器的操作时序程序存储

29、器的操作时序1访问程序存储器的控制信号访问程序存储器的控制信号AT89S51单片机访问片外扩展的程序存储器时,所用的控制信号有以下3种种。(1)ALE:用于低8位地址锁存控制。(2)PSEN*:片外程序存储器“读选通”控制信号。它接外扩EPROM的OE*引脚。单片机原理及接口技术d第8章扩展存储器(3)EA*:片内、片外程序存储器访问的控制信号。当EA*=1时,在单片机发出的地址小于片内程序存储器最大地址时,访问片内片内程序存储器;当EA*=0时,只访问片外片外程序存储器。如果指令是从片外EPROM中读取的,除了ALE用于低8位地址锁存信号之外,控制信号还有PSEN*,接外扩EPROM的PSE

30、N*脚。此外,P0口分时用作低8位地址总线和数据总线,P2口用作高8位地址线。2操作时序操作时序AT89S51对片外ROM的操作时序分两种,即执行非执行非MOVX指令指令的时序和执行执行MOVX指令指令的时序,如图图8-12。41单片机原理及接口技术d第8章扩展存储器(1)应用系统中无片外)应用系统中无片外RAM系统无片外无片外RAM(或(或I/O)时,不用执行不用执行MOVX指令指令。在执行非执行非MOVX指令指令时,时序如图图8-12(a)。P0口口作为地址/数据复用的双向总线,用于输入指令或输出程序存储器的低8位地址PCL。P2口口专门用于输出程序存储器的高8位地址PCH。P0口分时复用

31、,故首先要将P0口输出的低8位地址PCL锁存在锁存器中,然后P0口再作为数据口。在每个机器周期中,允许地址每个机器周期中,允许地址锁存两次有效锁存两次有效,ALE在下降沿时,将P0口的低8位地址PCL锁存在锁存器中。42单片机原理及接口技术d第8章扩展存储器图8-12 执行非MOVX指令的时序单片机原理及接口技术d第8章扩展存储器同时,PSEN*也是每个机器周期两次有效每个机器周期两次有效,用于选通片外程序存储器,将指令读入片内。系统无片外无片外RAM(或(或I/O)时)时,此ALE信号信号以振荡器频率的1/6出现在引脚上,它可用作外部时钟或定时脉冲信号。(2)应用系统中接有片外)应用系统中接

32、有片外RAM在执行访问片外执行访问片外RAM(或(或I/O)的)的MOVX指令指令时,16位地位地址应转而指向数据存储器址应转而指向数据存储器,时序如图图8-12(b)。在指令输入以前,P2口输出的地址PCH、PCL指向程序存储器;在指令输入并判定是指令输入并判定是MOVX指令指令后,ALE在该44单片机原理及接口技术d第8章扩展存储器图8-12 执行MOVX指令的时序单片机原理及接口技术d第8章扩展存储器机器周期S5状态锁存的是P0口发出的片外RAM(或I/O)低8位地址。若执行“MOVXA,DPTR”或“MOVXDPTR,A”指令,则此地址就是DPL(数据指针低8位);同时,在P2口上出现

33、的是DPH(数据指针的高8位)。若执行“MOVXA,Ri”或“MOVXRi,A”指令,则Ri的内容为低8位地址,而P2口线上将是P2口锁存器的内容。在同一机器周期中将不再出现PSEN*有效取指信号,下一个下一个机器周期中机器周期中ALE的有效锁存信号也不再出现;的有效锁存信号也不再出现;当RD*/WR*有有效效时,P0口将读/写数据存储器中的数据。46单片机原理及接口技术d第8章扩展存储器判定是判定是MOVX指令后指令后,ALE在该机器周期S5状态锁存的是P0口发出的片外RAM(或I/O)低8位地址。若执行“MOVXA,DPTR”或“MOVXDPTR,A”指令,则此地址就是DPL(数据指针低8

34、位);同时,在P2口上出现的是DPH(数据指针的高8位)。若执行“MOVXA,Ri”或“MOVXRi,A”指令,则Ri内容为低8位地址,而P2口线将是P2口锁存器内容。在同一机器周期中将不再出现有效取指信号,下一个机器周期中ALE的有效锁存信号也不再出现;而当RD*/WR*有效时,P0口将读/写数据存储器中的数据。47单片机原理及接口技术d第8章扩展存储器由图8-12(b)可以看出:(1)将ALE用作定时脉冲输出时,执行一次执行一次MOVX指令指令就会丢失一个丢失一个ALE脉冲;(2)只有在执行在执行MOVX指令指令时的第二个机器周期第二个机器周期中,才对数据存储器(或I/O)读/写,地址总线

35、才由数据存储器使用。8.3.3AT89S51单片机与单片机与EPROM的接口电路设计的接口电路设计由于AT89S5x单片机片内集成不同容量的FlashROM,可根据实际需要来决定是否外部扩展根据实际需要来决定是否外部扩展EPROM。当应用程序不大于单片机片内的FlashROM容量时,扩展外部程序存储器的工作可省略。单片机原理及接口技术d第8章扩展存储器但作为扩展外部程序存储器的基本方法基本方法,还是应掌握。1AT89S51与单片与单片EPROM的硬件接口电路的硬件接口电路在设计接口电路时,由于外扩的EPROM在正常使用中只读不写,故EPROM芯片只有读出控制引脚,记为OE*,该引脚与AT89S

36、51单片机的相连,地址线、数据线分别与AT89S51单片机的地址线、数据线相连,片选端控制片选端控制可采用线选法或译码法。介绍介绍2764、27128芯片与AT89S51的接口。更大容量更大容量的27256、27512与AT89S51的连接,差别差别只是连接的地址线数目不同。49单片机原理及接口技术d第8章扩展存储器由于2764与27128引脚的差别仅在差别仅在26脚脚,2764的26脚是空脚,27128的26脚是地址线A13,因此在设计外扩存储器电路时,应选用应选用27128芯片设计电路芯片设计电路。在实际应用时,可将可将27128换成换成2764,系统仍能正常运行。图图8-13为AT89S

37、51外扩外扩16KB的的EPROM27128的电路。由于只扩展一片EPROM,所以片选端片选端直接接地直接接地,也可接也可接到某一高位地址线上到某一高位地址线上(A15或A14)进行线选线选,也可接某一地址译码器的输出端。50单片机原理及接口技术d第8章扩展存储器图图8-13 AT89S51单片机与单片机与27128的接口电路的接口电路单片机原理及接口技术d第8章扩展存储器2使用多片使用多片EPROM的扩展电路的扩展电路图图8-14为利用4片片27128EPROM扩展成64KB程序存储器程序存储器的方法。片选信号由译码器产生译码器产生。4片27128各自所占的地址空间,读者自己分析。8.4静态

38、数据存储器静态数据存储器RAM的扩展的扩展在单片机应用系统中,外部扩展的数据存储器都采用静态数据存储器(SRAM)。对外部扩展的数据存储器空间访问,P2口口提供高8位地址,P0口口分时提供低8位地址和8位双向数据总线。片外数据存储片外数据存储器器RAM的读和写的读和写由AT89S51的RD*(P3.7)和WR*(P3.6)信号控制。52单片机原理及接口技术d第8章扩展存储器图图8-14 AT89S51与与4片片27128 EPROM的接口电路的接口电路单片机原理及接口技术d第8章扩展存储器 而片外程序存储器而片外程序存储器EPROMEPROM的输出端允许(的输出端允许(OE* OE* )由单片

39、机)由单片机的读选通的读选通PSEN* PSEN* 信号控制。信号控制。 尽管与尽管与EPROMEPROM的地址空间范围相同,但由于控制信号不同,的地址空间范围相同,但由于控制信号不同,不会发生总线冲突。不会发生总线冲突。 8.4.1 8.4.1 常用的静态常用的静态RAMRAM(SRAMSRAM)芯片)芯片 单片机系统中常用的单片机系统中常用的RAMRAM芯片的典型型号有芯片的典型型号有61166116(2KB2KB),),62646264(8KB8KB),),6212862128(16KB16KB),),6225662256(32KB32KB)。)。 6116 6116为为2424脚封装,

40、脚封装,62646264、6212862128、6225662256为为2828脚封装。这脚封装。这些些RAMRAM芯片的引脚如图芯片的引脚如图8-158-15。54单片机原理及接口技术d第8章扩展存储器图8-15 常用的常用的RAM引脚引脚图55单片机原理及接口技术d第8章扩展存储器各引脚功能:各引脚功能:A0A14:地址输入线。D0D7:双向三态数据线。CE*:片选信号输入线。对6264芯片,当24脚(CS)为高电平且CE*为低电平时才选中该片。OE*:读选通信号输入线,低电平有效。WE*:写允许信号输入线,低电平有效。VCC工作电源+5V。GND地。RAM存储器有读出、写入、维持读出、写

41、入、维持3种种工作方式,工作方式的控制如表表8-6。56单片机原理及接口技术d第8章扩展存储器8.4.2外扩数据存储器的读写操作时序外扩数据存储器的读写操作时序对片外RAM读和写读和写两种操作时序的基本过程相同。1读片外读片外RAM操作时序操作时序若外扩一片若外扩一片RAM,应将WR*脚与RAM的WE*脚连接,RD*脚与芯片OE*脚连接。单片机原理及接口技术d第8章扩展存储器单片机读片外RAM操作时序如图图8-16。在第一个机器周期的第一个机器周期的S1状态状态,ALE信号由低变高(处),读RAM周期开始。在S2状态状态,CPU把低8位地址送到P0口总线上,把高8位地址送上P2口(在执行“MO

42、VXA,DPTR”指令阶段才送高8位;若执行“MOVXA,Ri”则不送高8位)。ALE下降沿下降沿(处)用来把低8位地址信息锁存到外部锁存器74LS373内。而高8位地址信息一直锁存在P2口锁存器中(处)。在在S3状态状态,P0口总线变成高阻悬浮状态。在S4状态,执行指令“MOVXA,DPTR”后使RD*信号信号变有效58单片机原理及接口技术d第8章扩展存储器图8-16AT89S51单片机读片外RAM操作时序图59单片机原理及接口技术d第8章扩展存储器(处),RD*信号使被寻址的片外RAM过片刻后把数据送上P0口总线(处),当RD*回到高电平后(处),P0总线变悬浮状态(处)。2写片外写片外R

43、AM操作时序操作时序向片外RAM写数据,单片机执行“MOVXDPTR,A”指令。指令执行后,AT89S51的WR*信号为低有效,此信号使RAM的WE*端被选通。写片外RAM的时序如图图8-17。开始的过程与读过程类似,但写的过程是CPU主动把数据送上主动把数据送上P0口总线口总线,故在时序上,CPU先向P0口总线上送完8位地址后,在S3状态就将数据送到P0口总线(处)。此间,P0总线上不会出现高阻悬浮现象单片机原理及接口技术d第8章扩展存储器图8-17 AT89S51单片机写片外片机写片外RAM操作操作时序序图61单片机原理及接口技术d第8章扩展存储器在在S4状态状态,写信号WR*有效(处),

44、选通片外RAM,稍过片刻,P0口上的数据就写到RAM内了,然后写信号WR*变为无效(处)。8.4.3AT89S51单片机与单片机与RAM的接口电路设计的接口电路设计AT89S51对片外RAM的读和写由AT89S51的RD*(P3.7)和WR*(P3.6)控制,片选端由译码器译码输出控制。设计时,主要解决地址分配、数据线和控制信号线的连接问题。在与高速单片机连接时,要根据时序解决读/写速度匹配问题。图图8-18为用线选法扩展AT89S51外部数据存储器电路。图中数据存储器选用6264,该芯片地址线为A0A12,故AT89S51剩余地址线为3条。62单片机原理及接口技术d第8章扩展存储器图8-18

45、 线选法法扩展外部数据存展外部数据存储器器电路路图63单片机原理及接口技术d第8章扩展存储器用线选线选可扩展3片6264,对应的存储器空间如表表8-7所示。用译码法译码法扩展外部数据存储器的接口电路如图图8-19所示。数据存储器62128,芯片地址线为A0A13,剩余地址线为两条,若采用2-4译码器可扩展4片62128。各片62128芯片地址地址分配分配如表表8-8所示。64单片机原理及接口技术d第8章扩展存储器图8-19译码法扩展外部数据存储器电路图65单片机原理及接口技术d第8章扩展存储器 【例例8-1】编写程序将片外数据存储器中5000H50FFH单元全部清“0”。66单片机原理及接口技

46、术d第8章扩展存储器程序如下:xdataunsignedchardatabuf256_at_0x5000;voidmain(void)unsignedchari;for(i=0;i256;i+)databufi=067单片机原理及接口技术d第8章扩展存储器8.5EPROM和和RAM的综合扩展的综合扩展在系统设计中,经常是既要扩展程序存储器,也要扩展数据存储器(RAM)或I/O,即进行存储器的综合扩展综合扩展。下面介绍如何进行综合扩展。8.5.1综合扩展的硬件接口电路综合扩展的硬件接口电路【例例8-2】采用线选法线选法扩展2片片8KB的的RAM和2片片8KB的的EPROM。RAM芯片选用2片62

47、64。扩展2片EPROM芯片,选用2764。硬件接口电路如图图8-20。68单片机原理及接口技术d第8章扩展存储器图8-20 采用采用线选法的法的综合合扩展展电路路图示例示例69单片机原理及接口技术d第8章扩展存储器(1)控制信号及片选信号)控制信号及片选信号地址线P2.5直接接到IC1(2764)和IC3(6264)的片选端,P2.6直接接到IC2(2764)和IC4(6264)的片选端。当P2.6=0,P2.5=1时,IC2和IC4的片选端为低电平,IC1和IC3的端全为高电平。当P2.6=1,P2.5=0时,IC1和IC3的端都是低电平,每次同时选中两个芯片,具体对哪个芯片进行读/写操作

48、还要通过PSEN*、RD*、WR*控制线来控制。当PSEN*为低电平时,到片外程序存储区EPROM中读程序;当读/写信号RD*或WR*为低电平时,则对片外70单片机原理及接口技术d第8章扩展存储器RAM读数据或写数据PSEN*、RD*、WR*3个信号是在执行指令时产生的,任意时刻只能执行一条指令任意时刻只能执行一条指令,所以只能有一个只能有一个信号有效信号有效,不可能同时有效,所以不会发生数据冲突不会发生数据冲突。(2 2)各芯片地址空间分配)各芯片地址空间分配硬件电路一旦确定,各芯片地址范围实际上就已经确定,编程时只要给出所选择芯片的地址,就能对该芯片进行访问。结合图8-20,介绍IC1、I

49、C2、IC3、IC4芯片地址范围芯片地址范围的确定方法。存储器地址均用16位,P0口确定低8位,P2口确定高8位。如果P2.6=0、P2.5=1,选中,选中IC2、IC4。地址线A15A0与与P2、P0对应关系对应关系如下:单片机原理及接口技术d第8章扩展存储器除P2.6、P2.5固定外,其他“”位均可变。设无用位P2.7=1,当“ “”各位全为各位全为“ “0” ”时,则为最小地址最小地址A000H;当“ “”均为均为“ “1” ”时,则为最大地址最大地址BFFFH。IC2、IC4的地址空间为A000HBFFFH共共8KB。同理IC1、IC3的地址范围为为C000HDFFFH。4片存储器各自

50、所占的地址空间如表表8-9所示。即使地址空间重叠,也不会发生数据冲突。IC1与IC3也同样如此。72单片机原理及接口技术d第8章扩展存储器下面介绍采用译码器法译码器法进行地址空间分配的例子。73单片机原理及接口技术d第8章扩展存储器【例例8-3】采用译码法译码法扩展2片片8KBEPROM和2片片8KBRAM。EPROM选用2764,RAM选用6264。扩展接口电路如图图8-21。图中74LS139的4个输出端,Y0*Y3*分别连接4个芯片IC1、IC2、IC3、IC4的片选端。74LS139在对输入端译码时,Y0*Y3*每次只能有一位输每次只能有一位输出为出为“0”,其他三位全为,其他三位全为

51、“1”,输出为“0”的一端所连接的芯片被选中。译码法地址分配,先根据译码芯片真值表确定译码芯片的输入状态,再判断其输出端选中芯片的地址。74单片机原理及接口技术d第8章扩展存储器图8-21 采用采用译码法的法的综合合扩展展电路路图示例示例75单片机原理及接口技术d第8章扩展存储器如图图8-21,74LS139的输入端A、B、分别接P2口的P2.5、P2.6、P2.7三端,为使能端,低电平有效。由表表8-274LS139的真值表可见,当G*=0、A=0、B=0时,输出端只有Y0*为“0”,Y1*Y3*全为“1”,选中IC1。这样,P2.7、P2.6、P2.5全为0,P2.4P2.0与P0.7P0

52、.0这13条地址线的任意状态都能选中IC1的某一单元。当13条地址线全为条地址线全为“0”时,为最小地址最小地址0000H;当13条地址线全为条地址线全为“1”时,为最大地址最大地址1FFFH。所以IC1的地址范围为地址范围为0000H1FFFH。同理可确定电路中各个存储器地址范围如表表8-10。76单片机原理及接口技术d第8章扩展存储器由上可由上可见,译码法法进行地址分配,各芯片的地址空行地址分配,各芯片的地址空间是是连续的。的。 8.5.2 8.5.2 外外扩存存储器器电路的路的编程程 下面下面结合合图8-218-21所示的所示的电路,路,读者自行者自行编写写实现以下两个以下两个问题的的C

53、51C51程序。程序。【问题1 1】把片外把片外6000H6000H单元的数据送到片内元的数据送到片内RAM 50HRAM 50H单元中。元中。【问题2 2】把片内把片内40H40H单元的数据送到片外元的数据送到片外5000H5000H单元中。元中。 77单片机原理及接口技术d第8章扩展存储器8.6片内片内Flash存储器的编程存储器的编程如何把调试完毕的程序写入AT89S51片内Flash存储器,即Flash存储器编程问题。AT89S51片内4K字节Flash存储器的基本性能基本性能如下:(1)可循环写入)可循环写入/擦除擦除1000次;次;(2)存储器数据保存时间为)存储器数据保存时间为1

54、0年;年;(3)程序存储器具有)程序存储器具有3级加密保护;级加密保护;AT89S51出厂时,Flash存储器处于全部空白状态(各单元均为均为FFH),可直接进行编程。若不全为空白状态(即单元中有不是有不是FFH的),应首先将芯片擦除擦除后,方可写入78单片机原理及接口技术d第8章扩展存储器程序。AT89S51片内的Flash存储器有3个可编程的加密位个可编程的加密位,定义了3个加密级别加密级别,只要对3个加密位:LB1、LB2、LB3进行编程即可实现3个不同级别不同级别的加密。3个加密位的状态可以是编程(P)或不编程(U),3个加密位的状态所提供的提供的3个级别个级别的加密功能如表的加密功能

55、如表8-12。对3个加密位的编程个加密位的编程可参照表表8-13所列控制信号来进行,也可按照所购买的编程器按照所购买的编程器的菜单,选择加密功能79单片机原理及接口技术d第8章扩展存储器单片机原理及接口技术d第8章扩展存储器选项(如果有的话)即可。经上述加密处理,使解密难度加大,但还可解密。现在有一种非恢复性加密(非恢复性加密(OTP加密)加密)方法,就是将AT89S51的第31脚脚(EA*脚)烧断或某些数据线烧断某些数据线烧断,经过上述处理的芯片仍正常工作,但不再具有读取、擦除、重复但不再具有读取、擦除、重复烧写烧写等功能。是一种较强的加密手段。国内某些厂家编程器直接具有此功能(例如RF-1

56、800编程器)。如何将调试好的程序写入到片内的如何将调试好的程序写入到片内的Flash存储器中?存储器中?。片内Flash存储器有低电压编程低电压编程(Vpp=5V)和高电压编程高电压编程(Vpp=12V)两类芯片。81单片机原理及接口技术d第8章扩展存储器低电压编程可用于在线编程,高电压编程与一般常用的低电压编程可用于在线编程,高电压编程与一般常用的EPROMEPROM编程器兼容。在编程器兼容。在AT89S51AT89S51芯片的封装面上标有低电压编芯片的封装面上标有低电压编程还是高电压编程的编程电压标志。程还是高电压编程的编程电压标志。应用程序在应用程序在PCPC机中与在线仿真器以及用户目

57、标板一起调试机中与在线仿真器以及用户目标板一起调试通过后,通过后,PCPC机中调试完毕的程序代码文件(机中调试完毕的程序代码文件(.Hex.Hex目标文件),目标文件),须写入到须写入到AT89S51AT89S51片内的闪烁存储器中。片内的闪烁存储器中。目前常用的编程方法主要有两种:一种是使用通用编程器目前常用的编程方法主要有两种:一种是使用通用编程器编程,另一种是使用下载型编程器进行编程。下面介绍如何编程,另一种是使用下载型编程器进行编程。下面介绍如何对对AT89S51AT89S51片内的片内的FlashFlash存储器进行编程。存储器进行编程。82单片机原理及接口技术d第8章扩展存储器8.

58、6.1通用编程器编程通用编程器编程采用通用编程器编程,就是在下载程序时,编程器只是将采用通用编程器编程,就是在下载程序时,编程器只是将AT89S51看作一个待写入程序的外部程序存储器芯片。看作一个待写入程序的外部程序存储器芯片。PC机机中的程序代码通过串口或中的程序代码通过串口或USB口与口与PC机连接,并有相应的服机连接,并有相应的服务程序。编程器与务程序。编程器与PC机连好后,运行服务程序,在服务程序机连好后,运行服务程序,在服务程序中先选择所要编程的单片机型号,再调入中先选择所要编程的单片机型号,再调入.Hex目标文件,编目标文件,编程器就将调试通过的程序烧录到单片机片内的程器就将调试通

59、过的程序烧录到单片机片内的Flash存储器中。存储器中。开发者只需在市场上购买现成的编程器。下面以市场上常见开发者只需在市场上购买现成的编程器。下面以市场上常见RF-810编程器为例,介绍编程器的基本功能。编程器为例,介绍编程器的基本功能。RF-810编程器的性能特点如下:编程器的性能特点如下:83单片机原理及接口技术d第8章扩展存储器(1)可对100余厂家余厂家的1000多种常用器件多种常用器件进行编程与测试。(2)采用40脚锁紧插座,与PC机并行口(打印机口)连机工作。(3)可自行调整烧录电压自行调整烧录电压的参数,具有芯片损坏、插反检测功能,可有效地保护芯片。(4)对各种单片机内对各种单

60、片机内Flash存储器、存储器、EPROM、E2PROM、PLD进行编程进行编程。RF-810编程器配备全中文的配备全中文的Windows环境下运行的驱动软件环境下运行的驱动软件。对芯片的编程不需要人工干预,软件用户界面易学,使用方便。单片机原理及接口技术d第8章扩展存储器RF-810编程器套件包括编程器套件包括:RF-810编程器主机,并口电缆及匹配器插座以及AC/DC电源适配器等。使用编程器前应先使用编程器前应先进行硬件安装和软件安装进行硬件安装和软件安装。硬件安装时硬件安装时,先把编程器的电缆与PC机并口连接好后,再接通PC机电源,打开编程器的电源开关,编程器主机上的电源灯亮。此时,再进

61、行编程器软件安装。PC机电源接通后,进入Windows环境。编程器的软件安装与普通软件的安装方法相同。软件安装完毕后,软件安装完毕后,自动在桌面上形成桌面上形成RF-810编程器编程器的图标图标。点击RF-810编程器的图标,进入主菜单进入主菜单,有如下功能的快快捷方式图标的命令捷方式图标的命令可供选择。85单片机原理及接口技术d第8章扩展存储器(1)选择要编程芯片的厂家、类型、型号、容量等。(2)编程的内容调入缓冲区,进行浏览、修改操作。(3)检查器件是否处于空白状态。(4)可按照擦除、编程、校验等操作顺序自动完成对器件的全部操作过程。(5)把缓冲区的内容写入到芯片内并进行校验。(6)把器件

62、的内容读入到缓冲区。(7)校对器件内容和缓冲区内容是否一致,并列出有差异的第一个单元的地址。(8)逐单元比较器件内容和缓冲区内容有无差异,并将有差异的单元列表显示。86单片机原理及接口技术d第8章扩展存储器(9)将器件的内容在屏幕上显示。具体使用,可详细阅读所购买的编程器的使用说明书。8.6.2ISP编程编程AT89S5x系列单片机支持ISP。是指在电路板上的被编程的空白器件可以直接写入程序代码,而不需要从电路板上取下不需要从电路板上取下器件器件,已编程的器件也可用可用ISP方式擦除或再编程方式擦除或再编程。ISP下载编程器可自行制作自行制作,也可电子市场购买电子市场购买。ISP下载编程器与单

63、片机一端连接的端口通常采用ATMEL公司的接口标准接口标准,10引脚的IDC端口。图图8-24为IDC端口的实物图及端口的定义。87单片机原理及接口技术d第8章扩展存储器图8-24IDC端口的实物图以及端口的定义88单片机原理及接口技术d第8章扩展存储器采用ISP下载程序时,用户板上必须装有上述必须装有上述IDC端口端口,端口信号线必须与目标板目标板上AT89S51的对应引脚连接。注意,图中的8脚脚P1.4(SS*)端只对AT89LP系列单片机有效,对对AT89S5x系列单片机无效系列单片机无效,不用连接。常见市售常见市售的ISP下载型编程器为ISPro下载型编程器下载型编程器。用户将安装光盘

64、插入光驱,运行安装程序SETUP.exe即可。安装后,在桌面上建立一个“ISPro.exe下载型编程器下载型编程器”图标图标,双击该图标,即可启动编程软件。ISPro下载型编程器软件的使用与RF-810软件的使用方法基本相同,可参照编程器使用说明书进行操作。89单片机原理及接口技术d第8章扩展存储器上面介绍了两种程序下载的方法,就单片机发展方向单片机发展方向而言,已趋向于ISP程序程序下载方式,一方面由于原有不支持不支持ISP下载下载的芯片逐渐被淘汰的芯片逐渐被淘汰(大部分已经停产停产),另一方面ISP使用使用起来十分方便起来十分方便,不增加太多的成本就可以实现程序的下载,所以ISP下载方式已经逐步成为主流逐步成为主流。90单片机原理及接口技术d第8章扩展存储器

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

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