片机原理及应用课件第8章课件_第1页
片机原理及应用课件第8章课件_第2页
片机原理及应用课件第8章课件_第3页
片机原理及应用课件第8章课件_第4页
片机原理及应用课件第8章课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、第第8 8章章 MCS-51MCS-51单片机扩展存储器的设计单片机扩展存储器的设计8.1 8.1 概述概述片内的资源如不满足需要,需外扩存储器和片内的资源如不满足需要,需外扩存储器和I/OI/O功能部功能部件:件:系统扩展系统扩展问题,内容主要有:问题,内容主要有:(1)(1)外部存储器的扩展外部存储器的扩展(外部存储器又分为外部程序存(外部存储器又分为外部程序存储器和外部数据存储器)储器和外部数据存储器)(2)(2) I/O I/O接口部件的扩展接口部件的扩展。本章介绍本章介绍MCS 51MCS 51单片机如何扩展外部存储器,单片机如何扩展外部存储器,I/OI/O接口部件的扩展下一章介绍。

2、接口部件的扩展下一章介绍。 系统扩展结构如下图系统扩展结构如下图: :MCS-51MCS-51单片机外部存储器结构单片机外部存储器结构: :哈佛结构哈佛结构 。MCS-96MCS-96单片机的存储器结构单片机的存储器结构: :普林斯顿结构普林斯顿结构。MCS-51MCS-51数据存储器和程序存储器的数据存储器和程序存储器的最大扩展空间各为最大扩展空间各为6464KBKB。系统扩展首先要系统扩展首先要构造系统总线构造系统总线。8.2 8.2 系统总线及总线构造系统总线及总线构造8.2.1 8.2.1 系统总线系统总线按其功能通常把系统总线分为三组:按其功能通常把系统总线分为三组: 1. 1.地址

3、总线地址总线(Adress Bus,Adress Bus,简写简写ABAB) 2.2.数据总线数据总线( (Data BusData Bus,简写简写DB)DB) 3. 3.控制总线控制总线(Control BusControl Bus,简写简写CBCB) 8.2.2 8.2.2 构造系统总线构造系统总线 系统扩展的首要问题系统扩展的首要问题: : 构造系统总线,然后再往系统总线上构造系统总线,然后再往系统总线上“挂挂”存储器存储器芯片或芯片或I/OI/O接口芯片,接口芯片,“挂挂”存储器芯片就是存储器存储器芯片就是存储器扩展,扩展,“挂挂”I/OI/O接口芯片就是接口芯片就是I/OI/O扩展

4、。扩展。MCS-51MCS-51由于受引脚数目的限制,数据线和低由于受引脚数目的限制,数据线和低8 8位地址线位地址线复用。复用。为了将它们分离出来,需要为了将它们分离出来,需要外加地址锁存器外加地址锁存器,从而构,从而构成与一般成与一般CPUCPU相类似的片外三总线,见图相类似的片外三总线,见图8-28-2。 地址锁存器一般采用地址锁存器一般采用7474LS373LS373,采用采用7474LS373LS373的地址总的地址总线的扩展电路如下图线的扩展电路如下图( (图图8-3)8-3)。 1.1.以以P0P0口作为低口作为低8 8位地址位地址/ /数据总线。数据总线。 2 2以以P2P2口

5、的口线作高位地址线。口的口线作高位地址线。 3. 3.控制信号线。控制信号线。* *ALEALE-低低8 8位地址的锁存控制信号。位地址的锁存控制信号。* *PSENPSEN* *-扩展程序存储器的读选通信号。扩展程序存储器的读选通信号。* *EAEA* *-内外程序存储器的选择控制信号。内外程序存储器的选择控制信号。* *由由RDRD* *和和WRWR* *信号作为扩展数据存储器和信号作为扩展数据存储器和I/OI/O口的口的 读选通、写选通信号。读选通、写选通信号。 尽管尽管MCS-51MCS-51有有4 4个并行个并行I/OI/O口,共口,共3232条口线,但由于系条口线,但由于系统扩展需

