精品PPT课件--第8章80C5单片机并行系统扩展技术.ppt

上传人:本田雅阁 文档编号:2567174 上传时间:2019-04-09 格式:PPT 页数:168 大小:4MB
返回 下载 相关 举报
精品PPT课件--第8章80C5单片机并行系统扩展技术.ppt_第1页
第1页 / 共168页
精品PPT课件--第8章80C5单片机并行系统扩展技术.ppt_第2页
第2页 / 共168页
精品PPT课件--第8章80C5单片机并行系统扩展技术.ppt_第3页
第3页 / 共168页
亲,该文档总共168页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《精品PPT课件--第8章80C5单片机并行系统扩展技术.ppt》由会员分享,可在线阅读,更多相关《精品PPT课件--第8章80C5单片机并行系统扩展技术.ppt(168页珍藏版)》请在三一文库上搜索。

1、1,第8章 80C51单片机并行系统扩展技术,2,8.1 80C51系列单片机的并行系统扩展概述 8.1.1 80C51系列单片机的并行系统扩展能力 8.1.2 地址的锁存 8.1.3 存储器空间地址 8.2 外部存储器的扩展方法 8.2.1 程序存储器的扩展 8.2.2 数据存储器的扩展 8.2.3 数据存储器和程序存储器的统一编址 8.3 外部I/0口的扩展方法 8.3.1 对I/O口的编程指令 8.3.2 简单并行I/O接口扩展 8.3.3 81C55可编程I/O接口及扩展技术 8.3.4 82C55可编程接口电路的扩展,目录,第8章80C51单片机并行系统扩展技术,3,8.0单片机最小

2、应用系统 单片机最小应用系统是在简单的应用场合,以最简便的电路就可以满足其要求,它只需要一片单片机芯片再配上时钟电路和复位电路即可构成。结构简单,价格便宜,使用非常方便。 1、8051/8751最小应用系统 8051/8751片内有4KB的掩模ROM/EPROM,其自身可以构成最小应用系统,只要加上复位电路、时钟电路、/EA引脚接高电平,即可通电工作。 内部存储器只有128字节的内部RAM和一些特殊功能寄存器以及4KB的内部ROM。,4,最小应用系统具有以下特点: 1)系统结构简单、可靠; 2)有大量的I/O线供用户使用,P0-P3口共32根I/O均可作为输入/输出线使用。 3)内部存储容量有

3、限,只有128B的内部RAM和一些特殊功能即存期以及4KB的内部ROM/EPROM。,5,2、8031最小应用系统 8031片内无驻留ROM,所以必须扩展程序存储器,常选用EPROM芯片。 在扩展程序存储器时,必须接上地址锁存器。,6,系统包括8031、2764EPROM、74LS373地址锁存器、时钟电路和复位电路。 /EA引脚接地,使CPU只能选择外部程序存储器,并执行ROM中的程序。 ALE引脚接74LS373的G端。,7,本节内容,8.1.1 80C51系列单片机的并行系统扩展能力 8.1.2 地址的锁存 8.1.3 存储器空间地址,8.1 80C51系列单片机并行系统扩展概述,8,8

4、.1.1 80C51系列单片机的并行系统扩展能力 对于小型的控制及检测系统,利用单片机自身的硬件资源就够了,但对于一些较大的应用系统,往往还需要扩展一些存储器、及并行口等外围芯片,以补充单片机硬件资源的不足。 80C51单片机的地址线有P2口和P0口提供,共16位,故其片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。由于51单片机访问片外数据存储器和程序存储器的指令及控制信号不同,故允许两者地址重合。,8.1 80C51系列单片机并行系统扩展概述,9,本节内容,8.1.1 80C51系列单片机的并行系统扩展能力 8.1.2 地址的锁存 8.1.3 存储器空间地址,8.1 80

5、C51系列单片机并行系统扩展概述,10,8.1.2地址的锁存 一、锁存的作用 80C51系列单片机以三总线(地址总线、数据总线、控制总线)方法外扩展存储器及外部I/O口芯片。 地址总线的高8位(A15A8)通过P2口输出。 数据总线(D7D0)和地址总线(A7A0)低8位通过P0口分时输出。,8.1 80C51系列单片机并行系统扩展概述,11,在基本扩展电路中,P0口是数据总线和低8位地址总线分时复用口,需要用到地址锁存器。 P0口采用分时复用的方法:CPU先从P0口输出低8位地址,从P2口输出高8位地址,从而利用PO口线和P2口线的高低电平的状态来确定具体访问的存储器空间位置,再从P0口读写

