第6章__外部存储器的扩展_第1页
第6章__外部存储器的扩展_第2页
第6章__外部存储器的扩展_第3页
第6章__外部存储器的扩展_第4页
第6章__外部存储器的扩展_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

1、第第6章章 单片机存储器的扩展单片机存储器的扩展在单片机应用在单片机应用系统的设计中系统的设计中, ,往往出现往往出现RAM, RAM, ROMROM或者或者I/OI/O口口不够的情况,不够的情况,怎么办?怎么办?ROMROM的扩展的扩展 RAMRAM的扩展的扩展综合扩展综合扩展EAPSEN1. 片内带程序存储器的最片内带程序存储器的最小应用系统小应用系统 片内带程序存储器的8051、 8751本身即可构成一片最小系统,只要将单片机接上时钟电路和复位电路即可, 同时 接高电平, ALE、 信号不用, 系统就可以工作。(1) 系统有大量的I/O线可供用户使用: P0、 P1、 P2、 P3四个口

2、都可以作为I/O口使用。 (2) 内部存储器的容量有限, 只有128 B的RAM和4 KB的程序存储器。 P0 P1 P2 P3 +5V+5VEA8 80 05 51 18 87 75 51 1XTAL1XTAL28888 扩展方法:扩展方法:必须先要构造扩展线路,也就是要构造一系必须先要构造扩展线路,也就是要构造一系列总线(列总线(Bus),然后在总线上),然后在总线上“挂挂”上需要扩展的芯片,上需要扩展的芯片,就完成了扩展。对于扩展出来的部件,我们称之为外部器就完成了扩展。对于扩展出来的部件,我们称之为外部器件,比如外部件,比如外部ROM、外部、外部RAM等。等。8910 数据总线用于在单

3、片机与存储器之间或单片机与数据总线用于在单片机与存储器之间或单片机与I/OI/O端口端口之间传送数据。数据总线是双向的,可以进行两个方向的数之间传送数据。数据总线是双向的,可以进行两个方向的数据传送。据传送。 80C5180C51单片机数据总线为单片机数据总线为8 8位,位,由由P0P0口提供口提供。在数据总线。在数据总线上可以连接多个外围芯片,但在某一时刻只能有一个有效的上可以连接多个外围芯片,但在某一时刻只能有一个有效的数据传送通道。数据传送通道。1 1数据总线数据总线DB (Data Bus)DB (Data Bus) 地址总线用于传送单片机送出的地址信号,以便进行存储单地址总线用于传送

4、单片机送出的地址信号,以便进行存储单元和元和I/OI/O端口的选择。地址总线的位数决定着可访问的存储器或端口的选择。地址总线的位数决定着可访问的存储器或I/OI/O口的容量。口的容量。80C5180C51单片机有单片机有1616条地址线。所以能寻址条地址线。所以能寻址64KB64KB空间。空间。80C5180C51单片机的单片机的1616位地址线分为两部分:位地址线分为两部分:l 高高8 8位地址线:由位地址线:由P2P2口提供;口提供;l 低低8 8位地址线:由位地址线:由P0P0口提供。口提供。 由于由于P0P0口是低口是低8 8位地址和位地址和8 8位数据的复用线,因此必须外位数据的复用

5、线,因此必须外接锁存器,用于将先发送出去的低接锁存器,用于将先发送出去的低8 8位地址锁存起来,然后才位地址锁存起来,然后才能传送数据。能传送数据。 需要注意:需要注意:P0P0、P2P2口在系统扩展中用作地址线后就不能口在系统扩展中用作地址线后就不能作为一般作为一般I/OI/O口使用。口使用。2 2地址总线地址总线ABAB(Address BusAddress Bus)地址总线的构造地址总线的构造P0+P2=A0A15(A8A15) 不固定,需要用几根就从P2口引出几条口线 13PSENRDWREA80518051扩展的三总线扩展的三总线P2ALE8051P0PSENWRRD地址地址锁存器锁

6、存器地址总线地址总线数据总线数据总线控制总线控制总线A8A15A0A7D0D7程序程序存储器存储器内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K) EA=1 EA=0EA=1 EA=0读写控制读写控制RAM芯片芯片/I/O接口芯片接口芯片EPROM芯片芯片MCS-51 RDWRMCS-51 PSENOEWEOE171820例例 某一系统,需要外扩某一系统,需要外扩8KB8KB的的EPROMEPROM(2 2片片27322732),),4KB4KB的的RAMRAM(2 2片片61166116),),两片程序存储器的地址范围:两片程序存储器的地址范围:

7、 27322732(1 1)的地址范围:)的地址范围:7000H7000H7FFFH;7FFFH; 2732 2732(2 2)的地址范围)的地址范围: B000H: B000HBFFFH; BFFFH; 6116 6116(1 1)的地址范围:)的地址范围:E800HE800HEFFFH; EFFFH; 6116 6116(2 2)的地址范围:)的地址范围:D800HD800HDFFFHDFFFH。 P2.7 P2.6 P2.5 P2.4 0 1 1 1 2732(1) 1 0 1 1 2732(2) 1 1 0 1 6116(2) 1 1 1 0 6116(1)优点优点:电路简单,不需要地

8、址译码器硬件,体积小,成本低。电路简单,不需要地址译码器硬件,体积小,成本低。 缺点缺点:可寻址的器件数目受到限制,地址空间不连续,地址不可寻址的器件数目受到限制,地址空间不连续,地址不唯一。唯一。特点特点:只适于外扩芯片不多,规模不大的单片机系统。:只适于外扩芯片不多,规模不大的单片机系统。24时,译码器才工时,译码器才工作作,见真值表122100ABG GG输入:输入:C B A输出:输出:76543210Y Y Y Y Y Y Y Y26G2AG2BY7Y6Y5Y4Y3Y2Y1Y02732100GAYBY YY时,解:解:6264:8K=213 3根地址线留下根地址线留下 8片片 38译

