片机原理及应用课件第8章

上传人:hs****ma 文档编号:586498128 上传时间:2024-09-04 格式:PPT 页数:65 大小:924KB
返回 下载 相关 举报
片机原理及应用课件第8章_第1页
第1页 / 共65页
片机原理及应用课件第8章_第2页
第2页 / 共65页
片机原理及应用课件第8章_第3页
第3页 / 共65页
片机原理及应用课件第8章_第4页
第4页 / 共65页
片机原理及应用课件第8章_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《片机原理及应用课件第8章》由会员分享,可在线阅读,更多相关《片机原理及应用课件第8章(65页珍藏版)》请在金锄头文库上搜索。

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 系统总线系统总线按其功能通常把系统总线分为三组:按其功能通常把系统总线分为三组:(Adress

3、Bus,Adress Bus,简写简写ABAB) ( (Data BusData Bus,简写简写DB)DB) (Control BusControl Bus,简写简写CBCB) 8.2.2 8.2.2 构造系统总线构造系统总线 系统扩展的首要问题系统扩展的首要问题: : 构造系统总线,然后再往系统总线上构造系统总线,然后再往系统总线上“挂挂”存储器存储器芯片或芯片或I/OI/O接口芯片,接口芯片,“挂挂”存储器芯片就是存储器存储器芯片就是存储器扩展,扩展,“挂挂”I/OI/O接口芯片就是接口芯片就是I/OI/O扩展。扩展。MCS-51MCS-51由于受引脚数目的限制,数据线和低由于受引脚数目

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

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

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

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

8、存器8.3.1 8.3.1 存储器扩展的读写控制存储器扩展的读写控制RAMRAM芯片:芯片:读写控制引脚,记为读写控制引脚,记为OEOE* *和和WE*WE* ,与与MCS-MCS-5151 的的RDRD* *和和WRWR* *相连。相连。EPROMEPROM芯片:芯片:只能读出,故只有读出引脚,记为只能读出,故只有读出引脚,记为OEOE* * , 该引脚与该引脚与MCS-51MCS-51的的PSENPSEN* *相连。相连。8.3.2 8.3.2 存储器地址空间分配存储器地址空间分配MCS-51MCS-51发发出出的的地地址址是是用用来来选选择择某某个个存存储储器器单单元元进进行行读读写,写

9、,要要完完成成这这种种功功能能,必必须须进进行行两两种种选选择择: “片片选选”和和 “单元选择单元选择”。存存储储器器空空间间分分配配除除考考虑虑地地址址线线连连接接外外,还还讨讨论论各各存存储储器芯片在整个存储空间中所占据的地址范围,器芯片在整个存储空间中所占据的地址范围, 常用的存储器地址分配的方法有两种:常用的存储器地址分配的方法有两种:线性选择法线性选择法(简称线选法)(简称线选法)地址译码法地址译码法(简称译码法)。(简称译码法)。1. 1. 线选法线选法 直接利用直接利用系统的高位地址线系统的高位地址线作为存储器芯片(或作为存储器芯片(或I/OI/O接接口芯片)的片选信号。口芯片

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

11、器,有程序存储器,有1212根地址线根地址线A0A0A11A11,分别与分别与单片机的单片机的P0P0口及口相连。口及口相连。27322732(1 1)的片选端接)的片选端接A15A15(P2.7P2.7),),27322732(2 2)的片选端接的片选端接A14A14(P2.6P2.6)。)。当要选中某个芯片时,单片机当要选中某个芯片时,单片机P2P2口对应的片选信号引口对应的片选信号引脚应为低电平,脚应为低电平,其它引脚一定要为高电平其它引脚一定要为高电平。6116:6116:2 2KBKB数据存储器,需要数据存储器,需要1111根地址线作为单元的选根地址线作为单元的选择,而剩下的择,而剩

12、下的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(2 2)的地址范围:)的地址范围:D800HD800HDFFFHDFFFH。 线线选选法法特特点点:简简单单明明了了,不不需需另另外外

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