6、数据。所以,只有通过地址锁存器把P0口首先输出的低8位地址锁存起来,才能实现PO口的复用功能。,8.1 80C51系列单片机并行系统扩展概述,12,二、锁存器 常用地址锁存器有74LS373、74LS573、74LS273和8282等。 74LS373和74LS573功能一样,只是芯片引脚的排列不同,都是带有三态门的、双列直插20引脚的8D锁存器。,8.1 80C51系列单片机并行系统扩展概述,74LS373的引脚排列,74LS373的内部结构,13,74LS373的引脚符号和功能如下: 1)D7D0:三态门输入端。8位数据输入线。 2)Q7Q0:三态门输出端。8位数据输出线。 3)GND:接

7、地端。 4)VCC:电源端。 5)/OE:三态门使能端。数据输出允许信号。 /OE=0,三态门输出为标准TTL电平; /OE=1,三态门输出高阻态。,8.1 80C51系列单片机并行系统扩展概述,14,6)G:8D锁存器控制端。数据输入锁存选通信号。 G=1,Qi=Di(i=1,28),锁存器处于透明工作状态,即锁存器的输出状态随数据输入端的变化而变化。 当G端由1变0时,数据被锁存起来,此时输出端Qi不再随输入端的变化而变化,而一直保持锁存前的值不变。 G端可直接与单片机的锁存控制信号端ALE相连,在ALE的下降沿进行地址锁存。 74LS373的逻辑功能表见表8-1。,8.1 80C51系列

8、单片机并行系统扩展概述,表8-1 74LS373的逻辑功能表,15,地址锁存器一般采用74LS373,采用74LS373的地址总线的扩展电路如下图。,8.1 80C51系列单片机并行系统扩展概述,16,本节内容,8.1.1 80C51系列单片机的并行系统扩展能力 8.1.2 地址的锁存 8.1.3 存储器空间地址,8.1 80C51系列单片机并行系统扩展概述,17,8.1.3存储器空间地址 无论ROM和RAM哪种存储器芯片只要连接在系统中,单片机对其任意一个单元操作都需要先确定其地址空间。 虽然二者地址形式重叠,但是访问ROM和RAM的控制总线不同、指令不同,因此CPU完全能够准确区分二者。

9、如:某存储器芯片具有2KB个单元,本身需要11条地址线(A10A0),一般让其与单片机的P2.2P2.0和P0.7P0.0连接,将单片机剩下的P2.7P2.3地址线留下来承担区别芯片的任务,即完成片选功能。,8.1 80C51系列单片机并行系统扩展概述,18,MCS-51发出的地址是用来选择某个存储器单元进行读写,要完成这种功能,必须进行两种选择:片选、单元选择。 扩展芯片的片选方法分为线选法和译码法两种类型。 一、线选法 线选法是将剩余的高位地址线作为存储器芯片(或I/O接口芯片)的片选信号。,8.1 80C51系列单片机并行系统扩展概述,19,8.1 80C51系列单片机并行系统扩展概述,

10、【例8-1】现有2K*8位存储器芯片,需扩展8K*8位存储结构,要求采用线选法进行扩展。 解:扩展8KB的存储器结构需2KB的存储器芯片4片。2KB的存储器共11根地址线与单片机P2口的低3位(P2.2、P2.1、P2.0)和PO口连接。单片机的P2.3、P2.4、P2.5、P2.6分别与4个芯片的片选端连接,如图8-4所示。,20,8.1 80C51系列单片机并行系统扩展概述,图8-4 用线选方式实现片选,21,8.1 80C51系列单片机并行系统扩展概述,图中: 1、2、3、4都是2KB的存储器芯片; 地址线A10A0实现片内寻址,地址空间为2KB; 用4根高位地址线P2.3、P2.4、P

11、2.5、P2.6与4个芯片的/CE端相连,实现片选,均为低电平有效。 为了不出现寻址错误,当P2.3、P2.4、P2.5、P2.6中有一根地址线为低电平时,其余三根地址线必须为高电平,也就同类存储器每次只能有一个芯片被选中工作。,22,8.1 80C51系列单片机并行系统扩展概述,现假设剩下的一根高位地址线A15接为低电平,这样可得到如表8-2所示的四个芯片的地址分配。,23,8.1 80C51系列单片机并行系统扩展概述,线选法优点:电路简单,不需另外增加硬件电路,体积小,成本低,在简单的场合有实用价值。 线选法缺点: 片的地址空间相互之间可能不连续,不能充分利用微处理器的内存空间。(原因:用

12、做片选信号的高位地址线的信号状态得不到充分利用。) 容易出现地址重叠现象; 并且可作片选的高位地址线有限,可寻址的器件数目受到限制。 因此,线选法只适于外扩芯片不多,规模不大的单片机系统。,24,例:某一系统,需要外扩8KB的EPROM(2片2732),4KB的RAM(2片6116),这些芯片与MCS-51单片机地址分配有关的地址线连线,电路如下图。,补充实例1,25,2732:4KB程序存储器,有12根地址线A0A11,分别与单片机的P0口及P2.0P2.3口相连。 2732(1)的片选端接A15(P2.7),2732(2)的片选端接A14(P2.6)。 6116:2KB数据存储器,需要11

