第6章MCS-51单片机存储器的扩展_第1页
第6章MCS-51单片机存储器的扩展_第2页
第6章MCS-51单片机存储器的扩展_第3页
第6章MCS-51单片机存储器的扩展_第4页
第6章MCS-51单片机存储器的扩展_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、6.16.1 单片机扩展及系统结构单片机扩展及系统结构 6.26.2 程序存储器程序存储器EPROMEPROM的扩展的扩展6.3 6.3 外部数据存储器的扩展外部数据存储器的扩展 6.46.4 E PROME PROM扩展电路扩展电路 2 2教学目的教学目的和和要求要求 本章主要介绍本章主要介绍MCS-51MCS-51单片机系统存储器扩展,单片机系统存储器扩展,主要有程序存储器(主要有程序存储器(ROMROM)扩展、数据存储器)扩展、数据存储器(RAMRAM)扩展等。)扩展等。 重点掌握重点掌握EPROMEPROM、E PROME PROM及及RAMRAM与与MCS-51MCS-51系列系列单

2、片机接口电路单片机接口电路的的设计设计。2 2单单片片机机扩扩展展及及系系统统结结构构单单片片机机扩扩展展及及系系统统结结构构 单片机扩展通常采用总线结构形式单片机扩展通常采用总线结构形式, ,整个扩整个扩展系统以展系统以单片机单片机为核心为核心, ,通过通过总线把各扩展部总线把各扩展部件连接起来件连接起来, ,其形式有如各扩展部件其形式有如各扩展部件“挂挂”在在总线上一样。总线上一样。 扩展内容可包括扩展内容可包括程序存储器程序存储器ROMROM、数据存数据存储器储器RAMRAM和和I I/ /O O接口接口等。等。单单片片机机扩扩展展及及系系统统结结构构 因为扩展是在单片机之外进行的因为扩

3、展是在单片机之外进行的, ,因此通因此通常把扩展的部件称之为外部常把扩展的部件称之为外部ROMROM或或RAMRAM。 所谓所谓总线总线, ,就是就是连接系统中各扩展部件连接系统中各扩展部件的的一组一组公共信号线公共信号线。 按其功能通常把系统总线分为三组按其功能通常把系统总线分为三组: :即即地地址总线址总线、数据数据总线总线和和控制控制总线总线。单单片片机机扩扩展展及及系系统统结结构构单单片片机机扩扩展展及及系系统统结结构构 1. 1.地址总线地址总线(Address BusAddress Bus) 地址总线用于地址总线用于传送单片机送出传送单片机送出的的地址信号地址信号, ,以便以便进行

4、进行存储单元存储单元和和I I/ /O O端口端口的的选择选择。 地址总线的数目决定着可直接访问的存储单元的地址总线的数目决定着可直接访问的存储单元的数目。数目。 例如例如n n根地址线根地址线, ,可产生可产生2 2n n个连续地址编码个连续地址编码, ,因此因此可访问可访问2 2n n个存储单元个存储单元, ,即通常所说的寻址范围为即通常所说的寻址范围为2 2n n地址地址单元。单元。 单单片片机机扩扩展展及及系系统统结结构构 MCSMCS- -5151单片机存储器扩展最多可达单片机存储器扩展最多可达64kB64kB, ,即即2 21616地址单元地址单元, ,因此因此, ,最多可需最多可

5、需1616位位地址线地址线。 这这1616根地址线是由根地址线是由P0P0口和口和P2P2口构建的,口构建的,其中其中P0P0口口的的8 8位口线作位口线作地址线地址线的的低低8 8位位,P2P2口口的口线作的口线作高位地址线高位地址线。单单片片机机扩扩展展及及系系统统结结构构 需要注意的是需要注意的是, ,在进行系统扩展时在进行系统扩展时, ,P0P0口口还做还做数数据线据线, ,因此需因此需采用采用分时复用分时复用技术技术, ,对对地址地址和和数据数据进行进行分离分离。 为此在构造地址总线时要为此在构造地址总线时要增加一个增加一个8 8位锁存器位锁存器, ,先把这先把这低低8 8位地址送锁

6、存器暂存位地址送锁存器暂存。 由地址锁存器给系统提供低由地址锁存器给系统提供低8 8位地址位地址, ,然后把然后把P0P0口口作为作为数据线数据线使用使用。单单片片机机扩扩展展及及系系统统结结构构 2. 2.数据总线数据总线(Data BusData Bus) 数据总线用于数据总线用于在单片机与在单片机与存储器存储器之间之间或或单片机与单片机与I I/ /O O端口之间端口之间传送数据传送数据。 单片机系统数据总线的位数与单片机处理数据的单片机系统数据总线的位数与单片机处理数据的字长一致。字长一致。 如如MCS-51MCS-51单片机是单片机是8 8位字长位字长, ,所以数据总线的位数所以数据

