第七章MCS单片机的系统扩展存储器扩展_第1页
第七章MCS单片机的系统扩展存储器扩展_第2页
第七章MCS单片机的系统扩展存储器扩展_第3页
第七章MCS单片机的系统扩展存储器扩展_第4页
第七章MCS单片机的系统扩展存储器扩展_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、第7章 MCS-51单片机的系统扩展程序存储器的扩展 外部数据存储器的扩展 外部I/O口的扩展 系统扩展三总线的形成系统扩展三总线的形成 3. 对对I/O接口的读写操作如同外部接口的读写操作如同外部RAM的读写的读写操作操作 用用MOVX指令实现指令实现1. 外部程序存储器读操作外部程序存储器读操作P0口的分时输出地址信息和输入指令信息控制由口的分时输出地址信息和输入指令信息控制由ALE和和PSEN实现。实现。 为了将为了将P0口的地址和数据分离,口的地址和数据分离, 用用ALE的下跳沿将的下跳沿将P0口输出的地址口输出的地址信号低信号低8位锁存在地址锁存器中,地址锁存器一般选用位锁存在地址锁

2、存器中,地址锁存器一般选用74LS373、74LS573、8282等芯片。等芯片。2. 外部数据存储器读外部数据存储器读/写操作写操作对外部数据存储器的读操作控制由对外部数据存储器的读操作控制由ALE和和RD实现。实现。 执行指令:执行指令:MOVX A,DPTR对外部数据存储器的写操作控制由对外部数据存储器的写操作控制由ALE和和WR实现。实现。 执行指令:执行指令:MOVX DPTR, A7.1程序存储器的扩展1.外部程序存储器的扩展原理及时序 图5-1 MCS-51单片机程序存储器的扩展:外部程序存储器“读取”控制。PSEN访问外部程序存储器的时序如图5-2所示。图5-2 从外部程序存储

3、器取指令时序2.地址锁存器 由于MCS-51单片机的P0口是分时复用的地址/数据总线,因此在进行程序存储器扩展时,必须利用地址锁存器将地址信号从地址/数据总线中分离开来。 图5-3为几种地址锁存储器的管脚配置图。图5-3 地址锁存器74LS373和8282都是透明的带有三态门的八D锁存器,可简化成图5-4所示的结构。图5-4 74LS373和8282结构图3.EPROM扩展电路 紫外线擦除电可编程只读存储器EPROM可作为MCS-51单片机的外部程序存储器,其典型产品是Intel公司的芯片2716(2K8)、2732A(4K8)、2764A(8K8)、27128A(16K8)、27256(32

4、K8)和27512(64K8)等。这些芯片上均有一个玻璃窗口,在紫外线下照射20分钟左右,存储器中的各位信息均变为1,此时,可以通过编程器将工作程序固化到这些芯片中。2732A EPROM 2732A是4K8位紫外线擦除电可编程只读存储器,单5V供电,最大静态工作电流为100mA,维持电流为35mA,读出时间最大为250ns。2732A EPROM扩展电路 图5-7 2732A EPROM扩展电路4.EEPROM扩展电路 EEPROM是电可擦除的可编程只读存储器,它既有EPROM编程后长期保存信息的特点,又可像静态RAM那样随机读写。由于这一特点,它在单片机系统中广泛地用作程序存储器和数据存储

5、器。 Intel 2864A是8K8位电擦除可编程只读存储器,单5V供电,最大工作电流160mA,最大维持电流60mA,典型读出时间250ns。2864A管脚配置如图5-8所示。图5-8 2864A 管脚配置图5-9 2864A EEPROM扩展电路7.2外部数据存储器的扩展1.外部数据存储器的扩展方法及时序 图5-10 扩展外部RAM电路原理图图5-11 读外部数据RAM时序图5-12 写外部数据RAM时序2 .静态RAM 6264扩展 6264是8K8位的静态随机存储器芯片,它采用CMOS工艺制造,单一+5V供电,额定功耗200mW,典型存取时间200ns。 图5-14 扩展6264静态R

6、AM单片机在访问6264时,可以采用以下指令: MOVX DPTR,A A中内容传至外部RAM或 MOVX A,DPTR 外部RAM内容读至A中地址译码技术地址译码技术 线选法线选法 线选法所谓线选法即是把单独的地址线(通常是线选法所谓线选法即是把单独的地址线(通常是P2口的某一根线)接到外口的某一根线)接到外围芯片的围芯片的片选端片选端上,只要该地址线有效(通常为低电平),就选中该芯片。上,只要该地址线有效(通常为低电平),就选中该芯片。 线选法的特点是连接简单,不必专门设计逻辑电路,但是各个扩展芯片占有线选法的特点是连接简单,不必专门设计逻辑电路,但是各个扩展芯片占有的空间地址不连续,因而

7、地址空间利用率低。适用于扩展地址空间容量不太的空间地址不连续,因而地址空间利用率低。适用于扩展地址空间容量不太大的场合。大的场合。 6264的地址范围:的地址范围: C000HDFFFH。P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 0 8255的地址范围:的地址范围: BFFCHBFFFHP2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 0 1 1 1 1 1

8、 1 1 1 1 1 1 1 0832的地址:的地址: 7FFFH P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 图5-15 线选法地址译码外围器件地址选择线(A15A0)片内地址单元数地址编码61161111 0 2KF000HF7FFH82551110 1111 1111 114EFFCHEFFFH8155RAM1101 1110 256DE00HDEFFHI/O1101 1111 1111 16DFF8HDFFD