13、根地址线作为单元的选择,分别与单片机的P0口及P2.0P2.2口相连。 6116(1)的片选端接A12(P2.4),6116(2)的片选端接A13(P2.5)。,补充实例1,26,当要选中某个芯片时,单片机P2口对应的片选信号引脚应为低电平,其它引脚要为高电平。 两片程序存储器的地址范围: 2732(1)的地址范围:7000H7FFFH; (A15=0 A14=1 A13=1 A12=1) 2732(2)的地址范围: B000HBFFFH; (A15=1 A14=0 A13=1 A12=1) 6116(2)的地址范围:D800HDFFFH。(A15=1 A14=1 A13=0 A12=1) 6

14、116(1)的地址范围:E800HEFFFH; (A15=1 A14=1 A13=1 A12=0),A11?,6116(2)的地址范围:D000HD7FFH。 6116(1)的地址范围:E000HE7FFH;,补充实例1,27,线选法扩展16K字节RAM和16K字节EPROM电路图,补充实例2,28,二、译码法 译码法:通过译码器对系统的高位地址进行译码,以其译码输出信号 来选通相应的存储器芯片。 译码法分部分译码法和全译码法。 部分译码法是将余下的高位地址线部分经译码器后作为存储器芯片的片选信号线; 全译码法是将余下的高位地址线全部进行译码产生存储器的片选信号。 最常用的译码器芯片:74LS

15、138(3-8译码器)、74LS139(双2-4译码器)、74LS154(4-16译码器)。,8.1 80C51系列单片机并行系统扩展概述,29,1.74LS139译码器 74LS139为双2线-4线译码器。这两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端。 其引脚见图8-5。,8.1 80C51系列单片机并行系统扩展概述,图8-5 74LS139引脚图,/G:势能端,低电平有效。 A、B:选择端,即译码器输入端。 /Y0、/Y1、/Y2、/Y3:译码器输出信号,低电平有效。,30,74LS139译码器的真值表。,8.1 80C51系列单片机并行系统扩展概述,表8

16、-3 74LS139真值表,31,【例8-2】现有2K*8位存储器芯片,需扩展8K*8位存储结构,要求采用译码法进行扩展。 解:扩展8KB的存储器结构需2KB的存储器芯片4片。2K的存储器共11根地址线与单片机P2口的低3位(P2.2、P2.1、P2.0)和PO口连接。P2.3、P2.4作为二-四译码器的译码地址,译码输出作为扩展4个存储器芯片的片选信号,P2.5、P2.6、P2.7悬空。扩展连线图如图8-6所示。,8.1 80C51系列单片机并行系统扩展概述,32,8.1 80C51系列单片机并行系统扩展概述,图8-6 74LS139译码法实现片选,33,根据译码器的逻辑关系和存储器的片内寻

17、址范围,当未用的三位都取低电平0时,可以得到4个芯片的地址空间如表8-4所示:,8.1 80C51系列单片机并行系统扩展概述,34,74LS139译码器扩展存储器实例,补充实例1,35,2.74LS138译码器 74LS138是”3-8”译码器,具有3个选择输入端,可组成8种输入状态。 当译码器的输入为某一个固定编码时,其输出只有某一个固定的引脚输出为低电平,其余的为高电平。,8.1 80C51系列单片机并行系统扩展概述,图8-7 74LS138译码器引脚图,/G2A、/G2B、G1:势能端,用于引入控制信号。 A、B、C:选择端,即译码器信号输入端。 /Y7/Y0:译码输出信号,低电平有效。

18、,36,/E1、/E2、E3:势能端,用于引入控制信号。 A、B、C:选择端,即译码器信号输入端。 /Y7/Y0:译码输出信号,低电平有效。,补充,37,表8-5 74LS138译码器真值表,8.1 80C51系列单片机并行系统扩展概述,38,74LS138真值表,补充,39,【例8-3】 要扩8片8KB的存储器芯片,如何通过74LS138把64KB空间地址分配给各个芯片? 解:由74LS138真值表可知,把G1接到+5V,接地,P2.7、P2.6、P2.5(高3位地址线)分别接74LS138的C、B、A端,由于对高3位地址译码,这样译码器有8个输出,分别接到8片存储器的各“片选”端,实现8选