6、要,统扩展需要,真正作为数据真正作为数据I/OI/O使用的,就剩下使用的,就剩下P1P1口和口和P3P3口的部分口线。口的部分口线。8.2.3 8.2.3 单片机系统的串行扩展技术单片机系统的串行扩展技术 优点:优点:串行接口器件体积小,与单片机接口时需要的串行接口器件体积小,与单片机接口时需要的I/OI/O口线很少(仅需口线很少(仅需3-43-4根),提高可靠性。根),提高可靠性。串行扩展可以串行扩展可以减少芯片的封装引脚,降低成本,简化减少芯片的封装引脚,降低成本,简化了系统结构,增加了系统扩展的灵活性了系统结构,增加了系统扩展的灵活性。为实现串。为实现串行扩展,一些公司(例如行扩展,一些

7、公司(例如PHILIPSPHILIPS和和ATMELATMEL公司等)公司等)已经推出了已经推出了非总线型单片机芯片非总线型单片机芯片,并且具有,并且具有SPISPI(Serial Periperal InterfaceSerial Periperal Interface)三线总线三线总线和和I I2 2C C公用双总线的两种串行总线形式。与此相配套,也公用双总线的两种串行总线形式。与此相配套,也推出了推出了相应的串行外围接口芯片相应的串行外围接口芯片。缺点缺点: :串行接口器件速度较慢串行接口器件速度较慢在大多数应用的场合,还是并行扩展占主导地位。在大多数应用的场合,还是并行扩展占主导地位。

8、 8.3 8.3 读写控制、地址空间分配和外部地址锁存器读写控制、地址空间分配和外部地址锁存器8.3.1 8.3.1 存储器扩展的读写控制存储器扩展的读写控制RAMRAM芯片:芯片:读写控制引脚,记为读写控制引脚,记为OEOE* *和和WEWE* * ,与与MCS-MCS-5151 的的RDRD* *和和WRWR* *相连。相连。EPROMEPROM芯片:芯片:只能读出,故只有读出引脚,记为只能读出,故只有读出引脚,记为OEOE* * , 该引脚与该引脚与MCS-51MCS-51的的PSENPSEN* *相连。相连。8.3.2 8.3.2 存储器地址空间分配存储器地址空间分配MCS-51MCS

9、-51发出的地址发出的地址是用来是用来选择某个存储器单元进行读选择某个存储器单元进行读写,写,要完成这种功能,必须进行两种选择:要完成这种功能,必须进行两种选择: “ “片选片选”和和 “单元选择单元选择”。存储器空间分配除考虑地址线连接外,还讨论存储器空间分配除考虑地址线连接外,还讨论各存储各存储器芯片在整个存储空间中所占据的地址范围,器芯片在整个存储空间中所占据的地址范围, 常用的存储器地址分配的方法有两种:常用的存储器地址分配的方法有两种:线性选择法线性选择法(简称线选法)(简称线选法)地址译码法地址译码法(简称译码法)。(简称译码法)。1. 1. 线选法线选法 直接利用直接利用系统的高

10、位地址线系统的高位地址线作为存储器芯片(或作为存储器芯片(或I/OI/O接接口芯片)的片选信号。口芯片)的片选信号。 优点:优点:电路简单,不需要译码器硬件,体积小,电路简单,不需要译码器硬件,体积小, 成本低。成本低。 缺点:缺点:可寻址的器件数目受到限制,地址空间不连可寻址的器件数目受到限制,地址空间不连 续,地址不唯一。续,地址不唯一。例例 某一系统,需要外扩某一系统,需要外扩8 8KBKB的的EPROMEPROM(2 2片片27322732),),4 4KBKB的的RAMRAM(2 2片片61166116),这些芯片与),这些芯片与MCS-51MCS-51单片机地址单片机地址分配有关的