7、总线的位数也是也是8 8位。位。 在系统扩展时在系统扩展时, ,数据总线是数据总线是由由P0P0口构造口构造的。的。单单片片机机扩扩展展及及系系统统结结构构 3 3. .控制总线控制总线(Control BusControl Bus) 控制总线是一组控制信号线。控制总线是一组控制信号线。 这些信号线有的是专用信号线这些信号线有的是专用信号线, ,有的则是有的则是第二功能信号线。第二功能信号线。 其中包括其中包括地址锁存信号地址锁存信号ALEALE、程序存储器程序存储器的的读选通信号读选通信号PSENPSEN、以及、以及读读RDRD和和写写WRWR信号等。信号等。单单片片机机扩扩展展及及系系统统

8、结结构构 作业作业5.55.5:使用:使用定时器定时器0 0以以工作方式工作方式1 1产生产生定时定时,在在P1P1. .0 0输出周期为输出周期为200200s s的的连续矩形波连续矩形波,占空比占空比为为25%25%,foscfosc= =12MHZ12MHZ。 X0X0=2 -=2 -150150s/s/1 1s s X1X1=2 -=2 -5050s/s/1 1s s #include #include / /预处理预处理 sbitsbit P1P1_ _0 0=P10;=P10; 16161616单单片片机机扩扩展展及及系系统统结结构构voidvoid mainmain(void)

9、/(void) /主函数主函数 TMODTMOD=0 x02;=0 x02; TH0 TH0=(=(6553665536- -5050) )/ /256256; ; TL0 TL0=(=(6553665536- -5050) )% %256256; ; EAEA=1;=1; ET0ET0=1;=1; P1 P1_ _0 0= =1 1; ; TR0 TR0=1;=1; whilewhile(1);(1); 单单片片机机扩扩展展及及系系统统结结构构void void timetime 0 0 intrruptintrrupt 1 1 usingusing 1 1 / /定时中断服务函数定时中断服

10、务函数 if if( (P1P1_ _0 0= =1 1) ) P1 P1_ _0 0= =0 0; ; TH0 TH0=(=(6553665536- -150150) )/ /256256; ; TL0 TL0=(=(6553665536- -150150) )% %256256; ; 单单片片机机扩扩展展及及系系统统结结构构 else else P1P1_ _0 0= =1 1; ; TH0TH0=(=(6553665536- -5050) )/ /256256; ; TL0TL0=(65536-=(65536-5050) )% %256256; ; 单单片片机机扩扩展展及及系系统统结结构

11、构 MCSMCS- -5151的的程序存储器空间程序存储器空间、数据存储器空间数据存储器空间是是相相互独立互独立的。的。 程序存储器寻址空间为程序存储器寻址空间为64kB(0000H64kB(0000H0FFFFH),0FFFFH),其其中中80518051、87518751片内包含有片内包含有4kB4kB的的ROMROM或或EPROM,8752EPROM,8752含有含有8kB8kB的的EPROM,8031EPROM,8031片内不带片内不带ROMROM。 当片内当片内ROMROM不够使用或采用不够使用或采用80318031芯片时芯片时, ,需扩展需扩展程序存储器程序存储器, ,用作程序存储

12、器用作程序存储器的的器件器件是是EPROMEPROM、E E2 2PROMPROM和和闪速存储器闪速存储器( (FlashFlash) )。程程序序存存储储器器E EP PR RO OM M的的扩扩展展外部程序存储器外部程序存储器的的扩展原理扩展原理FlashFlashROMROM单单片片机机扩扩展展及及系系统统结结构构 CPUCPU读取读取的的指令指令有有两种情况两种情况: 一是一是不访问数据存储器不访问数据存储器的的指令指令; 二是二是访问访问数据存储器数据存储器的的指令指令。 因此因此, ,外部程序存储器就有两种操作时序。外部程序存储器就有两种操作时序。访问访问外部程序存储器外部程序存储

13、器的的操作时序操作时序 WRWR访访问问外部数据存储器外部数据存储器的的操作时序操作时序 单单片片机机扩扩展展及及系系统统结结构构 (1)1)将将ALEALE用作定时脉冲输出时用作定时脉冲输出时, ,执行一次执行一次MOVXMOVX指令就会丢失一个脉冲。指令就会丢失一个脉冲。 (2)2)只有在执行只有在执行MOVXMOVX指令时的第二个机器指令时的第二个机器周期期间周期期间, ,地址总线才由数据存储器使用。地址总线才由数据存储器使用。单单片片机机扩扩展展及及系系统统结结构构 常用地址锁存器常用地址锁存器: : 在在MCS-51MCS-51单片机中的单片机中的1616位地址位地址, ,分为高分为