14、74 (1)74LS138LS138(3 38 8译码器)译码器) 引引脚脚如如图图8-58-5,译译码码功功能能如如表表8-18-1(P167P167)所所示示。当当译译码码器器的的输输入入为为某某一一个个固固定定编编码码时时,其其输输出出只只有有某某一一个固定的引脚输出为低电平,其余的为高电平。个固定的引脚输出为低电平,其余的为高电平。 7474LS138LS138译码器真值表译码器真值表 输输 入入 输输 出出 G1 G2AG1 G2A* * G2B G2B* * C B A Y7 C B A Y7* * Y6Y6* * Y5Y5* * Y4Y4* * Y3Y3* * Y2Y2* * Y

15、1Y1* * 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带有三态门的带有三态门的8 8D D锁存器锁存器, ,其引脚其内部结构如下图。其引脚其内部结构如下图。 引脚说明如下引脚说明如下: :D

17、7D7D0:D0: 8 8位数据输入线。位数据输入线。Q7Q7Q0:Q0: 8 8位数据输出线。位数据输出线。G:G:数据输入锁存选通信号数据输入锁存选通信号, , OEOE* *: : 数据输出允许信号数据输出允许信号2. 2. 锁存器锁存器82828282功能及内部结构与功能及内部结构与7474LS373LS373完全一样,只是其引脚的排完全一样,只是其引脚的排列与列与7474LS373LS373不同不同 ,82828282的引脚如下图。的引脚如下图。 引脚的排列引脚的排列为绘制印刷电路板时的布线提供了方便。为绘制印刷电路板时的布线提供了方便。3 3锁存器锁存器7474LS573LS573

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

19、,且不能只能写入一次,且不能再修改。再修改。(3 3)EPROMEPROM电信号编程,紫外线擦除的只读存储器芯片。电信号编程,紫外线擦除的只读存储器芯片。 (4 4)E E2 2PROMPROM( EEPROM EEPROM)电信号编程,电信号擦除的电信号编程,电信号擦除的ROMROM芯片。读写操作与芯片。读写操作与RAMRAM几乎没有什么差别,只是写入的速度慢一些。但断几乎没有什么差别,只是写入的速度慢一些。但断电后能够保存信息。电后能够保存信息。(5 5)Flash ROMFlash ROM又称闪烁存储器,简称闪存。又称闪烁存储器,简称闪存。大有取代大有取代E E2 2PROMPROM的趋

20、势。的趋势。8.4.1 8.4.1 常用常用EPROMEPROM芯片介绍芯片介绍典型芯片是典型芯片是2727系系列列产品,例如,产品,例如, 27642764(8 8KB8KB8)、)、2712827128(16KB816KB8)、)、2725627256(32KB832KB8)、)、2751227512(64KB864KB8)。)。 “27”“27”后面的数字表示其位存后面的数字表示其位存储容量。储容量。 扩展程序存储器时,应尽量用大容量的芯片。扩展程序存储器时,应尽量用大容量的芯片。EPROMEPROM芯片芯片 参数见表参数见表8-48-4(P123P123)。)。引脚如下图。引脚如下图。