19、1的片选。低13位地址A12A0(P2.4P2.0,P0.7P0.0)完成对选中的8KB存储器中的各个存储单元的“单元选择”。这样就把64KB存储器空间分成8个8KB空间了。连接线见图8-8。,8.1 80C51系列单片机并行系统扩展概述,40,图8-8 74LS138划分存储器地址,8.1 80C51系列单片机并行系统扩展概述,41,如果用74LS138把32K空间全部划分为每块4KB,如何划分呢?,补充实例,42,译码法优点: 存储器芯片的地址空间连续,且唯一确定,不存在地址重叠现象,能够充分 利用内存空间; 当译码器输出端留有空余时,便于继续扩展存储器或其他外围器件,适用于 大容量多芯片

20、存储器扩展。 译码法缺点:电路连接复杂一些。 译码法分部分译码法和全译码法。 部分译码法是将余下的高位地址线部分经译码器后作为存储器芯片的片选信号线; 全译码法是将余下的高位地址线全部进行译码产生存储器的片选信号。 线选法和部分部分译码法会产生地址空间重叠现象。 全译码法可以消除地址空间重叠现象。,8.1 80C51系列单片机并行系统扩展概述,43,本节内容,8.2.1 程序存储器的扩展 8.2.2 数据存储器的扩展 8.2.3 数据存储器和程序存储器的统一编址,8.2 外部存储器的扩展方法,44,外部存储器扩展的内容和步骤 外部存储器的扩展方法的主要设计步骤如下: 1.确定存储器的类型和数量

21、: 固定信息采用ROM、随机信息采用RAM,根据程序和数据量确定容量。 2.选择合适的存储器芯片: 存取时间满足CPU的操作时序要求存储功耗,对容量达几百千字节,要选功耗小的存储器芯片数量,减少数量,连线少,减少分布电容,附加延时。 3.分配存储器的地址空间: 根据所用微处理器的寻址范围和系统要求,分配好ROM和RAM的地址空间,同时要兼顾I/O接口和外围设备占用地址。 4.设计片选逻辑:片选信号产生的方式。 5.核算对系统总线的负载要求:超过总线负载能力后,需要加驱动。 6.校验存储器的存取速度: 一般参考现有的微机系统来校验,存储器的存取时间加上相关电路的延迟时间与微处理器的读/写操作时序

22、所要求的存取时间作比较,前者小,并能正常工作,不需要调整。,45,扩展外部程序存储器的连接逻辑电路,51系列单片机的基本扩展电路,46,8.2.1程序存储器的扩展 80C51单片机片内有4KB ROM,对于较大的系统若4KB不够用,需在片外扩展程序存储器。 外部扩展程序存储器的类型可以是EPROM、E2PROM或Flash ROM,其中使用较多EPROM。,8.2 外部存储器的扩展方法,47,一、单片EPROM程序存储器的扩展方法 扩展程序存储器时,应尽量用大容量的芯片。 1.常用EPROM的芯片及引脚 EPROM常用的是27系列产品,如:2716(2KB)、2764(8KB)、27128(1

23、6KB)、27256(32KB)、27512(64KB)。 型号27后面的数字是该芯片的位存储容量。如2764中64表示该芯片的位存储容量是64Kbit,该数值除以8所得即是该ROM能存放程序的K字节数,因此2764芯片的容量为8KB(B表示字节单位)。 图8-9是这些芯片的引脚图。,8.2 外部存储器的扩展方法,48,8.2 外部存储器的扩展方法,49,其中各引脚功能如下: A15A0:地址线引脚。数目由芯片的存储容量决定,如27128有14根,27256有15根。用于进行单元选择。 D7D0:数据线引脚。一般与单片机的PO口之间连接。 /CE:片选控制端。为低电平时程序存储器被选中工作。

24、/OE:输出允许控制端。为低电平时程序存储器允许指令从数据线引脚输出。 VCC:+5V,芯片的工作电压。 VPP:编程时,编程电压(+12V或+25V)输入端。 GND:数字地。 NC:无用端。,8.2 外部存储器的扩展方法,50,2764A是8K8位紫外线擦除电可编程只读存储器,单一+5V供电,最大工作电流75mA,维持电流35mA,读出时间最大250ns。 A12A0:13位地址信号输入线,说明芯片的容量为8K213个单元。,8.2 外部存储器的扩展方法,51,2.程序存储器的扩展方法 1)数据线连接 程序存储器的数据线D7D0与单片机P0.0P0.7直接连接,作为扩展系统的数据总线,该数