14、高8 8位和位和低低8 8位。位。 高高8 8位由位由P2P2口输出口输出, ,低低8 8位由位由P0P0口输出。口输出。 P0P0口同时又是数据输入口同时又是数据输入/ /输出口输出口, ,故在传送时故在传送时采用分时方式采用分时方式, ,先输出低先输出低8 8位地址位地址, ,然后再传送数据然后再传送数据。单单片片机机扩扩展展及及系系统统结结构构 但是但是, ,在在对外部存储器进行读对外部存储器进行读/ /写操作写操作时时, ,1616位地址位地址必须必须保持不变保持不变, ,这就需要选用适这就需要选用适当的寄存器存放低当的寄存器存放低8 8位地址位地址, ,因此在进行程序因此在进行程序存

15、储器扩展时存储器扩展时, ,必须利用必须利用地址锁存器地址锁存器将地址信将地址信号锁存起来号锁存起来。程程序序存存储储器器E EP PR RO OM M的的扩扩展展 通常通常, ,地址锁存器可使用地址锁存器可使用带三态缓冲输出带三态缓冲输出的的8D8D锁锁存器存器74LS37374LS373或或82828282, ,也可使用也可使用带清除端带清除端的的8D8D锁存器锁存器74LS27374LS273, ,地址锁存信号为地址锁存信号为ALEALE。 74LS37374LS373的的功能表功能表 OE OE G G功功 能能 0 0 1 1直通直通(OUTiOUTi=Di=Di) 0 00 0保持

16、保持(OUTiOUTi保持不变)保持不变) 1 1 输输 出出 高高 阻阻 程程序序存存储储器器E EP PR RO OM M的的扩扩展展 几种地址锁存器的管脚配置与几种地址锁存器的管脚配置与80318031的连接方法图的连接方法图: : 程程序序存存储储器器EPEPROROM M的的扩扩展展程程序序存存储储器器EPEPROROM M的的扩扩展展程程序序存存储储器器EPEPROROM M的的扩扩展展地址锁存器连接法地址锁存器连接法程程序序存存储储器器E EP PR RO OM M的的扩扩展展 74LS37374LS373和和82828282都是透明的都是透明的带有三态门带有三态门的的8D8D锁

17、存器锁存器, ,可简化成如图结构。可简化成如图结构。E EP PR RO OM M的的扩扩展展程程序序存存储储器器E EP PR RO OM M的的扩扩展展常用地址译码器常用地址译码器: 在用多片存储器芯片构成外部存储器时在用多片存储器芯片构成外部存储器时, ,除了低除了低8 8位地址需要锁存之外位地址需要锁存之外, ,还要由高位地址产生片选信号。还要由高位地址产生片选信号。 产生片选信号有线选法和译码法两种。产生片选信号有线选法和译码法两种。 所谓所谓线选法线选法就是就是用用某某几根多余几根多余的的高位地址线作为高位地址线作为存储器存储器的的片选信号片选信号, ,来实现外扩存储器的目的。来实

18、现外扩存储器的目的。 程程序序存存储储器器EPEPROROM M的的扩扩展展 线选法线选法由于由于剩余剩余的的高位地址不参加译码高位地址不参加译码, ,可为任意状态可为任意状态, ,所以将有所以将有很多地址空间重叠很多地址空间重叠。 线选法的优点是线选法的优点是电路简单电路简单; ;其缺点是不同其缺点是不同的高位地址线控制不同芯片的高位地址线控制不同芯片, ,使使地址空间地址空间是是不不连续连续的的, ,故只使用于外扩芯片数目较少、不太故只使用于外扩芯片数目较少、不太复杂的系统。复杂的系统。程程序序存存储储器器的的扩扩展展 所谓所谓译码法译码法是由是由译码器译码器组成译码电路组成译码电路, ,

19、译码电路译码电路将地址空间划分为若干块将地址空间划分为若干块, ,其其输出分别选通各存储器输出分别选通各存储器芯片芯片。 这样这样, ,即即充分利用了存储空间充分利用了存储空间, ,又又克服了空间分克服了空间分散的缺点散的缺点。 若全部地址都参加译码若全部地址都参加译码, ,称为全译码称为全译码; ;若部分地若部分地址参加译码址参加译码, ,称为部分译码称为部分译码, ,这时存在部分地址重叠这时存在部分地址重叠的情况。的情况。程程序序存存储储器器的的扩扩展展程程序序存存储储器器E EP PR RO OM M的的扩扩展展 常用的地址译码器是常用的地址译码器是3 3- -8 8线译码器线译码器74

20、LS13874LS138:每片每片存储器存储器8KB8KB= =2 21313每块每块存储器存储器4KB4KB= =2 21212程程序序存存储储器器的的扩扩展展程程序序存存储储器器E EP PR RO OM M的的扩扩展展双双2 2- -4 4线译码器线译码器74LS13974LS139:程程序序存存储储器器E EP PR RO OM M的的扩扩展展 1. 1.常用常用的的EPROMEPROM芯片芯片 紫外线擦除可编程只读存储器紫外线擦除可编程只读存储器EPROMEPROM可作可作为为MCS-51MCS-51单片机的外部程序存储器。单片机的外部程序存储器。 典 型 产 品 是典 型 产 品