11、地址线连线,电路如下图。分配有关的地址线连线,电路如下图。 2732:2732:4 4KBKB程序存储器,有程序存储器,有1212根地址线根地址线A0A0A11A11,分别与分别与单片机的单片机的P0P0口及口及P2.0P2.0P2.3P2.3口相连。口相连。27322732(1 1)的片)的片选端接选端接A15A15(P2.7P2.7),),27322732(2 2)的片选端接的片选端接A14A14(P2.6P2.6)。)。当要选中某个芯片时,单片机当要选中某个芯片时,单片机P2P2口对应的片选信号引口对应的片选信号引脚应为低电平,脚应为低电平,其它引脚一定要为高电平其它引脚一定要为高电平。

12、6116:6116:2 2KBKB数据存储器,需要数据存储器,需要1111根地址线作为单元的选根地址线作为单元的选择,而剩下的择,而剩下的P2P2口线(口线(P2.4P2.4P2.7P2.7)作为片选线。作为片选线。 两片程序存储器的地址范围:两片程序存储器的地址范围: 27322732(1 1)的地址范围:)的地址范围:70007000H H7FFFH;7FFFH; 2732 2732(2 2)的地址范围)的地址范围: : B000HB000HBFFFH; BFFFH; 6116 6116(1 1)的地址范围:)的地址范围:E800HE800HEFFFH; EFFFH; 6116 6116(

13、2 2)的地址范围:)的地址范围:D800HD800HDFFFHDFFFH。 线选法特点线选法特点:简单明了,不需另外增加硬件电路。只:简单明了,不需另外增加硬件电路。只适于外扩芯片不多,规模不大的单片机系统。适于外扩芯片不多,规模不大的单片机系统。2. 2. 译码法译码法 最常用的译码器芯片:最常用的译码器芯片:7474LS138LS138(3-83-8译码器)译码器)7474LS139LS139(双双2-42-4译码器)译码器)7474LS154LS154(4-164-16译码器)译码器)。可根据。可根据设计任务的要求,产生片选信号。设计任务的要求,产生片选信号。全译码:全译码:全部高位地

14、址线都参加译码;全部高位地址线都参加译码;部分译码:部分译码:仅部分高位地址线参加译码。仅部分高位地址线参加译码。 (1)74 (1)74LS138LS138(3 38 8译码器)译码器) 引脚如图引脚如图8-58-5,译码功能如表,译码功能如表8-18-1(P167P167)所示。当译所示。当译码器的码器的输入为某一个固定编码时,其输出只有某一输入为某一个固定编码时,其输出只有某一个固定的引脚输出为低电平,其余的为高电平。个固定的引脚输出为低电平,其余的为高电平。 7474LS138LS138译码器真值表译码器真值表 输输 入入 输输 出出 G1 G2AG1 G2A* * G2B G2B*

15、* C B A Y7 C B A Y7* * Y6Y6* * Y5Y5* * Y4Y4* * Y3Y3* * Y2Y2* * Y1Y1* * Y0Y0* * ( 2) 74( 2) 74LS139LS139(双双2-42-4译码器)译码器) 引脚如下图。真值表如表引脚如下图。真值表如表8-28-2(P168P168)所示。所示。下面以下面以7474LS138LS138为例为例, , 介绍如何进行地址分配。介绍如何进行地址分配。例例 要扩要扩8 8片片8 8KBKB的的RAM 6264RAM 6264,如何通过如何通过7474LS138LS138把把6464KBKB空间分配给各个芯片?空间分配给

16、各个芯片?采用的是全地址译码方式,单片机发地址码时,每次采用的是全地址译码方式,单片机发地址码时,每次只能选中一个存储单元。同类存储器间不会产生地只能选中一个存储单元。同类存储器间不会产生地址重叠的问题。址重叠的问题。如果如果用用7474LS138LS138把把6464K K空间全部划分为每块空间全部划分为每块4 4KBKB,如何如何划分呢?见下图。划分呢?见下图。8.3.3 8.3.3 外部地址锁存器外部地址锁存器地址锁存器芯片地址锁存器芯片: 74: 74LS373LS373、82828282、74LS57374LS573等。等。1. 1. 锁存器锁存器7474LS373LS373带有三态