25、据总线为单向数据总线,外部ROM中的指令通过该总线被读入单片机。 2)低8位地址线的连接 单片机P0.0P0.7连接到到地址锁存器的8位数据输入线D0D7上,经锁存后8位数据输出线Q0Q7与程序存储器的低8位地址输入线A0A7相连接。 3)高位地址线的连接 程序存储器的高位地址线AX(X=915)A8与单片机的P2口直接连接; 如:27128共有14根地址线A0A13,完成低8位地址线的连接后,剩下的A8 A13的高6位地址线,直接与P2.0P2.5相连接。,8.2 外部存储器的扩展方法,52,2.程序存储器的扩展方法 4)控制线的连接 ALE接锁存器的使能端G,/PSEN连接程序存储器的允许

26、输出端/OE,/EA接地。 5)片选端/CE的连接 可利用P2口其余地址线,用来产生程序存储器的片选信号/CE,单片可直接接地。,8.2 外部存储器的扩展方法,53,8.2 外部存储器的扩展方法,图8-10 单片机扩展一片2764电路图,表8-6中叉号代表没有连接的P2.7、P2.6、P2.5位,三者可以有八种组合即:000、001、010111。 当三者的组合是000时,该2764的地址范围是0000H1FFFH; 当二者的组合是001时,该2764的地址范围是2000H3FFFH; 当二者的组合是010时,该2764的地址范围是4000H5FFFH; 当二者的组合是111时,该2764的地

27、址范围是E000HFFFFH。 可见如果外扩的ROM没有用完所有的P2口地址时,ROM地址的范围不固定,一般未用的高位地址常被选择全部为0。,54,MCS-51外扩单片16K字节的EPROM 27128的接口。,补充实例1,55,27128A是16K8位紫外线擦除电可编程只读存储器,单一+5V供电,最大工作电流为100mA,维持电流为40mA,读出时间最大为250ns。引脚见图。 A13A0:14位地址信号输入线,说明芯片的容量为16K214个单元。,补充实例1,56,MCS-51外扩单片32K字节的EPROM 27256的接口。,补充实例2,57,二、CPU从外部程序存储器取指令的时序(略)

28、 外部程序存储器与内部程序存储器的功能都是用来存放编程人员编制的程序指令。因此CPU对其的操作只有读出,没有写入,程序指令的代码传送的方向是单向的。 当CPU执行外部ROM中的指令时,CPU将自动逐条读取其内的指令。在读取指令的过程中,单片机的ALE、/PSEN、/EA将控制读取过程。其中ALE用于低8位地址锁存控制;是片外程序存储器“读选通”控制信号,它接外扩EPROM的/OE引脚。,8.2 外部存储器的扩展方法,58,P2口用来输出程序指令在ROM中存放单元地址的高8位,P0口分时用作低8位地址总线和数据总线。作低8位地址线时与P2口联合形成16位的地址,这个16位地址就是指令在ROM中的

29、存放地址,这个地址将指引CPU去该存储单元取指令。 P0口作数据线时的功能是指:CPU将P2、P0所指示外ROM单元地址中的指令代码,从P0与EPROM的D0D7的连接线上传送到单片机内部。,8.2 外部存储器的扩展方法,59,【例8-4】试绘图说明CPU从外部ROM 2080H单元中读取MOV R0,#30H的指令时序。 解:图8-11是该指令时序图。 该指令编译后的机器码是78 30,依次占用外部ROM 2080H和2081H单元。执行该指令时CPU首先从P2口送出2080中的高8位地址20H,并将80H通过P0口送到74LS373锁存器输出端,ALE是高电平时74LS373处于直通状态,

30、输出等于输入,在ALE的下降沿PO口送出的数据被锁存在输出端,这时PO口数据再变化,74LS373的输出端仍然保持80H这一状态。这样P2口和P0口共同形成了16位地址2080H。,8.2 外部存储器的扩展方法,60,随后单片机将78H这一指令代码通过P0口与外部ROM的D7D0的连接线路读入CPU。接着CPU将2081H这一地址再通过P2口和P0口送出,当作为地址信号的P0口数据被锁存后,CPU会将指令的第二个字节代码30H通过P0口线读入到CPU中。,图8-11 单片机外扩程序存储器的时序图,8.2 外部存储器的扩展方法,61,从图8-11可以看出,80C51单片机的一个机器周期包含6个状