21、是 I n t e lI n t e l 公 司 的 系 列 芯 片公 司 的 系 列 芯 片27162716( (2kB2kB8bit)8bit)、27322732( (4kB4kB8bit)8bit)、27642764( (8kB8kB8bit)8bit)、2712827128( (16kB16kB8bit)8bit)、2725627256( (32kB32kB8bit)8bit)和和2751227512( (64kB64kB8bit)8bit)等。等。 程程序序存存储储器器EPEPROROM M的的扩扩展展 EPROMEPROM芯片上芯片上均均有一个玻璃窗口有一个玻璃窗口, ,在紫外在紫

22、外光下照射光下照射1010分钟分钟左右左右, ,存储器中存储器中的的各位信息均各位信息均变为变为1 1, ,此时此时, ,可以通过编程器将工作程序固化可以通过编程器将工作程序固化到这些芯片中。到这些芯片中。 A0A0A15A15为为地址线地址线; ;D0D0D7D7为为数据输出数据输出线线; ;CECE是是片选线片选线, ,OEOE/ /VPPVPP是是数据输出选通数据输出选通/ /编程编程电源线电源线, ,PGMPGM是是编程脉冲输入端编程脉冲输入端。程程序序存存储储器器E EP PR RO OM M的的扩扩展展程程序序存存储储器器E EP PR RO OM M的的扩扩展展 2.2.使用单片

23、使用单片EPROMEPROM的的扩展电路扩展电路16KB16KB程程序序存存储储器器E EP PR RO OM M的的扩扩展展 3. 3.扩展多片扩展多片EPROMEPROM的的扩展电路扩展电路 与单片与单片EPROMEPROM扩展电路相比扩展电路相比, ,多片多片EPROMEPROM的的扩展除扩展除片选线片选线CECE外外, ,其它均与单片扩展电路相同其它均与单片扩展电路相同。 下图中给出了利用下图中给出了利用2712827128扩展扩展64k64k字节字节EPROMEPROM程序程序存储器的方法。存储器的方法。片选信号片选信号由译码选通法产生由译码选通法产生。 扩展多片程序存储器时扩展多片

24、程序存储器时, ,也可采用也可采用线选法线选法产生片产生片选信号。选信号。 00000000H-H-3FFF3FFFH,H,40004000H-H-7FFF7FFFH,H,80008000H-H-BFFFHBFFFH, ,C000C000H-H-FFFFFFFFH H 每片每片16KB16KB译码法译码法程程序序存存储储器器E EP PR RO OM M的的扩扩展展80008000H-H-BFFFBFFFH H40004000H-H-7FFF7FFFH H16KB16KB线选法线选法外外部部数数据据存存储储器器的的扩扩展展 扩展扩展外部数据存储器外部数据存储器: : 8031 8031单片机内

25、部有单片机内部有128128字节字节RAMRAM存储器。存储器。 CPUCPU对内部的对内部的RAMRAM具有丰富的操作指令。具有丰富的操作指令。 但是用于实时数据采集和处理时但是用于实时数据采集和处理时, ,仅靠片内提供的仅靠片内提供的128128个字节的数据存储器是远远不够的。个字节的数据存储器是远远不够的。 在这种情况下在这种情况下, ,可利用可利用MCS-51MCS-51的扩展功能扩展外部的扩展功能扩展外部数据存储器。数据存储器。 外外部部数数据据存存储储器器的的扩扩展展 常用的数据存储器有静态常用的数据存储器有静态RAMRAM和动态和动态RAMRAM两两种。种。 动态动态RAMRAM

26、与静态与静态RAMRAM相比相比, ,具有具有成本低成本低、功功耗小耗小的优点的优点, ,但它但它需要需要刷新电路刷新电路, ,以保持数据信以保持数据信息不丢失息不丢失, ,其接口电路较复杂。其接口电路较复杂。 故在单片机系统中没有得到广泛的应用。故在单片机系统中没有得到广泛的应用。外外部部数数据据存存储储器器的的扩扩展展 随着存储器技术的不断发展随着存储器技术的不断发展, ,近年来出现近年来出现了一种新型的动态随机存储器了一种新型的动态随机存储器集成动态随机集成动态随机存储器存储器iRAMiRAM。 它将它将一个完整一个完整的的动态动态RAMRAM系统系统( (包括包括动态刷动态刷新硬件逻辑

27、新硬件逻辑) )集成到一个芯片之内集成到一个芯片之内, ,从而从而兼有兼有静静态态RAMRAM、动态动态RAMRAM的的优点优点。 外外部部数数据据存存储储器器的的扩扩展展 与动态与动态RAMRAM相比相比, ,静态静态RAMRAM无须无须考虑为保持考虑为保持数据而设置的数据而设置的刷新电路刷新电路, ,故扩展电路较简单。故扩展电路较简单。 但它的但它的功耗功耗及及价格较动态价格较动态RAMRAM高高。 尽管如此尽管如此, ,目前在单片机系统中最常用的目前在单片机系统中最常用的RAMRAM还是静态还是静态RAM,RAM,故本节主要讨论静态故本节主要讨论静态RAMRAM与与MCS-51MCS-5