9、码译码 :采用:采用74LS138译码器译码器分析地址?分析地址?例子:例子: 要扩展要扩展8片片8KB的的RAM 6264(8K8),如,如何通过译码器把何通过译码器把64KB空间分配给各个芯片?空间分配给各个芯片?解:解:64KB=4KB8块块2部分部分4K=212 12根译码根译码3根,根,P2.7未参加译码未参加译码如何如何用用74LS138把把64K空间划分为每块空间划分为每块4KB?引出问题引出问题1: 74LS138G1前前32KB8块块4KB后后32KB8块块4KB分析地址?分析地址?P2.7=0/1决定选择决定选择64KB的前的前32KB或后或后32KB小结:小结:若若64K

10、B全是用全是用16块块4K芯片组成,则同问题芯片组成,则同问题1,需,需2个个74LS138D7Q7D0Q074LS373功能表功能表ALE37图图6-9 51单片机单片机P0口与口与74LS373的连接的连接接下来讲ROM RAM的扩展,以讲例子为主,硬件看懂,会算地址软件编程以讲例子为主,硬件看懂,会算地址软件编程4041424344CEOEPCM图图6-11 常用常用EPROM芯片引脚芯片引脚464748CE OEPCM49OECECECEOEEAOEPSENEAEA解解:128=16K8 16K=214 A0A13 程序存储器所占的地址空间程序存储器所占的地址空间?需解决需解决2个问题

11、:个问题:如何扩展?如何扩展?空间地址?空间地址?53OEPSENEAA15A14A13A0 0 0 0000H3FFFH解解:256=32K8 32K=215 A0A14 A15A14A13A0 0 0000H7FFFH解解:128=16K8 16K=214 剩剩2根,根,4片片 24译码译码四片程序存储器的地址范围:四片程序存储器的地址范围: (1 1)的地址范围:)的地址范围:0000H0000H3FFFH;3FFFH;(2 2)的地址范围)的地址范围: 4000H: 4000H7FFFH; 7FFFH; (3 3)的地址范围)的地址范围:8000H8000HBFFFH; BFFFH;

12、(4 4)的地址范围)的地址范围:C000HC000HFFFFHFFFFH。 80518051片内片内RAMRAM的容量:的容量:128B128B片外最大可扩展片外最大可扩展64K RAM64K RAM。PSENOE60图图6-15 常用的常用的RAM引脚图引脚图OECECEWE63WRRD线选法线选法解解:64=8K88K=213 剩剩3根,根,3片,片,可线选法也可译码法可线选法也可译码法CE地址不连续地址不连续例例2:需要:需要MCS-51的存储器空间有的存储器空间有64KB,采用,采用62128,需要几片,如何扩展需要几片,如何扩展?分析地址?分析地址?解解:128=16K816K=2

13、14 剩剩2根,需要根,需要4片片, 24译码,全译码法译码,全译码法地址连续地址连续例例3:如何扩展:如何扩展1片片62256?解解:256=32K832K=215 剩剩1根根 P2.7输出输出0,连接,连接62256片选端片选端 CE (1) 低低8位地址线寻址的外部数据区。此区域寻址空间为位地址线寻址的外部数据区。此区域寻址空间为256个字节。个字节。CPU可以使用下列读写指令来访问此存贮区。可以使用下列读写指令来访问此存贮区。 读存储器数据指令:读存储器数据指令:MOVXA,R 写存储器数据指令:写存储器数据指令:MOVXR,A由于由于8位寻址指令占字节少,程序运行速度快,所以经常采用

14、。位寻址指令占字节少,程序运行速度快,所以经常采用。 (2)16位地址线寻址的外部数据区。当外部位地址线寻址的外部数据区。当外部RAM容量较大,要容量较大,要访问访问RAM地址空间大于地址空间大于256个字节时,则要采用如下个字节时,则要采用如下16位寻址指位寻址指令。令。 读存储器数据指令:读存储器数据指令:MOVXA,DPTR 写存储器数据指令:写存储器数据指令:MOVXDPTR,A 由于由于DPTR为为16位的地址指针,故可寻址位的地址指针,故可寻址64KRAM字节单元字节单元对外部对外部RAM的操作有两种,一种是的操作有两种,一种是“读读”操作;另一种是操作;另一种是“写写”操作。操作

15、。方法:方法:用用DPTR作指针,控制循环:作指针,控制循环:用计数器用计数器7172分析:分析:6264, 8K213 2764, 8K213 皆皆13根,剩根,剩3根,分别根,分别2片片因为因为RAM 和和ROM是不同控制信号的,故可以用线选法,是不同控制信号的,故可以用线选法,多多1根高位线片根高位线片P2.5没有用没有用也可以用译码法,也可以用译码法,38译码(全译码)或者译码(全译码)或者24译码译码(部分译码)都可以(部分译码)都可以P2.7P2.6线选法图线选法图75WRRDRDWRPSENPSENPSENRDWR1、“读读”ROM与与“读读”RAM的区分的区分 读读ROM中的表格或常数:中的表格或常数:MOVC A A+DPTR 读读RAM的指令是:的指令是: MOVX A DPTR MOVX A Ri2、写存储器的区分、写存储器的区分 ROM没有写没有写 写外部写外部RAM的指令:的指令: MOVX DPTR A MOVX Ri A 3、RAM的

温馨提示

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

评论

0/150

提交评论