21、引脚功能如下:引脚功能如下:A0A0A15A15:地址线引脚。数目决定存储容量来定,用地址线引脚。数目决定存储容量来定,用 来进行单元选择。来进行单元选择。D7D7D0D0:数据线引脚数据线引脚CECE* *:片选输入端片选输入端OEOE* * :输出允许控制端输出允许控制端PGMPGM* *:编程时,加编程脉冲的输入端编程时,加编程脉冲的输入端VppVpp:编程时,编程电压(编程时,编程电压(+12+12V V或或+25+25V V)输入端输入端VccVcc:+5V+5V,芯片的芯片的工作工作电压。电压。 GNDGND:数字地。数字地。 NCNC:无用端无用端 2. 2. EPROMEPRO

22、M芯片的工作方式芯片的工作方式(1 1)读出方式)读出方式 片选控制线为低片选控制线为低, ,同时输出允许控制线为低,同时输出允许控制线为低,VppVpp为为+5+5V V,指定地址单元的内容从指定地址单元的内容从D7D7D0D0上读出。上读出。 (2 2)未选中方式)未选中方式 片选控制线为高电平。片选控制线为高电平。(3 3)编程方式)编程方式 Vpp Vpp端加上规定高压端加上规定高压, , CECE* *和和OEOE* *端加合适电平端加合适电平( (不同的芯片要求不同不同的芯片要求不同) ),就能将数据线上的数据,就能将数据线上的数据写入到指定的地址单元。写入到指定的地址单元。 (4

23、 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位地址位地址锁存,锁存,PSENPSEN* *接外扩接外扩EPROMEPROM的的OEOE* *脚。脚。P0P0口口: :分时低分时低8 8位地址总线和数据总线,位地

24、址总线和数据总线,P2P2口口: :高高8 8位地位地址线。址线。 2. 2. 操作时序操作时序 (1) (1) 应用系统中无片外应用系统中无片外RAMRAM (2) 应用系统中接有片外应用系统中接有片外RAM 由图由图( (b)b)可看出:可看出:(1 1)将将ALEALE用用作作定定时时脉脉冲冲输输出出时时,执执行行一一次次MOVXMOVX指指令令就会丢失一个脉冲。就会丢失一个脉冲。(2 2)只只有有在在执执行行MOVXMOVX指指令令时时的的第第二二个个机机器器周周期期期期间间,地址总线才由数据存储器使用。地址总线才由数据存储器使用。8.4.3 8.4.3 典型的典型的EPROMEPRO

25、M接口电路接口电路EPROMEPROM的扩展电路的扩展电路 2716 2716、2732 2732 EPROMEPROM价格贵,容量小,且难以买到。价格贵,容量小,且难以买到。仅介绍仅介绍27642764、2712827128、2725627256、2751227512芯片的接口电路。芯片的接口电路。 下图为下图为外扩外扩1616K K字节的字节的EPROM 27128EPROM 27128的接口电路图的接口电路图 。MCS-51MCS-51外扩单片外扩单片32K32K字节的字节的EPROM 27256EPROM 27256的接口。的接口。 程序存储器所占的地址空间,自己分析。程序存储器所占的

26、地址空间,自己分析。3. 3. 使用多片使用多片EPROMEPROM的扩展电路的扩展电路MCS-51MCS-51扩展扩展4 4片片2712827128。 4 4片片2712827128各自所占的地址空间,自己分析。各自所占的地址空间,自己分析。8.5 8.5 静态数据存储器的扩展静态数据存储器的扩展8.5.1 8.5.1 常用的静态常用的静态RAMRAM(SRAMSRAM)芯片芯片典型型号有典型型号有: :61166116、62646264、6212862128、6225662256。+5+5V V电源供电源供电,双列直插封装,电,双列直插封装,61166116为为2424引脚封装,引脚封装,

27、62646264、6212862128、6225662256为为2828引脚封装,引脚如图引脚封装,引脚如图8-198-19。各引脚功能如下各引脚功能如下: : A0 A0A14A14:地址输入线。地址输入线。 D0 D0D7D7:双向三态数据线。双向三态数据线。 CECE* *:片片选选信信号号输输入入。对对于于62646264芯芯片片,当当2626脚脚( (CS)CS)为为 高电平时高电平时, ,且且CECE* *为低电平时才选中该片。为低电平时才选中该片。OEOE* *:读选通信号输入线。:读选通信号输入线。WEWE* *:写允许信号输入线,低电平有效。写允许信号输入线,低电平有效。Vc

28、cVcc:工作电源工作电源+5+5V VGNDGND:地地有读出、写入、维持三种工作方式,这些工作方式的有读出、写入、维持三种工作方式,这些工作方式的操作控制如表操作控制如表8-6(8-6(P181)P181)。8.5.2 8.5.2 外扩数据存储器的读写操作时序外扩数据存储器的读写操作时序RAMRAM操作时序操作时序 2. 2. 写片外写片外RAMRAM操作时序操作时序 写是写是CPUCPU主动把数据送上主动把数据送上P0P0口总线。故在时序上,口总线。故在时序上,CPUCPU先向先向P0P0口总线上送完口总线上送完8 8位地址后,在位地址后,在S3S3状态就将数据状态就将数据送到送到P0P

29、0口总线。口总线。 8.5.3 8.5.3 典型的外扩数据存储器的接口电路典型的外扩数据存储器的接口电路 图图8-218-21给出了用线选法扩展给出了用线选法扩展80318031外部数据存储器的电外部数据存储器的电路路。 地址线为地址线为A0A0A12A12,故故80318031剩余地址线为三根。用线剩余地址线为三根。用线选法可扩展选法可扩展3 3片片62646264。3 3片片62646264对应的存储器空间如对应的存储器空间如下表。下表。译码选通法扩展译码选通法扩展, ,如下图所示。如下图所示。各片各片6212862128地址分配见表地址分配见表8-98-9。 表表8-9 8-9 各片各片

30、6212862128地址分配地址分配 P2.6 P2.7 P2.6 P2.7 译码输出译码输出 选中芯片选中芯片 地址范围地址范围 存储容量存储容量 0 0 0 0 YO* IC1 0000H-3FFFH 16KYO* IC1 0000H-3FFFH 16K 0 1 Y1* IC2 4000H-7FFFH 16K 0 1 Y1* IC2 4000H-7FFFH 16K 1 0 Y2* IC3 8000H-BFFFH 16K 1 0 Y2* IC3 8000H-BFFFH 16K 1 1 Y3* IC4 C000H-FFFFH 16K 1 1 Y3* IC4 C000H-FFFFH 16K 单片

31、单片6225662256与与80318031的接口电路的接口电路如图如图8-238-23所示。地址范所示。地址范围为围为00000000H H7FFFH7FFFH。 例例8-18-1 编写程序将片外数据存储器中编写程序将片外数据存储器中50005000H H50FFH50FFH单元单元全部清零全部清零。 方法方法1 1:用用DPTRDPTR作为数据区地址指针,同时作为数据区地址指针,同时使用字节计数器使用字节计数器。 MOV DPTRMOV DPTR,#5000H#5000H;设置数据块指针的初值设置数据块指针的初值 MOV R7 MOV R7,#00H#00H ;设置块长度计数器初值设置块长

32、度计数器初值 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 HERE ;执行完毕,原地踏步执行完毕,原地踏步方法方法2 2:用用DPTRDPTR作为数据区地址指针,但不使用字节计数器,作为数据区地址指针,但不使用字节计数器,而是而是比较特征地址比较特征地址。 MOV DPTRM

33、OV 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和和RAMRAM的综合扩展的综合扩展8.6.1 8.6.1 综合扩展的硬件接口电路综合扩展的硬件接口电路例例8-28-2 采用采用线选法线选法扩展扩展2 2片片8 8KBKB的的RAMRAM和和2 2片片8 8KBKB的的E

34、PROMEPROM。RAMRAM选选62646264,EPROMEPROM选选27642764。扩展接口电路见。扩展接口电路见图图8-248-24。 (1 1)各芯片地址空间分配)各芯片地址空间分配 (2 2)控制信号及片选信号)控制信号及片选信号IC2IC2和和IC4IC4占用地址空间为占用地址空间为20002000H H3FFFH3FFFH共共8 8KBKB。同理同理IC1IC1、IC3IC3地址范围地址范围40004000H H5FFFH5FFFH(P2.6=1P2.6=1、P2.5=0P2.5=0、P2.7=0P2.7=0)。)。线选法地址不连续,地址空间利用不充线选法地址不连续,地址