28、1的接口。的接口。外外部部数数据据存存储储器器的的扩扩展展外部数据存储器外部数据存储器的的操作时序操作时序: : MCS-51 MCS-51单片机设置了专门指令单片机设置了专门指令MOVXMOVX来来访问外部数访问外部数据存储器据存储器, ,共有共有4 4条寄存器间接寻址指令。条寄存器间接寻址指令。 外外部部数数据据存存储储器器的的扩扩展展 常用的常用的静态静态RAMRAM芯片芯片: : 在在80318031单片机应用系统中单片机应用系统中, ,静态静态RAMRAM是最常见的是最常见的, ,由于这种存储器的设计无需考虑刷新问题由于这种存储器的设计无需考虑刷新问题, ,因而它与因而它与微处理器的

29、接口很简单。微处理器的接口很简单。 最常用的静态最常用的静态RAMRAM芯片有芯片有61166116( (2kB2kB8)8)、62646264( (8kB8kB8)8)、6212862128( (16kB16kB8)8)、6225662256( (32kB32kB8)8)等多种等多种, ,它们都用单一它们都用单一+5V+5V供电供电, ,双列直插封装双列直插封装,6116,6116为为2424引脚封装引脚封装,6264,6264、6212862128、6225662256为为2828引脚封装。引脚封装。外外部部数数据据存存储储器器的的扩扩展展SRAMSRAM的引脚功能描述如下:的引脚功能描述

30、如下:A0A0 AnAn: :地址输入线地址输入线; ;对对6116,n=10;6116,n=10;对对 6264,n=12;6264,n=12;其他的类推。其他的类推。D0D0 D7D7: :双向数据线双向数据线;CECE: :是是片选输入线片选输入线, ,低电平有效低电平有效;6264;6264的的CS1CS1为为 高电平高电平, ,且且CECE为低电平时才选中该芯片。为低电平时才选中该芯片。WEWE: :写允许信号输入线写允许信号输入线, ,低电平有效;低电平有效;OEOE: :读选通信号输入线读选通信号输入线, ,低电平有效;低电平有效;V VCCCC: :工作电源工作电源+5V+5V

31、。GNDGND: :电源地。电源地。外外部部数数据据存存储储器器的的扩扩展展外外部部数数据据存存储储器器的的扩扩展展 静态静态RAMRAM通常有通常有读出读出、写入写入和和未选中未选中三种工作方式。三种工作方式。 SRAMSRAM的的工作方式选择表工作方式选择表外外部部数数据据存存储储器器的的扩扩展展 64kB64kB字节以内字节以内SRAMSRAM的扩展的扩展: : 扩展数据存储器空间地址同外扩程序存储器一样扩展数据存储器空间地址同外扩程序存储器一样, ,由由P2P2口提供高口提供高8 8位地址位地址,P0,P0口分时提供低口分时提供低8 8位地址和位地址和8 8位位双向数据总线。双向数据总

32、线。 片外片外SRAMSRAM的读和写由的读和写由80318031的的RD(P3.1)RD(P3.1)和和WR(P3.6)WR(P3.6)信号控制信号控制, ,片选端片选端(CE)(CE)由地址译码器的译码输出控制。由地址译码器的译码输出控制。 因此因此,SRAM,SRAM在与单片机连接时在与单片机连接时, ,主要解决地址分配、主要解决地址分配、数据线和控制信号线的连接。数据线和控制信号线的连接。线选法线选法C000C000H HDFFFDFFFH H A000A000H HBFFFBFFFH H 60006000H H7FFF7FFFH H 8KB8KB 外外部部数数据据存存储储器器的的扩扩

33、展展三片三片62646264对应的存储空间表对应的存储空间表P2P2. .7 P27 P2. .6 6 P2P2. .5 5 选中芯选中芯片片 地址范围地址范围 存储空间存储空间 1 11 1 0 0 IC1 IC1 0 0C000C000H H0DFFF0DFFFH H 8KB 8KB 1 1 0 0 1 1 IC2 IC2 0 0A000A000H H0 0BFFFBFFFH H 8KB8KB 0 0 1 1 1 1 IC3 IC3 60006000H H7FFF7FFFH H 8KB 8KB 16KB16KB译码法译码法00000000H H3FFF3FFFH H 40004000H H