9、H08321011 1111 1111 11111BFFFH82530111 1111 1111 1147FFCH7FFFH译码法 对于RAM或I/O容量较大的应用系统,当芯片所需的片选信号多于可利用的高位地址线时,常采取译码法译码法,分为全译码和部分译码。一般采用74LS138作地址译码器。器件地址选择线(A15A0)片内地址单元数地址编码62640008K0000H1FFFH82550011111111111143FFCH3FFFH8155RAM010111102565E00H5EFFHIO010111111111165FF8H5FFDH0832011111111111111117FFFH

10、82531001111111111149FFCH9FFFH 例例 如图为采用如图为采用74LS139译码扩展两片译码扩展两片2764(8K)EPROM和两和两片片6264(8K)RAM芯片的电路,分析它们的地址范围。芯片的电路,分析它们的地址范围。 G Y3 B Y2 A Y1 Y0 A0 A7 A8 A12 CE 2764(1) D0D7 OE DO Q0 D7 Q7 G A0 A7 A8 A12 CE 2764(2) D0D7 OE A0 A7 A8 A12 CE 6264(1) D0D7 WE OE A0 A7 A8 A12 CE 6264(2) D0D7 WE OE G Y3 B Y2

11、 A Y1 Y0 G Y3 B Y2 A Y1 Y0 P2.7 P2.6 P2.5 P2.0 P2.4 P0.0 P0.7 ALE 8031 PSEN WR EA RD2764(1) : 0000H1FFFH 2764(2) : 2000H3FFFH6264(1) : 4000H5FFFH 6264(2) : 6000H7FFFH7.3 外部I/O口的扩展 MCS-51单片机有4个8位并行I/O端口:P0,P1,P2和P3。由于P0是地址/数据总线口,P2是输出高8位地址的动态端口,P3是双功能多用端口,因此在构成单片机系统后,通常只有P1静态口空出并具有通用功能。这对于复杂的单片机应用系统来

12、说,往往不能满足应用上的要求,为此,常需要在单片机外部扩展输入/输出端口。1.用缓冲器和锁存器扩展I/O端口 当单片机需要扩展的端口数量不多时,可利用缓冲器和锁存器直接在总线上扩展I/O端口。通常这种I/O口都是通过P0口扩展的,由于P0口只能分时使用,故构成输出口时,接口芯片应具有锁存功能;构成输入口时,根据输入数据是常态还是暂态,要求接口芯片应能三态缓冲或锁存选通。数据的输入、输出由单片机的读/写信号控制。一种常见的电路如图5-17所示。图5-17 用缓冲器和锁存器扩展I/O端口 例如,若把数据50H由74LS273输出,把74LS244上的信息输入到A中,按照图5-17的电路,程序如下:

13、 MOV R0,#0BFH ;选中74LS273地址 MOV A,#50H MOVX R0,A MOV R0,#7FH ;选中74LS244地址 MOVX A,R01 1TTLTTL并行输入、输出接口并行输入、输出接口 根据根据“输入三态,输出锁存输入三态,输出锁存”与总线相连的原则,可采用与总线相连的原则,可采用TTLTTL电路或电路或CMOS电路的锁存器、三态缓冲器扩展简单的电路的锁存器、三态缓冲器扩展简单的I/O接口。接口。 如采用如采用8位三态缓冲器位三态缓冲器74LS244组成输入口,采用组成输入口,采用8D锁存器锁存器74LS273,74LS373等组成输出口。等组成输出口。CLR

14、 Q0 D0 D1 Q1 Q2 D2 D3 Q3GNDVCCQ7D7D6Q6Q5D5D4Q4CLK74LS27374LS2441EN 1A1 2Y4 1A2 2Y3 1A3 2Y2 1A4 2Y1GNDVCC2EN 1Y1 2A4 1Y2 2A31Y3 2A21Y4 2A1当当CLR为为高电平,高电平,CLK的上的上升沿使升沿使D锁存。锁存。当当EN为低为低电平,电平,A信号传送信号传送到到Y;EN为高电平,为高电平,Y为高阻为高阻态。态。简单简单I/0I/0扩展举例:扩展举例:2.用串行口扩展用串行口扩展I/O接口接口串口的方式方式0用于用于I/O扩展扩展。方式0为同步移位寄存器同步移位寄存

15、器工作方式,波特率为fosc/12。数据由数据由RXD端(端(P3.0)输入)输入,同步移位时钟由TXD端(端(P3.1)输出。图5-18 利用74LS164扩展并行输出口当串口工作在方式0的发送,串行数据由串行数据由P3.0(RXD)送出,移位时钟由)送出,移位时钟由P3.1(TXD)送出)送出。注意,由于74LS164无并行输出控制端无并行输出控制端,在串行输入中,其输出端输出端的状态会不断变化的状态会不断变化,故某些场合,在74LS164输出端应加接输出三态门控制,以便保证串行输入结束后再输出数据。 下面是将下面是将RAM缓冲区缓冲区30H33H的内容经串行口由的内容经串行口由74LS164并行输出的子程序:并行输出的子程序:START: MOV R7,04H ;设置要发送的字节个数;设置要发送的字节个数 MOV R0,30H ;设置地址指针;设置地址指针 MOV SCON,00H ;设置串行口方式;设置串行口方式0SEND: MOV A,R0 MOV SBUF,A ;启动串行口发送数据;启动串行口发送数据WAIT: JNB TI,WAIT ;一帧数据未发送完,循环等待;一帧数据未发送完,循环等待 CLR TI INC R0 ;取下一个数;取下一个数 DJNZ R7,SEND RET习题解答1.容量为4K8b的存储器各有多少条数据线和地址线?答案: 8

温馨提示

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

最新文档

评论

0/150

提交评论