31、态S1S6,ALE和在一个机器周期中都是两次有效的。当ALE有效(高电平)时,高8位地址(PCH)从P2口输出,低8位地址(PCL) 从P0口输出。 因此,可以在ALE的下降沿把P0口输出的地址信号锁存起来。然后利用信号按地址选通外部程序存储器,将相应单元的数据(指令代码)送到P0口。CPU在上升沿完成对P0口的数据采样。这样就实现了P0口地址数据的分时操作。,8.2 外部存储器的扩展方法,62,对图8-11有几点值得注意: 1)对应于ALE下降沿时刻,出现在P0口上的信号必然是低8位地址信号A7A0。 2)对应于上升沿时刻,出现在P0口上的信号必然是指令信号。,8.2 外部存储器的扩展方法,

32、63,三、扩展多片EPROM程序存储器 当扩展一片EPROM不能满足要求时,可以采用扩展多片EPROM的方案。这时所有芯片的片选端都必须适当连接,需要使用片内寻址以外的高位地址线,以线选或译码方式提供片选信号。 图8-12是采用译码方式扩展4片2764 EPROM的连接图。 2764的地址线有13根,低8位地址线连接锁存器的输出端,其余5根地址线接到P2.0P2.4; 4片EPROM的数据线都直接与P0口连接; /OE端都与/PSEN连接。 P2口剩下的2根高位地址线P2.6、P2.5(A14、A13)通过74LS139选通4片2764的片选信号,接到各片/CE端。 A15(P2.6)未用,可

33、以取高电平也可以取低电平,一般来说我们习惯于把A15这样未用的位取”0”。,8.2 外部存储器的扩展方法,64,8.2 外部存储器的扩展方法,65,扩展3片,EPROM,/CE由线选产生,3个EPROM芯片的地址范围为: EPROM #1 C000H-DFFFH EPROM #2 A000H-BFFFH EPROM #3 6000H-7FFFH,补充实例1,66,思考题:使用2片EPROM 27256的扩展电路?,补充实例2,67,本节内容,8.2.1 程序存储器的扩展 8.2.2 数据存储器的扩展 8.2.3 数据存储器和程序存储器的统一编址,8.2 外部存储器的扩展方法,68,8.2.2

34、数据存储器的扩展 数据存储器用于存储现场采集的原始数据、运算结果等。 51系列单片机内部仅有128B的RAM,对于简单的应用场合,已够用;但是对于复杂场合,需要处理大量数据,这时必须外扩RAM,最大可外扩64KB。 在单片机应用系统中,如果外部扩展动态数据存储器,还需要有对应的硬件刷新电路。所以,在单片机外部扩展的数据存储器都不采用动态数据存储器,而采用静态数据存储器(SRAM)。,8.2 外部存储器的扩展方法,69,8.2 外部存储器的扩展方法,单片机访问外部RAM时,使用MOVX指令。 1) 低8位地址线寻址的外部数据区(寻址空间为256B) 读存储器数据指令:MOVX A,Ri 写存储器

35、数据指令:MOVX R,A 2)16位地址寻址的外部数据区(寻址空间为64K) 读存储器数据指令:MOVX A,DPTR 写存储器数据指令:MOVX DPTR,A 当CPU执行上述指令时,自动产生有效的读写控制信号从/RD和/WR引脚输出。,70,一、外部数据存储器的扩展方法 1.常用于外部RAM扩展的芯片及引脚 静态数据存储器常用的是62系列产品,如:6216(2KB)、6264(8KB)、128(16KB)、62256(32KB)、62512(64KB)。 同样型号62后面的数字是该芯片的位存储容量。该数值除以8所得即是该RAM能存放数据的K字节数,因此6264芯片的容量为8KB(B表示字

36、节单位)。,8.2 外部存储器的扩展方法,71,8.2 外部存储器的扩展方法,72,芯片引脚如右图,接+5V电源,73,如图8-13所示,常用62系列静态存储器芯片各引脚功能如下: D7D0:双向三态数据线。与单片机的P0口直接连接。 AiA0:地址输入线。芯片容量不同,地址线数量不同。i=10(6116),12(6264),13(62128),14(62256)。 /CE:片选信号输入线,低电平有效。对6264芯片,当26脚(CS)为高电平且为/CE为低电平时才选中该片。 /OE:读选通信号输入线,低电平有效。 /WE:写允许信号输入线,低电平有效。 VCC:工作电源,接+5V电压。 GND

37、:接地。,8.2 外部存储器的扩展方法,74,2.扩展数据存储器的连接电路 扩展静态RAM与扩展ROM相似,只是控制信号有所不同。 数据存储器的扩展方法是: 1)数据线连接 数据存储器的数据线D0D7直接连接到单片机P0.0P0.7上,作为扩展系统的数据总线。与外扩程序存储器是单向总线不同,外扩数据存储器是双向数据总线。 2)低8位地址线的连接 单片机P0.0P0.7连接到到地址锁存器的8位数据输入线D0D7上,经锁存后8位数据输出线Q0Q7与数据存储器的低8位地址输入线A0A7相连接。,8.2 外部存储器的扩展方法,75,2.扩展数据存储器的连接电路 3)高位地址线的连接 根据外部存储器的容