34、7FFF7FFFH H 80008000H H0BFFF0BFFFH H 0 0C000C000H H0 0FFFFFFFFH H 外外部部数数据据存存储储器器的的扩扩展展各各6212862128地址分配表地址分配表138138译码器译码器输入输入 P2P2. .7 P27 P2. .6 6 138138译码器译码器有效输出有效输出 选中选中芯片芯片地址范围地址范围 存储存储容量容量0 0 0 0 Y Y0 0 IC1 IC1 00000000H H3FFF3FFFH H 16KB 16KB 0 1 0 1 Y Y1 1 IC2 IC2 40004000H H7FFF7FFFH H 16KB1

35、6KB 1 0 1 0 Y Y2 2 IC3 IC3 80008000H H0 0BFFFBFFFH H 16KB 16KB 1 1 1 1 Y Y3 3 IC4 IC4 0 0C000HC000H0 0FFFFFFFFH H 16KB16KB ( (32KB32KB) )地址范围为地址范围为0000H0000H7FFFH7FFFH。 2KB2KB4KB4KBEPROMEPROM和和RAMRAM的的综合扩展综合扩展外外部部存存储储器器的的扩扩展展 27322732(1 1)的地址范围:)的地址范围:70007000H H7FFF7FFFH;H; 27322732(2 2)的地址范围)的地址范围

36、: : B000B000H HBFFFBFFFH; H; 61166116(1 1)的地址范围:)的地址范围:E800E800H HEFFFEFFFH; H; 61166116(2 2)的地址范围:)的地址范围:D800D800H HDFFFDFFFH H。IC2IC2和和IC4IC4占用地址空间占用地址空间为为A000A000H HBFFFBFFFH H共共8KB8KBIC1IC1、IC3IC3地址范围地址范围C000C000H HDFFFDFFFH H线选法线选法译码法译码法00000000H-H-1FFF1FFFH H2000020000H-H-3FFFF3FFFFH H40000400

37、00H-H-5FFFF5FFFFH H 6000060000H-H-7FFFF7FFFFH H外外部部数数据据存存储储器器的的扩扩展展 例例: :将程序存储器中以将程序存储器中以TABTAB为首址的为首址的3232个单个单元的内容依次传送到外部元的内容依次传送到外部RAMRAM以以7000H7000H为首地址为首地址的区域去。的区域去。 DPTRDPTR指向标号指向标号TABTAB的首地址。的首地址。R0R0既指示外既指示外部部RAMRAM的地址的地址, ,又表示数据标号又表示数据标号TABTAB的位移量。的位移量。本程序的循环次数为本程序的循环次数为32,R032,R0的值的值:0:031,

38、R031,R0的值的值达到达到3232就结束循环。就结束循环。外外部部数数据据存存储储器器的的扩扩展展 MOV DPTRMOV DPTR,#,#TAB ;ROMTAB ;ROM数据表首址数据表首址 MOVMOV R0 R0,#,#0 ;R00 ;R0清清0 0AGIN:MOVAGIN:MOV A,R0 ;R0: A,R0 ;R0:数据表位移量数据表位移量 MOVCMOVC A A,A+DPTR A+DPTR ;ROM;ROM查表查表, ,读数据读数据 MOV P2,#70H ; MOV P2,#70H ;外外RAMRAM高高8 8位地址位地址 MOVX R0,A MOVX R0,A ; ;存数

39、据存数据,R0:,R0:外外RAMRAM的低的低8 8位地址位地址 INC R0 INC R0 CJNE CJNE R0R0,#,#32,AGIN ;R0:32,AGIN ;R0:循环次数循环次数HERE:SJMPHERE:SJMP HEREHERE TAB:DB TAB:DB ;ROMROM表格表格 向外部存储器的向外部存储器的7000H7000H8000H8000H区间循环输入区间循环输入00000FFH0FFH数据段。数据段。 #include #include void main(void) void main(void) unsigned char unsigned char * *

40、sour,sour,* *den,tmpden,tmp; ; intint num; num; sour = (unsigned char sour = (unsigned char xdataxdata* *)(0 x7000);)(0 x7000); den = (unsigned char den = (unsigned char xdataxdata* *)(0 x8000);)(0 x8000); for(num=0;num0 x1000;num+)for(num=0;num0 x1000;num+) * *( (sour+numsour+num) = num & 0 xff

41、;) = num & 0 xff; for(num=0;num0 x1000;num+) for(num=0;num0 x1000;num+) * *( (den+numden+num) = ) = * *( (sour+numsour+num);); while(1);/ while(1);/* * 此处设置断点观察内存此处设置断点观察内存8000H-8000H-8fff8fff的内容是否与的内容是否与7000-7fffHH7000-7fffHH的内容一致的内容一致* */ / 外外部部数数据据存存储储器器的的扩扩展展超过超过64K64K字节字节SRAMSRAM的扩展的扩展 MCS-