35、空间利用不充分。分。例例8-38-3 采用采用译码器法译码器法扩展扩展2 2片片8 8KB EPROMKB EPROM,2 2片片8 8KB RAMKB RAM。EPROMEPROM选用选用27642764,RAMRAM选用选用62646264。共扩展。共扩展4 4片芯片。扩片芯片。扩展接口电路见图展接口电路见图8-258-25。各存储器地址范围如下:。各存储器地址范围如下: 可见译码法进行地址分配,各芯片地址空间是连续的。可见译码法进行地址分配,各芯片地址空间是连续的。8.6.2 8.6.2 外扩存储器电路的工作原理及软件设计外扩存储器电路的工作原理及软件设计 1. 1. 单片机片外程序区读

36、指令过程单片机片外程序区读指令过程 2. 2. 单片机片外数据区读写数据过程单片机片外数据区读写数据过程 例如,例如,把片外把片外10001000H H单元的数送到片内单元的数送到片内RAM 50HRAM 50H单元,单元,程序如下:程序如下:MOV DPTRMOV DPTR,#1000H#1000HMOVX AMOVX A,DPTRDPTRMOV 50HMOV 50H,A A 例如,例如,把片内把片内5050H H单元的数据送到片外单元的数据送到片外10001000H H单元中,单元中,程序如下:程序如下:MOV A,50HMOV A,50HMOV DPTR,#1000HMOV DPTR,#