17、门的带有三态门的8 8D D锁存器锁存器, ,其引脚其内部结构如下图。其引脚其内部结构如下图。 引脚说明如下引脚说明如下: :D7D7D0:D0: 8 8位数据输入线。位数据输入线。Q7Q7Q0:Q0: 8 8位数据输出线。位数据输出线。G:G:数据输入锁存选通信号数据输入锁存选通信号, , OEOE* *: : 数据输出允许信号数据输出允许信号2. 2. 锁存器锁存器82828282功能及内部结构与功能及内部结构与7474LS373LS373完全一样,只是其引脚的排完全一样,只是其引脚的排列与列与7474LS373LS373不同不同 ,82828282的引脚如下图。的引脚如下图。 引脚的排列

18、引脚的排列为绘制印刷电路板时的布线提供了方便。为绘制印刷电路板时的布线提供了方便。3 3锁存器锁存器7474LS573LS573 输入的输入的D D端和输出的端和输出的Q Q端也是依次排在芯片的两侧,端也是依次排在芯片的两侧,与锁存器与锁存器82828282一样,一样,为绘制印刷电路板时的布线为绘制印刷电路板时的布线提供了方便。提供了方便。8.4 8.4 程序存储器程序存储器EPROMEPROM的扩展的扩展 采用只读存储器,非易失性。采用只读存储器,非易失性。(1 1)掩膜)掩膜ROMROM在制造过程中编程。成本较高,因此只适合于大批量在制造过程中编程。成本较高,因此只适合于大批量生产。生产。

19、(2 2)可编程)可编程ROMROM(PROMPROM)用独立的编程器写入。但用独立的编程器写入。但PROMPROM只能写入一次,且不能只能写入一次,且不能再修改。再修改。(3 3)EPROMEPROM电信号编程,紫外线擦除的只读存储器芯片。电信号编程,紫外线擦除的只读存储器芯片。 (4 4)E E2 2PROMPROM( EEPROM EEPROM)电信号编程,电信号擦除的电信号编程,电信号擦除的ROMROM芯片。读写操作与芯片。读写操作与RAMRAM几乎没有什么差别,只是写入的速度慢一些。但断几乎没有什么差别,只是写入的速度慢一些。但断电后能够保存信息。电后能够保存信息。(5 5)Flas

20、h ROMFlash ROM又称闪烁存储器,简称闪存。又称闪烁存储器,简称闪存。大有取代大有取代E E2 2PROMPROM的趋势。的趋势。8.4.1 8.4.1 常用常用EPROMEPROM芯片介绍芯片介绍典型芯片是典型芯片是2727系系列列产品,例如,产品,例如, 27642764(8 8KBKB8 8)、)、2712827128(16KB16KB8 8)、)、2725627256(32KB32KB8 8)、)、2751227512(64KB64KB8 8)。)。 “27”“27”后面的数字表示其位存储容后面的数字表示其位存储容量。量。 扩展程序存储器时,应尽量用大容量的芯片。扩展程序存储

21、器时,应尽量用大容量的芯片。1.1.常用的常用的EPROMEPROM芯片芯片 参数见表参数见表8-48-4(P123P123)。)。引脚如下图。引脚如下图。引脚功能如下:引脚功能如下:A0A0A15A15:地址线引脚。数目决定存储容量来定,用地址线引脚。数目决定存储容量来定,用 来进行单元选择。来进行单元选择。D7D7D0D0:数据线引脚数据线引脚CECE* *:片选输入端片选输入端OEOE* * :输出允许控制端输出允许控制端PGMPGM* *:编程时,加编程脉冲的输入端编程时,加编程脉冲的输入端VppVpp:编程时,编程电压(编程时,编程电压(+12+12V V或或+25+25V V)输入

22、端输入端VccVcc:+5V+5V,芯片的芯片的工作工作电压。电压。 GNDGND:数字地。数字地。 NCNC:无用端无用端 2. 2. EPROMEPROM芯片的工作方式芯片的工作方式(1 1)读出方式)读出方式 片选控制线为低片选控制线为低, ,同时输出允许控制线为低,同时输出允许控制线为低,VppVpp为为+5+5V V,指定地址单元的内容从指定地址单元的内容从D7D7D0D0上读出。上读出。 (2 2)未选中方式)未选中方式 片选控制线为高电平。片选控制线为高电平。(3 3)编程方式)编程方式 Vpp Vpp端加上规定高压端加上规定高压, , CECE* *和和OEOE* *端加合适电