42、51MCS-51系列单片机系列单片机64K64K字节外部字节外部RAMRAM空间是由空间是由P0P0口和口和P2P2口提供的口提供的1616根地址线决定的根地址线决定的, ,要想扩大要想扩大RAMRAM空间空间, ,可用增加地址线的办法来解决。可用增加地址线的办法来解决。 每增加一根地址线每增加一根地址线, ,空间扩大一倍。空间扩大一倍。 增加地址线的方法有以下两种增加地址线的方法有以下两种: :一种是利用一种是利用P1P1口增加地址线口增加地址线, ,另一种是利用扩展另一种是利用扩展I/OI/O口的方法增口的方法增加地址线。加地址线。 外外部部数数据据存存储储器器的的扩扩展展 利用利用P1P

43、1口增加地址线的方法:口增加地址线的方法: 利用利用P1P1口作地址线口作地址线, ,这样扩展存储器的地这样扩展存储器的地址线可增加到址线可增加到2424根。根。 P1P1口的口的8 8根地址线可直接接到存储器响应根地址线可直接接到存储器响应的地址线上的地址线上, ,也可作为译码器的输入信号线也可作为译码器的输入信号线, ,用用来选择芯片。来选择芯片。 具体用法同前面介绍的高具体用法同前面介绍的高8 8位地址线的用位地址线的用法一样。法一样。外外部部数数据据存存储储器器的的扩扩展展 比如比如, ,当选用当选用64K64K的存储器芯片的存储器芯片(62512)(62512)时时, ,可用可用P1

44、P1口作为每一个口作为每一个64K64K的片选信号。的片选信号。 即可把即可把64K64K看成一页看成一页, ,而页的选择由而页的选择由P1P1口控口控制。制。 利用利用P1P1口可选择口可选择256256个个64K64K的页。的页。 利用利用P1P1口增加地址线的方法简单口增加地址线的方法简单, ,但要占但要占用单片机的用单片机的I/OI/O资源。资源。外外部部数数据据存存储储器器的的扩扩展展 利用扩展利用扩展I/OI/O口的方法增加地址线:口的方法增加地址线: 需要一个锁存器需要一个锁存器, ,并将此锁存器作为外扩并将此锁存器作为外扩RAMRAM的一个单元的一个单元, ,分配一个地址分配一

45、个地址, ,利用利用MOVXMOVX指令往指令往锁存器写一个数锁存器写一个数, ,则锁存器的输出可作为新增加则锁存器的输出可作为新增加的地址线。的地址线。 这样这样, ,它就可和它就可和MCS-51MCS-51单片机的单片机的1616根地址线根地址线及控制线配合选中不同的及控制线配合选中不同的64K64K字节区。字节区。 外外部部数数据据存存储储器器的的扩扩展展 扩展既可读又可写的程序存储器扩展既可读又可写的程序存储器: : 在单片机中在单片机中, ,程序存储器和数据存储器是程序存储器和数据存储器是严格分开的严格分开的, ,它们使用不同的读选通控制信号它们使用不同的读选通控制信号, ,通过不同

46、的读指令进行读操作。通过不同的读指令进行读操作。 读程序存储器时产生读程序存储器时产生PSENPSEN控制信号控制信号, ,而访而访问数据存储器时产生的是问数据存储器时产生的是RDRD信号。信号。外外部部数数据据存存储储器器的的扩扩展展 由于程序存放在由于程序存放在EPROMEPROM中中, ,这就给程序调试带这就给程序调试带来了困难来了困难, ,因为放在程序存储器中的程序只能运因为放在程序存储器中的程序只能运行却不能修改行却不能修改, ,而在数据存储器中的内容虽然可而在数据存储器中的内容虽然可以修改以修改, ,但不能运行程序。但不能运行程序。 为解决这一矛盾为解决这一矛盾, ,可把数据存储器

47、芯片经过可把数据存储器芯片经过特殊的连接特殊的连接, ,充作程序存储器使用充作程序存储器使用, ,使之既可以运使之既可以运行程序行程序, ,又可以修改程序。又可以修改程序。 这时的数据存储器可称为仿真的程序存储器。这时的数据存储器可称为仿真的程序存储器。外外部部数数据据存存储储器器的的扩扩展展 程序存储器使用程序存储器使用PSENPSEN作选通信号作选通信号, ,而数据而数据存储器使用存储器使用RDRD作选通信号。作选通信号。 如果把这两个信号经过与门综合后如果把这两个信号经过与门综合后, ,再作再作为为RAMRAM存储芯片的读选通信号存储芯片的读选通信号, ,即可达到扩展即可达到扩展可读写程