37、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口输出口输出RiRi中的内容中的内容(低(低8 8位地址),而把位地址),而把P2P2口原有的内容作为高口原有的内容作为高8 8位地位地址输出。址输出。例例8-48-4 将程序存储器中以将程序存储器中以TABTAB为首址的为首址

38、的3232个单元的内个单元的内容依次传送到外部容依次传送到外部RAMRAM以以70007000H H为首地址的区域去。为首地址的区域去。 DPTRDPTR指指向向标标号号TABTAB的的首首地地址址。R0R0既既指指示示外外部部RAMRAM的的地地址址,又又表表示示数数据据标标号号TABTAB的的位位移移量量。本本程程序序的的循循环环次次数数为为3232,R0R0的的值值:0 03131,R0R0的的值值达达到到3232就就结结束束循循环环。程程序如下:序如下:MOVMOVP2,#70HP2,#70HMOVMOVDPTR,#TABDPTR,#TABMOVMOVR0,#0R0,#0AGIN:AG

39、IN: 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年年,不不存存在在EPROMEPROM在在日日光光下下信信息息缓缓慢慢丢丢失的问题。失的问题。 8.7.1 8.7.1 常用的常用的E E2 2PROMPROM芯片芯片 在芯片的引脚设计上,在芯片的引脚设计上,2 2KBKB的的E E

40、2 2PROM 2816PROM 2816与相同容量的与相同容量的EPROM 2716EPROM 2716和静态和静态RAM 6116RAM 6116兼容,兼容,8 8KBKB的的E E2 2PROM PROM 2864A2864A与同容量的与同容量的EPROM 2764EPROM 2764和静态和静态RAM 6264RAM 6264也是兼也是兼容的。容的。28162816、28172817和和28642864A A的读出数据时间均为的读出数据时间均为250250nsns,写入时间写入时间1010msms。E E2 2PROMPROM的主要性能见表的主要性能见表8-108-10(P191P19

41、1)。)。8.7.3 MCS-518.7.3 MCS-51扩展扩展E E2 2PROMPROM的方法的方法 1. 1.MCS-51MCS-51外扩外扩28172817A A 2817A2817A既可作为外部的数据存储器,又可作为程序存储既可作为外部的数据存储器,又可作为程序存储器。通过查询器。通过查询28172817A A的的RDY/BUSY*RDY/BUSY*状态,来完成对状态,来完成对28172817A A的写操作。片选信号由提供。的写操作。片选信号由提供。外扩外扩28642864A A 接口电路见图接口电路见图8-288-28。片选端与连接,。片选端与连接,P2.7=0P2.7=0才选中

42、才选中28642864A A,线选法决定了线选法决定了28642864A A对应多组地址空间,对应多组地址空间,即即:0000:0000H H1FFFH1FFFH,2000H2000H3FFFH3FFFH,4000H4000H5FFFH5FFFH,6000H6000H7FFFH7FFFH。8 8K K字节的字节的2864A2864A可作为数据存储可作为数据存储器使用,但掉电后数据不丢失。器使用,但掉电后数据不丢失。对对28642864A A装载一个页面数据装载一个页面数据(16(16个字节个字节) )的子程序的子程序WR2WR2如如下下: :被写入的数据取自源数据区,子程序入口参数为:被写入的