23、平端加合适电平( (不同的芯片要求不同不同的芯片要求不同) ),就能将数据线上的数据,就能将数据线上的数据写入到指定的地址单元。写入到指定的地址单元。 (4 4)编程校验方式)编程校验方式 (5 5)编程禁止方式)编程禁止方式 输出呈高阻状态,不写入程序。输出呈高阻状态,不写入程序。8.4.2 8.4.2 程序存储器的操作时序程序存储器的操作时序 1. 1. 访问程序存储器的控制信号访问程序存储器的控制信号(1 1)ALE ALE (2 2)PSENPSEN* *(3 3)EAEA* *如果指令是从片外如果指令是从片外EPROMEPROM中读取,中读取,ALEALE用于低用于低8 8位地址位地

24、址锁存,锁存,PSENPSEN* *接外扩接外扩EPROMEPROM的的OEOE* *脚。脚。P0P0口口: :分时低分时低8 8位地址总线和数据总线,位地址总线和数据总线,P2P2口口: :高高8 8位地位地址线。址线。 2. 2. 操作时序操作时序 (1) (1) 应用系统中无片外应用系统中无片外RAMRAM (2) 应用系统中接有片外应用系统中接有片外RAM 由图由图( (b)b)可看出:可看出:(1 1)将)将ALEALE用作定时脉冲输出时,执行一次用作定时脉冲输出时,执行一次MOVXMOVX指令指令就会丢失一个脉冲。就会丢失一个脉冲。(2 2)只有在执行)只有在执行MOVXMOVX指

25、令时的第二个机器周期期间,指令时的第二个机器周期期间,地址总线才由数据存储器使用。地址总线才由数据存储器使用。8.4.3 8.4.3 典型的典型的EPROMEPROM接口电路接口电路1.1.使用单片使用单片EPROMEPROM的扩展电路的扩展电路 2716 2716、2732 2732 EPROMEPROM价格贵,容量小,且难以买到。价格贵,容量小,且难以买到。仅介绍仅介绍27642764、2712827128、2725627256、2751227512芯片的接口电路。芯片的接口电路。 下图为下图为外扩外扩1616K K字节的字节的EPROM 27128EPROM 27128的接口电路图的接口

26、电路图 。MCS-51MCS-51外扩单片外扩单片32K32K字节的字节的EPROM 27256EPROM 27256的接口。的接口。 程序存储器所占的地址空间,自己分析。程序存储器所占的地址空间,自己分析。3. 3. 使用多片使用多片EPROMEPROM的扩展电路的扩展电路MCS-51MCS-51扩展扩展4 4片片2712827128。 4 4片片2712827128各自所占的地址空间,自己分析。各自所占的地址空间,自己分析。8.5 8.5 静态数据存储器的扩展静态数据存储器的扩展8.5.1 8.5.1 常用的静态常用的静态RAMRAM(SRAMSRAM)芯片芯片典型型号有典型型号有: :6

27、1166116、62646264、6212862128、6225662256。+5+5V V电源供电源供电,双列直插封装,电,双列直插封装,61166116为为2424引脚封装,引脚封装,62646264、6212862128、6225662256为为2828引脚封装,引脚如图引脚封装,引脚如图8-198-19。各引脚功能如下各引脚功能如下: : A0 A0A14A14:地址输入线。地址输入线。 D0 D0D7D7:双向三态数据线。双向三态数据线。 CECE* *:片选信号输入。对于片选信号输入。对于62646264芯片,当芯片,当2626脚脚( (CS)CS)为为 高电平时高电平时, ,且且