48、序存储器的目的。可读写程序存储器的目的。外外部部数数据据存存储储器器的的扩扩展展外外部部数数据据存存储储器器的的扩扩展展 电电擦除可编程只读存储器擦除可编程只读存储器E E2 2PROMPROM: : 是近年来推出的新产品。是近年来推出的新产品。 其主要特点是能在计算机系统中进行在线其主要特点是能在计算机系统中进行在线修改修改, ,并能在断电的情况下保持修改结果。并能在断电的情况下保持修改结果。 它它既具有既具有RAMRAM的的随机读写随机读写特点特点, ,又又具有具有ROMROM的的非易失性非易失性优点优点。 外外部部数数据据存存储储器器的的扩扩展展 每个每个单元可重复进行单元可重复进行一万

49、次改写一万次改写, ,保留信保留信息息的的时间长达时间长达2020年年, ,不存在不存在EPROMEPROM在日光下信息在日光下信息缓慢丢失的问题。缓慢丢失的问题。 因此因此, ,自从自从E E2 2PROMPROM问世以来问世以来, ,在智能化仪器在智能化仪器仪表、控制装置、开发系统中得到了广泛应用。仪表、控制装置、开发系统中得到了广泛应用。E E2 2P PR RO OM M扩扩展展电电路路 E E2 2PROMPROM的应用特性的应用特性: : 对硬件电路没有特殊要求对硬件电路没有特殊要求, ,操作十分简单。操作十分简单。 由于由于E E2 2PROMPROM片内设有编程所需要片内设有编

50、程所需要的的高压脉冲产生高压脉冲产生电路电路, ,因而因而无需外加无需外加编程电源编程电源和和编程脉冲编程脉冲即可完成写即可完成写入工作入工作。 与与RAMRAM芯片相比芯片相比, ,E E2 2PROMPROM的的写写操作速度操作速度慢慢。 E E2 2P PR RO OM M扩扩展展电电路路 采用采用5V5V电擦除电擦除的的E E2 2PROMPROM后后, ,通常通常不需不需设置单独设置单独的的擦除操作擦除操作, ,可在写入过程中可在写入过程中自动擦自动擦抹抹( (传统传统EPROMEPROM芯片的擦抹需经紫外线照射芯片的擦抹需经紫外线照射) )。 但它的擦除但它的擦除/ /写入次数是有

51、限制的写入次数是有限制的, ,不宜不宜用在数据频繁更新的场合。用在数据频繁更新的场合。E E2 2P PR RO OM M扩扩展展电电路路 将将E E2 2PROMPROM作为作为程序存储器程序存储器使用时使用时,E,E2 2PROMPROM应按程应按程序存储器连接方法编址序存储器连接方法编址。 如果如果作为作为数据存储器数据存储器使用使用, ,连接方式较灵活连接方式较灵活, ,既既可可按数据存储器按数据存储器或或I I/ /O O口编址口编址, ,也可以通过扩展也可以通过扩展I/OI/O口与口与系统总线相连。系统总线相连。常用的常用的E E2 2PROMPROM芯片介绍芯片介绍 常 用 的常

52、 用 的 E E2 2P R O MP R O M 芯 片 有芯 片 有 2 8 1 6 / 2 8 1 6 A , 2 8 1 6 / 2 8 1 6 A , 2817/2817A,2864A2817/2817A,2864A等。等。E E2 2P PR RO OM M扩扩展展电电路路E E2 2P PR RO OM M扩扩展展电电路路 2817A2817A与单片机与单片机的的接口电路设计接口电路设计: : Intel2817A Intel2817A是是2kB2kB的的电擦除可编程只读存电擦除可编程只读存储器储器, ,采用单一采用单一+5V+5V供电供电, ,最大工作电流最大工作电流为为150

53、mA150mA, ,维持电流维持电流为为55mA55mA, ,读出时间最大读出时间最大为为250ns250ns, ,写入时间大约为写入时间大约为16ms16ms。 片内设有编程所需的高压脉冲产生电路片内设有编程所需的高压脉冲产生电路, ,无需外加编程电源和写入脉冲即可工作。无需外加编程电源和写入脉冲即可工作。 E E2 2P PR RO OM M扩扩展展电电路路E E2 2P PR RO OM M扩扩展展电电路路 2817A2817A在在写入一个字节写入一个字节的的指令码指令码或或数据之前数据之前, ,自动自动擦除要写入的单元擦除要写入的单元, ,因而因而无需进行专门无需进行专门的的擦除操作擦

54、除操作。 2817A2817A既既可作为外部可作为外部的的数据存储器数据存储器, ,又可又可作为作为程序程序存储器存储器。 通过通过P1P1. .0 0查询查询2817A2817A的的RDYRDY/ /BUSYBUSY* *状态状态, ,来来完成对完成对2817A2817A的的写操作写操作。 片选信号由片选信号由P2.7P2.7提供。提供。E E2 2P PR RO OM M扩扩展展电电路路 E E2 2PROM PROM 2864A2864A Intel2864A Intel2864A是是8K8K8 8位电擦除可编程只读存储器位电擦除可编程只读存储器, ,单一单一+5V+5V供电供电, ,最大工作电流最大工作电流160mA,160m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论