《单片机并行系统扩展技术PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《单片机并行系统扩展技术PPT讲稿.ppt(128页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机并行系统扩展技术单片机并行系统扩展技术第1页,共128页,编辑于2022年,星期五第第88章目录章目录n8.180C518.180C51系列单片机的并行系统扩展概述系列单片机的并行系统扩展概述8.1.180C51系列单片机的并行系统扩展能力8.1.2地址的锁存8.1.3存储器空间地址n8.28.2外部存储器的扩展方法外部存储器的扩展方法8.2.1程序存储器的扩展8.2.2数据存储器的扩展8.2.3数据存储器和程序存储器的统一编址n8.38.3外部外部I/0I/0口的扩展方法口的扩展方法8.3.1对I/O口的编程指令8.3.2简单并行I/O接口扩展8.3.381C55可编程I/O接口及扩展
2、技术8.3.482C55可编程接口电路的扩展第2页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n80C5180C51系列单片机其芯片内部集成了计算机的基本功能部件,系列单片机其芯片内部集成了计算机的基本功能部件,如如CPUCPU、RAMRAM、ROMROM、并行和串行、并行和串行I/OI/O口以及定时口以及定时/计计数器,使用非常方便。数器,使用非常方便。n对于小型的控制及检测系统,利用单片机自身的硬件资源就够了,对于小型的控制及检测系统,利用单片机自身的硬件资源就够了,但对于一些较大的应用系统,往往还需要扩展一些存储器、及并但对于一些较大的应用系统,
3、往往还需要扩展一些存储器、及并行口等外围芯片,以补充单片机硬件资源的不足。行口等外围芯片,以补充单片机硬件资源的不足。第3页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.180C518.1.180C51系列单片机的并行系统扩展能力系列单片机的并行系统扩展能力80C51单片机的地址线有P2口和P0口提供,共16位,故其片外可扩展的存储器最大容量为64KB,地址为0000HFFFFH。由于51单片机访问片外数据存储器和程序存储器的指令及控制信号不同,故允许两者地址重合。80C51单片机没有专门对外部扩展的I/O口、A/D、D/A芯片的操作指令,都借
4、用对外部RAM的操作指令MOVX来实现对这些外部扩展芯片的控制。即每一个I/O口相当于一个RAM存储单元,CPU如同访问外部数据存储器一样访问扩展I/O口,对其进行读写操作。第4页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.28.1.2地址的锁存地址的锁存1、锁存的作用80C51系列单片机以三总线(地址总线、数据总线、控制总线)方法外扩展存储器及外部I/O口芯片时,数据总线(D7D0)和地址总线(A7A0)低8位通过P0口分时输出,地址总线的高8位(A15A8)通过P2口输出。P0口采用分时复用的方法:CPU先从P0口输出低8位地址,从P2口
5、输出高8位地址,从而利用PO口线和P2口线的高低电平的状态来确定具体访问的存储器空间位置,再从P0口读写数据。所以,只有通过地址锁存器把P0口首先输出的低8位地址锁存起来,才能实现PO口的复用功能。单片机的ALE引脚一般与锁存器的控制信号G相连接,在ALE的下降沿P0口的低8位地址信号进入锁存器,锁存器输出作为地址总线低8位的A7A0。第5页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.28.1.2地址的锁存地址的锁存2、锁存器74LS373和74LS573等TTL芯片常用来完成上述的地址锁存功能。两者功能一样,只是芯片引脚的排列不同,用户可以
6、根据印刷电路板的布线需要选用。它们都是带有三态门的、双列直插20引脚的8D锁存器。74LS373其引脚图如图8-1所示,其内部结构图如图8-2所示。图 8-174LS373引脚图图8-274LS373结构图第6页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.28.1.2地址的锁存地址的锁存2、锁存器74LS373的引脚符号和功能如下:(1)D7D0:三态门输入端。(2)Q7Q0:三态门输出端。(3)GND:接地端。(4)VCC:电源端。(5):三态门使能端。,三态门输出为标准TTL电平;=1,三态门输出高阻态。(6)(6)G:8D锁存器控制端。
7、当G=1时,锁存器处于透明工作状态,即锁存器的输出状态随数据输入端的变化而变化,即Qi=Di(i=1,28)。当G端由1变0时,数据被锁存起来,此时输出端Qi不再随输入端的变化而变化,而一直保持锁存前的值不变。G端可直接与单片机的锁存控制信号端ALE相连,在ALE的下降沿进行地址锁存。第7页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.28.1.2地址的锁存地址的锁存2、锁存器74LS373的逻辑功能表见表8-1。图8-3是使用74LS373芯片作为80C51系列单片机P0口的低8位地址锁存器的连接方法。表 8-174LS373的逻辑功能表图
8、8-374LS373与80C51第8页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址无论ROM和RAM哪种存储器芯片只要连接在系统中,单片机对其任意一个单元操作都需要先确定其地址空间。如某11根地址线的存储器芯片,其地址空间为2KB,如果系统中只有这一片芯片,那其地址范围可以是(0000H07FFH)。当系统中扩展的存储器芯片多于一片时,对于同一种类(如:RAM)存储器的每一个单元必须具有唯一的地址.第9页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38
9、.1.3存储器空间地址存储器空间地址学校只有一座2KB个房间的宿舍楼,没有教学楼,则给宿舍的各个房间编号的方法非常简单,只需要从0000H开始编写到07FFH结束即可。只有一座教学楼无宿舍楼的情况相同。但如果同时有一座2KB的教学楼和一座2KB宿舍楼其地址都可以从0000H开始编写到07FFH。虽然二者地址形式重叠,但是访问ROM和RAM的控制总线不同、指令不同,因此CPU完全能够准确区分二者。但是对于有两座或两座以上宿 舍楼、教学楼的情况就要重新讨论了。假设一个学校有两座相同的宿舍楼,其每个楼有2KB个宿舍。那么在我们的生活经验中,会采用把其分成A、B座的方法。在单片机中也是采用这样的思路。
10、一般 我们习惯于让其与单片机的P2.2 P2.0和 P0.7 P0.0低11位地址(即单片机的地址线A10 A0)连接;将单片机剩下的 P2.7 P2.3地址线(即单片机的地址线A15 A11)留 下来 承担区别芯片的任务,即完成片 选功能。扩展芯片的片选方法分为线选法和译码法两种类型。第10页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址1、线选法所谓线选方式,就是把一根高位地址线直接连到某个存储器芯片的片选端。【例8-1】现有2K*8位存储器芯片,需扩展8K*8位存储结构,要求采用线选法进行扩展。解:
11、扩展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所示。第11页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址1、线选法图 8-4用线选方 式实现片选第12页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址1、线选法图8-4中:地址线A10A0
12、实现片内寻址,地址空间为2KB;用4根高位地址线P2.3、P2.4、P2.5、P2.6与4个芯片的端相连,实现片选,均为低电平有效。(P2.5、P2.6中有一根地址线为低电平时,其余三根地址线必须为高电平,即同类存储器每次只能有一个芯片被选中工作)。现假设剩下的一根高位地址线A15接为低电平,这样可得到如表8-2所示的四个芯片的地址分配。第13页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址1、线选法第14页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.3
13、8.1.3存储器空间地址存储器空间地址1、线选法可以看出,四个芯片的片内寻址A10A0都是从00(共11位),到11(共11位),为2KB空间,而依靠不同的片选信号高位地址线A14、A13、A12、A11中的某一根为0,来区分这四个芯片的地址空间。线选方式的电路连接简单,其缺点:芯片的地址空间相互之间可能不连续(如图8-4所示的情况),不能充分利用微处理器的内存空间。其原因是,用做片选信号的高位地址线的信号状态得不到充分利用。第15页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址1、线选法以图8-4为例,
14、当A11为低电平选通芯片1时,此时A14、A13、A12必须为高电平,然而A15的电平可高可低。这样对于芯片,实际上存在2个地址空间,它们是7000H77FFH和F000HF7FFH。同理,其它三个芯片也各有2个地址空间。对于地址重叠现象,编程者清楚即可,任意选定其中一个地址空间供编程用皆可。第16页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址2、译码法采用译码方式编址可以克服线选方式的缺点,它通过译码器将高位地址线的状态译码,然后用译码器输出信号来选通相应的存储器芯片。常用的译码器有74LS139、7
15、4LS138等。(1).74LS139译码器74LS139为双2线-4线译码器。这两个译码器完全独立,分别有各自的数据输入端、译码状态输出端以及数据输入允许端。表8-3(只给出一组)为74LS139译码器的真值表。其引脚见图8-5。第17页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址2、译码法 第18页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址2、译码法【例8-2】现有2K*8位存储器芯片,需扩展8K*8位存储
16、结构,要求采用译码法进行扩展。解:扩展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所示。第19页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址2、译码法图 8-6 74LS139译 码法实现片选第20页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并
17、行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址根据译码器的逻辑关系和存储器的片内寻址范围,当未用的三位都取低电平0时,可以得到4个芯片的地址空间如表8-4所示:第21页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址(2)、74LS138译码器 74LS138译码器属于3线-8线译码器,有3个数据输入端,经译码产生8种状态。真值表见表8-5。由表8-5可见,当译码器的输入为某一固定编码时,其输出仅有一个固定的引脚输出为低电平,其余的为高电平。输出为低电平的引脚就作为某一存储器芯片的片选信号
18、,引脚如图8-7所示。第22页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址(2)、74LS138译码器图 8-7 74LS138译 码器 引脚图第23页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址(2)、74LS138译码器【例8-3】要扩8片8KB的存储器芯片,如何通过74LS138把64KB空间地址分配给各个芯片?解:由74LS138真值表可知,把G1接到+5V,接地 P2.7、P2.6、P2.5(高3位地址
19、线)分别接74LS138的C、B、A端,由于对高3位地址译码,这样译码器有8个输出,分别接到8片存储器的各“片选”端,实现8选1的片选。低13位地址A12A0(P2.4P2.0,P0.7P0.0)完成对选中的8KB存储器中的各个存储单元的“单元选择”。这样就把64KB存储器空间分成8个8KB空间了。连接线见图8-8。第24页,共128页,编辑于2022年,星期五8.1 8.1 并行系统扩展概述并行系统扩展概述n8.1.38.1.3存储器空间地址存储器空间地址 图 8-8 74LS138划分存储器地址 译 码方 式的优点是:存储器芯片的地址空间连续,且唯 一确定,不存在地址重叠现象,能 够充分利
20、用内存空间;当译码器输出端留有空余时,便于继续扩展存储器或其他外围器件。其 缺点是电路连接复杂 一些。第25页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展 80C51单片机片内有4KB ROM,对于较大的系统若4KB不够用,需在片外扩展程序存储器。外部扩展程序存储器的类型可以是EPROM、E2PROM或Flansh ROM,其中使用较多EPROM。1、单片EPROM程序存储器的扩展方法(1).常用EPROM的芯片及引脚 EPROM常用的是27系列产品,如:2716(2KB)、2764(8KB
21、)、27128(16KB)、27256(32KB)、27512(64KB)。型号27后面的数字是该芯片的位存储容量。如2764中64表示该芯片的位存储容量是64Kbit,该数值除以8所得即是该ROM能存放程序的K字节数,因此2764芯片的容量为8KB(B表示字节单位)。图8-9是这些芯片的引脚图。第26页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展(1).常用EPROM的芯片及引脚 第27页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2
22、.18.2.1程序存储器的扩展程序存储器的扩展(1).常用EPROM的芯片及引脚其中各引脚功能如下:A15A0:地址线引脚。它的数目由芯片的存储容量决定,如27128有14根,27256有15根。用于进行单元选择。D7D0:数据线引脚。一般与单片机的PO口之间连接。:片选控制端。其为低电平时程序存储器被选中工作。:输出允许控制端。其为低电平时程序存储器允许指令从数据线引脚输出。VCC:+5V,芯片的工作电压。VPP:编程时,编程电压(+12V或+25V)输入端。GND:数字地。NC:无用端。第28页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n
23、8.2.18.2.1程序存储器的扩展程序存储器的扩展(2).程序存储器的扩展方法 程序存储器的数据线D7D0与单片机的P0口的8根线对应连接,作为扩展系统的数据总线,该数据总线为单向数据总线,外部ROM中的指令通过该总线被读入单片机。单片机PO口通过锁存器的输出端与程序存储器地址线的低8位A7A0连接;程序存储器的高位地址线AX(X=915)A8与单片机的P2口直接连接;程序存储器的输出允许端与单片机的相接;如果只有一片EPROM,其片选端一般固定接地。图8-10为2764与单片机的连接图,该存储器的地址范围见表8-6。第29页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器
24、的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展(2).程序存储器的扩展方法表 8-6中叉号代表没有连接的P2.7、P2.6、P2.5位,三者可以有八种组合即:000、001、010111。当 三者的组合是 000时,该 2764的地址范围是0000H1FFFH;二 者的组合是 001时,该 2764的地址范围是2000H 3FFFH;当二者的组合是010时,该 2764的地址范围是4000H 5FFFH;当二者的组合是 111时,该 2764的地址 范围是E000H FFFFH。可见如果外扩的ROM没 有用完所有的 P2口地址时,ROM地址的范围 不固定,一
25、般未用的高位地址常被选择全部为0。第30页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展(2).程序存储器的扩展方法图 8-10 单片机扩展一片 2764电路图第31页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展(2).程序存储器的扩展方法若需要外部扩展的EPROM的芯片为27128,则其与单片机的连接方法,只需要在图8-10的基础上增加一条地址线即可,将外部ROM的A13与单片机的P2.5
26、连接(也可以选择P2.6或P2.7,但习惯于选择P2.5)。第32页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展2、CPU从外部程序存储器取指令的时序外部程序存储器与内部程序存储器的功能都是用来存放编程人员编制的程序指令。因此CPU对其的操作只有读出,没有写入,程序指令的代码传送的方向是单向的。当CPU执行外部ROM中的指令时,CPU将自动逐条读取其内的指令。在读取指令的过程中,单片机的ALE、将控制读取过程。其中ALE用于低8位地址锁存控制;是片外程序存储器“读选通”控制信号,它接外扩EP
27、ROM的 引脚。第33页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展2、CPU从外部程序存储器取指令的时序P2口用来输出程序指令在ROM中存放单元地址的高8位,P0口分时用作低8位地址总线和数据总线。作低8位地址线时与P2口联合形成16位的地址,这个16位地址就是指令在ROM中的存放地址,这个地址将指引CPU去该存储单元取指令。P0口作数据线时的功能是指:CPU将P2、P0所指示外ROM单元地址中的指令代码,从P0与EPROM的D0D7的连接线上传送到单片机内部。第34页,共128页,编辑于
28、2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展2、CPU从外部程序存储器取指令的时序【例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处于直通状态,输出等于输入,在ALE的下降沿PO口送出的数据被锁存在输出端,这时
29、PO口数据再变化,74LS373的输出端仍然保持80H这一状态。这样P2口和P0口共同形成了16位地址2080H。第35页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展2、CPU从外部程序存储器取指令的时序随后单片机将78H这一指令代码通过P0口与外部ROM的D7D0的连接线路读入CPU。接着CPU将2081H这一地址再通过P2口和P0口送出,当作为地址信号的P0口数据被锁存后,CPU会将指令的第二个字节代码30H通过P0口线读入到CPU中。图图 8-11 8-11 单片机单片机外外扩扩 程程
30、序存储器的时序图序存储器的时序图第36页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展2、CPU从外部程序存储器取指令的时序从图8-11可以看出,80C51单片机的一个机器周期包含6个状态S1S6,ALE和在一个机器周期中都是两次有效的。当ALE有效(高电平)时,高8位地址(PCH)从P2口输出,低8位地址(PCL)从P0口输出。因此,可以在ALE的下降沿把P0口输出的地址信号锁存起来。然后利用信号按地址选通外部程序存储器,将相应单元的数据(指令代码)送到P0口。CPU在上升沿完成对P0口的数
31、据采样。这样就实现了P0口地址数据的分时操作。对图8-11有几点值得注意:1)对应于ALE下降沿时刻,出现在P0口上的信号必然是低8位地址信号A7A0。2)对应于上升沿时刻,出现在P0口上的信号必然是指令信号。第37页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展3、扩展多片EPROM程序存储器当扩展一片EPROM不能满足要求时,可以采用扩展多片EPROM的方案。这时所有芯片的片选端都必须适当连接,需要使用片内寻址以外的高位地址线,以线选或译码方式提供片选信号。图8-12是采用译码方式扩展4片
32、2764 EPROM的连接图。2764的地址线有13根,低8位地址线连接锁存器的输出端,其余5根地址线接到P2.0P2.4;4片EPROM的数据线都直接与PO口连接;端都与连接。P2口剩下的2根高位地址线P2.6、P2.5(A14、A13)通过74LS139选通4片2764的片选信号,接到各片端。A15(P2.6)未用,可以取高电平也可以取低电平,一般来说我们习惯于把A15这样未用的位取”0”。第38页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展3、扩展多片EPROM程序存储器第39页,共1
33、28页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.18.2.1程序存储器的扩展程序存储器的扩展3、扩展多片EPROM程序存储器第40页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展典型80C51单片机内部有128B的RAM,用于小系统一般能满足要求。如果不够用,可在片外适当扩展数据存储器。其扩展的最大容量是64KB。在单片机应用系统中,如果外部扩展动态数据存储器,还需要有对应的硬件刷新电路。所以,在单片机外部扩展的数据存储器都不采用动态数据存
34、储器,而采用静态数据存储器(SRAM)。第41页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展1、外部数据存储器的扩展方法(1).常用于外部RAM扩展的芯片及引脚静态数据存储器常用的是62系列产品,如:6216(2KB)、6264(8KB)、128(16KB)、62256(32KB)、62512(64KB)。同样型号62后面的数字是该芯片的位存储容量。该数值除以8所得即是该RAM能存放数据的K字节数,因此6264芯片的容量为8KB(B表示字节单位)。典型80C51单片机内部有128B的RA
35、M,用于小系统一般能满足要求。如果不够用,可在片外适当扩展数据存储器。其扩展的最大容量是64KB。在单片机应用系统中,如果外部扩展动态数据存储器,还需要有对应的硬件刷新电路。所以,在单片机外部扩展的数据存储器都不采用动态数据存储器,用静态数据存储器(SRAM)。第42页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展1、外部数据存储器的扩展方法(1).常用于外部RAM扩展的芯片及引脚如图8-13所示,常用62系列静态存储器芯片各引脚功能如下:D7D0:双向三态数据线。与单片机的P0口直接连接
36、。A15A0:地址输入线。芯片容量不同,地址线数量不同。:片选信号输入线。对6264芯片,当26脚(CS)为高电平且为低电平时才选中该片。:读选通信号输入线,低电平有效。:写允许信号输入线,低电平有效。VCC:工作电源+5V。GND:地。第43页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展1、外部数据存储器的扩展方法(1).常用于外部RAM扩展的芯片及引脚第44页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存
37、储器的扩展数据存储器的扩展1、外部数据存储器的扩展方法(2)扩展数据存储器的连接电路数据存储器的扩展方法是:数据存储器的数据线D7D0与单片机P0口的8根线对应连接;单片机PO口通过锁存器的输出端与数据存储器地址线的低8位A7A0连接;数据存储器的高位地址线AX(X=915)A8与单片机的P2口直接连接;片外数据存储器RAM的写允许脚信号与80C51单片机的(P3.6)相连接,单片机可以通过执行MOVX写出指令使得引脚低电平时,此时单片机会将数据从P0口送出;第45页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储
38、器的扩展数据存储器的扩展1、外部数据存储器的扩展方法(2)扩展数据存储器的连接电路与外扩程序存储器是单向总线不同,外扩数据存储器是双向数据总线。单片机内部的数据与外部RAM之间的数据交换均通过该总线完成,即从单片机内部写出的数据从该总线上进入外部RAM,外部RAM的数据也是通过该总线进入单片机内部。P2、P0口形成16位地址,指示出与单片机进行数据交换的外部RAM单元,该地址将出现在MOVX指令中。第46页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展1、外部数据存储器的扩展方法(2)扩展
39、数据存储器的连接电路由于片外数据存储器RAM的读和写由80C51单片机的(P3.7)和(P3.6)信号控制,而片外程序存储器EPROM的输出端允许()由80C51单片机的读选通信号控制。因此即使外部RAM与EPROM的地址空间范围都是相同的,但由于控制信号不同,故不会发生总线冲突。图8-14为6264与单片机的连接图,该存储器的地址范围是见表8-8。表8-8扩展一片6264的地址值第47页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展1、外部数据存储器的扩展方法由表8-8知6264的地范围
40、随A15A14A13的取值而变化,当三者都取000时,其取值范围固定为:0000H1FFFH。图 8-14外部扩展一片 6264与单片机的连接图第48页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展2、操作片外数据存储器所用指令的时序(1).对 外部 RAM的操作指令可以完成80C51系 列单片机与外部 RAM进行数据交换的指令如下:MOVXA,Ri;从 外RAM读输入单片机MOVXRi,A;从单片机写出到外RAMMOVXA,DPTR;从 外RAM读输入单片机MOVXDPTR,A;从单片机
41、写出到外RAM这 4条 指令(实际上为 6条,因为i=0,1)全为寄存器间接寻址操作,且全为累加器A与外部接口打交道。以 上指令集统称为“MOVX”类 指令。前 2条 指令采用R0或R1间址。第49页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展2、操作片外数据存储器所用指令的时序(2).执行与外部数据存储器进行数据交换指令的时序只 有执行MOVX类 指令才能够对 外部数据存储器进行数据交换。当执行这些指令时CPU首先将MOVX指令从内部ROM或外部 R0M中取出。如果MOVX指令存放在内
42、部ROM中,其采用内部总线完成指令操作,与P2、P0、ALE、等 引脚无关。我们这里讨论当MOVX类 指令存放在外部 ROM中时,P2、P0、ALE、的时序关系。第50页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展2、操作片外数据存储器所用指令的时序(2).执行与外部数据存储器进行数据交换指令的时序当 MOVX类 指令存放在外部 ROM中时,第 一个机器周期CPU首先执行将指令从外部 ROM取出的操作,其操作时序与例【例 8-4】基本相同:在读取指令的过程中单片机的ALE、将控制读取过程
43、,其中ALE用于低8位地址锁存控制,且ALE在读取MOVX指令时仍然保持一个机器周期中 有两次高电平有效,为低电平时,MOVX指令对应的机器码从 P0口进入单片机内部。将指令代码取入单片机内部后,CPU将DPTR值的高8位 DPH送到 P2口,将DPTR的低8位 送到单片机的P0口,从 而确定与单片机进行数据交换的外部数据存储器的单元地址,PO口信号被ALE信号的 下降沿锁存。第51页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展2、操作片外数据存储器所用指令的时序(2).执行与外部数据存
44、储器进行数据交换指令的时序如果执行的是读入指令,CPU会使得信号成为低电平,在此期间 外部 RAM单元中的数据被送到 PO口线,单片机将其自动读入到累加器A中。如果执行的是写出指令,则CPU将令信号有效,数据从累加器A输出到P0口从而送入 外部 RAM的 DPTR指出的单元中。第52页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展2、操作片外数据存储器所用指令的时序【8-5】试绘制执行MOVXA,DPTR的 指令时序。设这条指令存放在外部ROM2080H单元,该代码对应的二进制机器码为 E
45、OH,且(DPTR)3658H,(3658H)=28H。解:指令的时序关系如图8-15所示。图 8-15执行读入指令 MOVXA,DPTR的时序第53页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展2、操作片外数据存储器所用指令的时序【例 8-6】试绘制执行MOVX DPTR,A的 指令时序,设这条指令存放在外部 ROM 2066H单元,该 指令对应的机器码为 FOH,累加器A中存放的数值为68H,(DPTR)3022H。图 8-16 执行写出指令 MOVX DPTR,A的时序第54页,共
46、128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展2、操作片外数据存储器所用指令的时序如图8-15和 8-16所示,外部数据存储器的读写操作(执行MOVX指令)包含两个机器周期,第一个机器周期是从外部 程序存储器读取指令操作码,第二个机器周期才是从外部数据存储器读写数据。第 一个机器周期的时序与8.2.1节所述的外部 程序存储器读操作时序相似。但由于从S4状 态起就维持高电平,S6状 态不再能读外ROM指令,而是在S5状 态输出外部数据存储器的地址,利用ALE下降沿锁存。若执行的是“MOVX A,
47、DPTR”或“MOVX DPTR,A”指令,则ALE锁存的P0口地址是DPL,同时在P2口 上出现DPH。若执行的是“MOVX A,Ri”或“MOVX Ri,A”指令,则P0口地址是Ri的内容,而在 P2口 上出现的是单片机P2口 锁存器的内容。第55页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展3、扩展多片SRAM当扩展一片RAM不能满足要求时,可以采用扩展多片RAM的方案。这时所有芯片的片选端都必须适当连接,要用到片内寻址以外的高位地址线,以线选或译码方式提供片选信号。(1).译码法
48、扩展多片RAM。图8-17是采用译码方式扩展4片6264 RAM的连接图。6264的地址线有13根,低8位地址线连接锁存器的输出端,其余5根地址线直接接到P2.0P2.4。4片RAM的数据线直接与单片机的PO口连接;、端分别与单片机的和对应连接。P2口剩下的2根高位地址线P2.6、P2.5(A14、A13)通过74LS139选通4片6264的片选信号,接到各片端。P2.7未用可取0也可取1。第56页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展第57页,共128页,编辑于2022年,星期五
49、8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数据存储器的扩展数据存储器的扩展3、扩展多片SRAM(2).线选法扩展多片RAM图8-18是采用线选方式扩展2片62128RAM的连接图。同样单片机的P0口经锁存器与62128的低8位地址线相连接,其余6根地址线直接接到P2.5P2.0。2片RAM的数据线直接与单片机的PO口连接;、端分别与单片机的和对应连接。P2口剩下的2根高位地址线P2.7、P2.6分别作为两片62128的片选线。第58页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.2 8.2.2 数
50、据存储器的扩展数据存储器的扩展第59页,共128页,编辑于2022年,星期五8.2 8.2 外外部存储器的扩展方法部存储器的扩展方法n8.2.38.2.3数据存储器和程序存储器的统一编址数据存储器和程序存储器的统一编址图8-19是80C51扩展2片27128和2片62128作为外部程序存储器和外部数据存储器的电路图。地址总线与数据总线公用,ROM(27128)用到 ,RAM(62128)用到 ,采用片选方式产生片选信号。一片62128和一片27128共用一个片选信号,其地址是重叠的。图中IC1 27128和IC3 62128的地址均为8000HBFFFH IC2 62128和IC4 62128