43、数据取自源数据区,子程序入口参数为:R1=R1=写入写入28642864A A的字节数的字节数(16(16个字节个字节) )R2=2864AR2=2864A的低位地址的低位地址P2=2864AP2=2864A的高位地址的高位地址DPTR=DPTR=源数据区首地址源数据区首地址 WR2: 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 I

44、NC 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, R

45、2 ;与写入的最后数据相异或与写入的最后数据相异或JB ACC.7,LOOPJB ACC.7,LOOP;最高位不等最高位不等, ,再查再查RET RET ;最高位相同,最高位相同,1 1页写完页写完 上述写入程序,完成页面装载的循环部分共上述写入程序,完成页面装载的循环部分共8 8条指令,条指令,当采用当采用1212MHzMHz晶振时晶振时, ,进行时间约进行时间约1313 s,s,完全符合完全符合28642864A A的的t tBLWBLW宽度要求。宽度要求。 8.8 8.8 ATMEL89C51/89C55ATMEL89C51/89C55单片机的片内闪烁存储器单片机的片内闪烁存储器 AT8

46、9C51/89C52/89C55AT89C51/89C52/89C55是低功耗、高性能的是低功耗、高性能的片内含有片内含有4 4KB/8KB/20KBKB/8KB/20KB闪烁可编程闪烁可编程/ /擦除只读存储器芯片上的擦除只读存储器芯片上的FEPROMFEPROM允许在线编程或采用通用的编程器对其重复允许在线编程或采用通用的编程器对其重复编程。编程。 1.1.8989C51C51的主要性能的主要性能2.2.(1 1)与)与MCS-51MCS-51微控制器系列产品兼容。微控制器系列产品兼容。(2 2)片内有)片内有4 4KBKB可在线重复编程的闪烁存储器可在线重复编程的闪烁存储器(Flash

47、MemoryFlash Memory)。)。(3 3)存储器可循环写入存储器可循环写入/ /擦除擦除1000010000次次。(4 4)存储器)存储器数据保存时间数据保存时间为为1010年年。(5 5)宽工作电压范围:)宽工作电压范围:VccVcc可为可为+2.7+2.76 6V V。(6 6)全静态工作:可从全静态工作:可从0 0HzHz16MHz16MHz。(7 7)程序存储器具有程序存储器具有3 3级加密保护。级加密保护。(8 8)空闲状态维持低功耗和掉电状态保存存储器)空闲状态维持低功耗和掉电状态保存存储器 内容。内容。 2. 2. 片内闪烁存储器片内闪烁存储器( (Flash Mem

48、ory)Flash Memory) E E2 2PROMPROM具有在线改写,并在掉电后仍能保存数据的特具有在线改写,并在掉电后仍能保存数据的特点,可为用户的特殊应用提供便利。但是,擦除和点,可为用户的特殊应用提供便利。但是,擦除和写入对于要有数据高速吞吐的应用还显得时间过长,写入对于要有数据高速吞吐的应用还显得时间过长,这是这是E E2 2PROMPROM的主要缺陷。的主要缺陷。 表表8-12(8-12(P197)P197)列出了几种列出了几种典型典型E E2 2PROMPROM芯片芯片的主要性能的主要性能数据。由表可见,所列各种芯片的字节擦除时间和数据。由表可见,所列各种芯片的字节擦除时间和写入时间写入时间1010msms,这样长的时间对于许多实际应用是这样长的时间对于许多实际应用是不能接受的。不能接受的。8.8.2 8.8.2 片内闪烁存储器的编程片内闪烁存储器的编程芯片内有芯片内有3 3个加密位,见表个加密位,见表8-138-13(P198P198)。)。 表表8-138-13对对8989C51C51片内的闪烁存储器编程,只需购买相应的编片内的闪烁存储器编程,只需购买相应的编程器,按照编程器的说明进行操作。程器,按照编程器的说明进行操作。如想对写入的如想对写入的内容内容加密加密,只需按照编程器的菜单,只需按照编程器的菜单,选择加密功能选择加密功能选项既可。选项既可。

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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