28、CECE* *为低电平时才选中该片。为低电平时才选中该片。OEOE* *:读选通信号输入线。:读选通信号输入线。WEWE* *:写允许信号输入线,低电平有效。写允许信号输入线,低电平有效。VccVcc:工作电源工作电源+5+5V VGNDGND:地地有读出、写入、维持三种工作方式,这些工作方式的有读出、写入、维持三种工作方式,这些工作方式的操作控制如表操作控制如表8-6(8-6(P181)P181)。8.5.2 8.5.2 外扩数据存储器的读写操作时序外扩数据存储器的读写操作时序1.1.读片外读片外RAMRAM操作时序操作时序 2. 2. 写片外写片外RAMRAM操作时序操作时序 写是写是CP

29、UCPU主动把数据送上主动把数据送上P0P0口总线。故在时序上,口总线。故在时序上,CPUCPU先向先向P0P0口总线上送完口总线上送完8 8位地址后,在位地址后,在S3S3状态就将数状态就将数据送到据送到P0P0口总线。口总线。 8.5.3 8.5.3 典型的外扩数据存储器的接口电路典型的外扩数据存储器的接口电路 图图8-218-21给出了用线选法扩展给出了用线选法扩展80318031外部数据存储器的电外部数据存储器的电路路。 地址线为地址线为A0A0A12A12,故故80318031剩余地址线为三根。用线剩余地址线为三根。用线选法可扩展选法可扩展3 3片片62646264。3 3片片626

30、46264对应的存储器空间如对应的存储器空间如下表。下表。译码选通法扩展译码选通法扩展, ,如下图所示。如下图所示。各片各片6212862128地址分配见表地址分配见表8-98-9。 表表8-9 8-9 各片各片6212862128地址分配地址分配 P2.6 P2.7 P2.6 P2.7 译码输出译码输出 选中芯片选中芯片 地址范围地址范围 存储容量存储容量 0 0 0 0 YOYO* * IC1 0000H-3FFFH 16K IC1 0000H-3FFFH 16K 0 1 Y1 0 1 Y1* * IC2 4000H-7FFFH 16K IC2 4000H-7FFFH 16K 1 0 Y2

31、 1 0 Y2* * IC3 8000H-BFFFH 16K IC3 8000H-BFFFH 16K 1 1 Y3 1 1 Y3* * IC4 C000H-FFFFH 16K IC4 C000H-FFFFH 16K 单片单片6225662256与与80318031的接口电路的接口电路如图如图8-238-23所示。地址范所示。地址范围为围为00000000H H7FFFH7FFFH。 例例8-18-1 编写程序将片外数据存储器中编写程序将片外数据存储器中50005000H H50FFH50FFH单单元全部清零元全部清零。 方法方法1 1:用用DPTRDPTR作为数据区地址指针,同时作为数据区地址

32、指针,同时使用字节计数器使用字节计数器。 MOV DPTRMOV DPTR,#5000H#5000H;设置数据块指针的初值设置数据块指针的初值 MOV R7 MOV R7,#00H#00H ;设置块长度计数器初值设置块长度计数器初值 CLR A CLR ALOOPLOOP: MOVX DPTR MOVX DPTR,A A ;把某一单元清零;把某一单元清零 INC DPTR INC DPTR ;地址指针加地址指针加1 1 DJNZ R7DJNZ R7,LOOP LOOP ;数据块长度减数据块长度减1 1,若不为,若不为 ;0 0则继续清零则继续清零HEREHERE: SJMP HERE SJMP

33、 HERE ;执行完毕,原地踏步执行完毕,原地踏步方法方法2 2:用用DPTRDPTR作为数据区地址指针,但不使用字节计数器,作为数据区地址指针,但不使用字节计数器,而是而是比较特征地址比较特征地址。 MOV DPTRMOV DPTR,#5000H#5000HCLR ACLR ALOOPLOOP:MOVX DPTRMOVX DPTR,A AINC DPTRINC DPTRMOV R7MOV R7,DPLDPLCJNE R7CJNE R7,#0#0,LOOP LOOP ;与末地址与末地址+1+1比较比较HEREHERE:SJMP HERESJMP HERE8.6 8.6 EPROMEPROM和和