38、量,数据存储器的高位地址线AX(X=915)A8与单片机的P2口直接连接; 4)控制线的连接 8051的ALE接锁存器的使能端G; /RD接RAM的读选通信号输入端/OE; /WR(P3.6)接RAM的写选通信号输入端/WE。(单片机可以通过执行MOVX写出指令使得引脚/WR低电平时,此时单片机会将数据从P0口送出) 5)片选端/CE的连接 可利用P2口其余地址线,用来产生数据存储器的片选信号/CE,单片可直接接地。,8.2 外部存储器的扩展方法,76,数据存储器的扩展方法: 1)地址线和数据线的连接:与扩展程序存储器的连接方法相同。 2)控制线的连接 ALE:与地址锁存器的G相连接; /CE

39、:为片选信号输入端,低电平有效; /RD(P3.7):读控制信号,与外部RAM芯片的/OE连接; /WR(P3.6):写控制信号,与外部RAM芯片的/WE连接。 RAM芯片:读写控制引脚,记为/OE和/WE ,与MCS-51的/RD和/WR相连。 EPROM芯片:只能读出,故只有读出引脚,记为/OE,该引脚与MCS-51的/PSEN相连。,77,图8-14为6264与单片机的连接图。,8.2 外部存储器的扩展方法,78,8.2 外部存储器的扩展方法,表8-8 扩展一片6264的地址值,79,二、操作片外数据存储器所用指令的时序(略) 1.对外部RAM的操作指令 可以完成80C51系列单片机与外

40、部RAM进行数据交换的指令如下: MOVX A, Ri ;从外RAM读输入单片机 MOVX Ri,A ;从单片机写出到外RAM MOVX A,DPTR ;从外RAM读输入单片机 MOVX DPTR,A ;从单片机写出到外RAM 这4条指令(实际上为6条,因为i=0,1)全为寄存器间接寻址操作,且全为累加器A与外部接口打交道。以上指令集统称为“MOVX”类指令。前2条指令采用R0或R1间址。,8.2 外部存储器的扩展方法,80,2.执行与外部数据存储器进行数据交换指令的时序 只有执行MOVX类指令才能够对外部数据存储器进行数据交换。当执行这些指令时CPU首先将MOVX指令从内部ROM或外部R0M

41、中取出。如果MOVX指令存放在内部ROM中,其采用内部总线完成指令操作,与P2、P0、ALE、/PSEN等引脚无关。我们这里讨论当MOVX类指令存放在外部ROM中时,P2、P0、ALE、/PSEN、/WR、/RD的时序关系。,8.2 外部存储器的扩展方法,81,当MOVX类指令存放在外部ROM中时,第一个机器周期CPU首先执行将指令从外部ROM取出的操作,其操作时序与例【例8-4】基本相同:在读取指令的过程中单片机的ALE、/PSEN将控制读取过程,其中ALE用于低8位地址锁存控制,且ALE在读取MOVX指令时仍然保持一个机器周期中有两次高电平有效,/PSEN为低电平时,MOVX指令对应的机器

42、码从P0口进入单片机内部。将指令代码取入单片机内部后,CPU将DPTR值的高8位DPH送到P2口,将DPTR的低8位送到单片机的P0口,从而确定与单片机进行数据交换的外部数据存储器的单元地址,PO口信号被ALE信号的下降沿锁存。 如果执行的是读入指令,CPU会使得/RD信号成为低电平,在此期间外部RAM单元中的数据被送到PO口线,单片机将其自动读入到累加器A中。如果执行的是写出指令,则CPU将令/WR信号有效,数据从累加器A输出到P0口从而送入外部RAM的DPTR指出的单元中。,8.2 外部存储器的扩展方法,82,【8-5】试绘制执行MOVX A,DPTR 的指令时序。设这条指令存放在外部RO

43、M 2080H单元,该代码对应的二进制机器码为EOH,且(DPTR)3658H,(3658H)=28H。 解:指令的时序关系如图8-15所示。,图8-15 执行读入指令MOVX A,DPTR的时序,8.2 外部存储器的扩展方法,83,【例8-6】试绘制执行MOVX DPTR,A的指令时序,设这条指令存放在外部ROM 2066H单元,该指令对应的机器码为FOH,累加器A中存放的数值为68H,(DPTR)3022H。,图8-16 执行写出指令MOVX DPTR,A的时序,8.2 外部存储器的扩展方法,84,三、扩展多片SRAM 当扩展一片RAM不能满足要求时,可以采用扩展多片RAM的方案。这时所有