34、RAMRAM的综合扩展的综合扩展8.6.1 8.6.1 综合扩展的硬件接口电路综合扩展的硬件接口电路例例8-28-2 采用采用线选法线选法扩展扩展2 2片片8 8KBKB的的RAMRAM和和2 2片片8 8KBKB的的EPROMEPROM。RAMRAM选选62646264,EPROMEPROM选选27642764。扩展接口电路。扩展接口电路见图见图8-248-24。 (1 1)各芯片地址空间分配)各芯片地址空间分配 (2 2)控制信号及片选信号)控制信号及片选信号IC2IC2和和IC4IC4占用地址空间为占用地址空间为20002000H H3FFFH3FFFH共共8 8KBKB。同理同理IC1

35、IC1、IC3IC3地址范围地址范围40004000H H5FFFH5FFFH(P2.6=1P2.6=1、P2.5=0P2.5=0、P2.7=0P2.7=0)。)。线选法地址不连续,地址空间利用不充线选法地址不连续,地址空间利用不充分。分。例例8-38-3 采用采用译码器法译码器法扩展扩展2 2片片8 8KB EPROMKB EPROM,2 2片片8 8KB RAMKB RAM。EPROMEPROM选用选用27642764,RAMRAM选用选用62646264。共扩展。共扩展4 4片芯片。扩片芯片。扩展接口电路见图展接口电路见图8-258-25。各存储器地址范围如下:。各存储器地址范围如下:

36、可见译码法进行地址分配,各芯片地址空间是连续的。可见译码法进行地址分配,各芯片地址空间是连续的。8.6.2 8.6.2 外扩存储器电路的工作原理及软件设计外扩存储器电路的工作原理及软件设计 1. 1. 单片机片外程序区读指令过程单片机片外程序区读指令过程 2. 2. 单片机片外数据区读写数据过程单片机片外数据区读写数据过程 例如,例如,把片外把片外10001000H H单元的数送到片内单元的数送到片内RAM 50HRAM 50H单元,单元,程序如下:程序如下:MOV DPTRMOV DPTR,#1000H#1000HMOVX AMOVX A,DPTRDPTRMOV 50HMOV 50H,A A

37、 例如,例如,把片内把片内5050H H单元的数据送到片外单元的数据送到片外10001000H H单元中,单元中,程序如下:程序如下:MOV A,50HMOV A,50HMOV DPTR,#1000HMOV DPTR,#1000HMOVX MOVX DPTR,ADPTR,AMCS-51MCS-51单片机读写片外数据存储器中的内容,除用单片机读写片外数据存储器中的内容,除用MOVX A,DPTRMOVX A,DPTR和和MOVX DPTR,AMOVX DPTR,A外,还可使用外,还可使用MOVX MOVX A,RiA,Ri和和MOVX Ri,AMOVX Ri,A。这时通过这时通过P0P0口输出口

38、输出RiRi中的内中的内容(低容(低8 8位地址),而把位地址),而把P2P2口原有的内容作为高口原有的内容作为高8 8位位地址输出。地址输出。例例8-48-4 将程序存储器中以将程序存储器中以TABTAB为首址的为首址的3232个单元的内个单元的内容依次传送到外部容依次传送到外部RAMRAM以以70007000H H为首地址的区域去。为首地址的区域去。DPTRDPTR指向标号指向标号TABTAB的首地址。的首地址。R0R0既指示外部既指示外部RAMRAM的地址,的地址,又表示数据标号又表示数据标号TABTAB的位移量。本程序的循环次数为的位移量。本程序的循环次数为3232,R0R0的值:的值

39、:0 03131,R0R0的值达到的值达到3232就结束循环。程就结束循环。程序如下:序如下:MOVMOVP2,#70HP2,#70HMOVMOVDPTR,#TABDPTR,#TABMOVMOVR0,#0R0,#0AGIN:AGIN: MOVMOVA,R0A,R0MOVCMOVCA,A+DPTRA,A+DPTRMOVXMOVXR0,AR0,AINCINCR0R0CJNECJNER0,#32,AGINR0,#32,AGINHERE:HERE: SJMPSJMPHEREHERETAB:TAB:DB DB 8.7 E8.7 E2 2PROMPROM的扩展的扩展 保留信息长达保留信息长达2020年,不