44、芯片的片选端都必须适当连接,要用到片内寻址以外的高位地址线,以线选或译码方式提供片选信号。 1.译码法扩展多片RAM 图8-17是采用译码方式扩展4片6264 RAM的连接图。,8.2 外部存储器的扩展方法,85,8.2 外部存储器的扩展方法,86,例:用两片6264芯片扩展16KB的外部数据存储器。,1#6264的地址范围是0000H1FFFH, 2#6264的地址范围是2000H3FFFH。,补充实例1,87,4片6116扩展8K数据存储器的硬件电路连接如下:,补充实例2,88,各片62128地址分配: P2.6 P2.7 译码输出 选中芯片 地址范围 存储容量 0 0 /YO IC1 0

45、000H-3FFFH 16K 0 1 /Y1 IC2 4000H-7FFFH 16K 1 0 /Y2 IC3 8000H-BFFFH 16K 1 1 /Y3 IC4 C000H-FFFFH 16K,4片62128扩展64K数据存储器的硬件电路连接如下:,补充实例3,89,2.线选法扩展多片RAM 图8-18是采用线选方式扩展2片62128RAM的连接图。,8.2 外部存储器的扩展方法,90,8.2 外部存储器的扩展方法,91,单片62256与8031的接口电路如图所示。地址范围为0000H7FFFH。,补充实例1,92,3片6264扩展24K数据存储器的硬件电路连接如下:,补充实例2,93,本

46、节内容,8.2.1 程序存储器的扩展 8.2.2 数据存储器的扩展 8.2.3 数据存储器和程序存储器的统一编址,8.2 外部存储器的扩展方法,94,8.2.3数据存储器和程序存储器的统一编址 图8-19是80C51扩展2片27128和2片62128作为外部程序存储器和外部数据存储器的电路图。,8.2 外部存储器的扩展方法,95,8.2 外部存储器的扩展方法,96,8.2 外部存储器的扩展方法,地址总线与数据总线公用,ROM(27128)用到/PSEN,RAM (62128)用到/RD和/WR,采用片选方式产生片选信号。 一片62128和一片27128共用一个片选信号,其地址是重叠的。 图中:

47、IC1 27128和IC3 62128的地址均为8000HBFFFH IC2 62128和IC4 62128的地址均为4000H7FFFH 由于访问片外ROM与访问片外RAM所用的控制线不同,且/PSEN与/RD、/WR不会同时有效,所以虽然地址总线与数据总线公用,但不会引起混乱。,97,数据存储器和程序存储器的统一编址 实际使用时,往往程序存储器和数据存储器均要扩展,尤其是8031单片机。 例:对8031单片机扩展16KB的程序存储器和16KB数据存储器,分别采用2764和6264芯片。 解:2764和6264分别为8KB的ROM和8KB的RAM,因此各需要2片才能分别组成16KB的ROM和

48、16KB的RAM。 P0口提供低8位地址,经地址锁存器与4片芯片的A0-A7相连, P2口的低5位P2.0P2.4直接与各芯片的的高5位地址线A8-A12连接, P0口提供8位数据线P0.0-P0.7直接与各芯片的数据线D0-D7相连, /PSEN接2764的数据允许输出端OE, /RD和/WR分别连接6264的读选通信号输入端/OE和写选通信号输入端/WE。 P2口的P2.7、P2.6、P2.5与译码器的C、B、A连接,Y0、Y1分别连接两片2764的片选信号输入端CE,Y2、Y3分别连接两片6264的片选信号输入端CE。,98,对系统进行扩展后,各存储器芯片的地址范围是: 1#2764:0

49、000H1FFFH 2#2764:2000H3FFFH 1#6264:4000H5FFFH 2#6264:6000H7FFFH 1#6264、2#6264的片选信号也可以采用Y0、Y1,此时两片6264芯片的地址范围是:1#6264:0000H1FFFH 2#6264:2000H3FFFH,99,思考问题:在程序存储器与数据存储器地址相同情况下,会不会造成数据访问时冲突呢? 答:不会!因为: 因为外部ROM的读控制信号/PSEN在CPU向外部ROM取指令时才产生,而/RD、/WR此时无效,如CPU向外部ROM取指令时指令“MOVC A,A+DPTR”只能访问外部ROM; 而访问外部RAM的读写控制信号为/RD和/WR,它们由MOVX指令产生,而/PSEN无效,如CPU执行指令“MOVX A,DPTR”,当DPTR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1