40、存在年,不存在EPROMEPROM在日光下信息缓慢丢在日光下信息缓慢丢失的问题。失的问题。 8.7.1 8.7.1 常用的常用的E E2 2PROMPROM芯片芯片 在芯片的引脚设计上,在芯片的引脚设计上,2 2KBKB的的E E2 2PROM 2816PROM 2816与相同容量与相同容量的的EPROM 2716EPROM 2716和静态和静态RAM 6116RAM 6116兼容,兼容,8 8KBKB的的E E2 2PROM PROM 2864A2864A与同容量的与同容量的EPROM 2764EPROM 2764和静态和静态RAM 6264RAM 6264也是兼也是兼容的。容的。28162

41、816、28172817和和28642864A A的读出数据时间均为的读出数据时间均为250250nsns,写入时间写入时间1010msms。E E2 2PROMPROM的主要性能见表的主要性能见表8-108-10(P191P191)。)。8.7.3 MCS-518.7.3 MCS-51扩展扩展E E2 2PROMPROM的方法的方法 1. 1.MCS-51MCS-51外扩外扩28172817A A 2817A2817A既可作为外部的数据存储器,又可作为程序存储既可作为外部的数据存储器,又可作为程序存储器。通过器。通过P1.0P1.0查询查询28172817A A的的RDY/BUSYRDY/B

42、USY* *状态,来完成状态,来完成对对28172817A A的写操作。片选信号由的写操作。片选信号由P2.7P2.7提供。提供。 2.MCS-51 2.MCS-51外扩外扩28642864A A 接口电路见图接口电路见图8-288-28。片选端与。片选端与P2.7P2.7连接,连接,P2.7=0P2.7=0才选才选中中28642864A A,线选法决定了线选法决定了28642864A A对应多组地址空间,对应多组地址空间,即即:0000:0000H H1FFFH1FFFH,2000H2000H3FFFH3FFFH,4000H4000H5FFFH5FFFH,6000H6000H7FFFH7FF

43、FH。8 8K K字节的字节的2864A2864A可作为数据存储器可作为数据存储器使用,但掉电后数据不丢失。使用,但掉电后数据不丢失。对对28642864A A装载一个页面数据装载一个页面数据(16(16个字节个字节) )的子程序的子程序WR2WR2如如下下: :被写入的数据取自源数据区,子程序入口参数为:被写入的数据取自源数据区,子程序入口参数为:R1=R1=写入写入28642864A A的字节数的字节数(16(16个字节个字节) )R2=2864AR2=2864A的低位地址的低位地址P2=2864AP2=2864A的高位地址的高位地址DPTR=DPTR=源数据区首地址源数据区首地址 WR2

44、: WR2: MOVX A,DPTR MOVX A,DPTR ;取数据取数据 MOV R2, A MOV R2, A ;数据暂存数据暂存R2,R2,备查询备查询 MOVX R0 , A MOVX R0 , A ;写入写入28642864A A INC DPTR INC DPTR ;源地址指针加源地址指针加1 1 INC R0 INC R0 ;目的地址指针加目的地址指针加1 1 CJNE R0,#00H,NEXTCJNE R0,#00H,NEXT;低位地址指针未满低位地址指针未满 ;转移;转移 INC R2 INC R2 ;否则高位指针加否则高位指针加1 1 NEXT: NEXT: DJNZ R1, WR2 DJNZ R1, WR2 ;页面未装载完转移页面未装载完转移 DEC R0 DEC R0 ;页面装载完后,恢复页面装载完后,恢复 ;最后写入数据的地址;最后写入数据的地址 LOOP: LOOP: MOVX A,R0 MOVX A,R0 ;读读28642864A A XRL A, R2 XRL A, R2 ;与

温馨提示

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

评论

0/150

提交评论