80C51并行扩展技术课件_第1页
80C51并行扩展技术课件_第2页
80C51并行扩展技术课件_第3页
80C51并行扩展技术课件_第4页
80C51并行扩展技术课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

80C51并行扩展技术

80C51系列单片机有很强的外部扩展能力。外部扩展可分为并行扩展和串行扩展两大形式。早期的单片机应用系统以采用并行扩展为多,近期的单片机应用系统以采用串行扩展为多。

外部扩展的器件可以有ROM、RAM、I/O口和其他一些功能器件,扩展器件大多是一些常规芯片,有典型的扩展应用电路,可根据规范化电路来构成能满足要求的应用系统。§7-1

并行扩展概述一、并行扩展连接方式

1、并行扩展总线组成

⑴数据传送:由数据总线DB(D0~D7)完成;

D0~D7由P0口提供

⑵单元寻址:由地址总线AB(A0~A15)完成;低8位地址线A0~A7由P0口提供高8位地址线A8~A15由P2口提供。

⑶交互握手:由控制总线CB完成。控制线有PSEN、WR、RD、ALE、EA2、并行扩展容量

可分别扩展64KBROM(包括片内ROM)和64KB外RAM。⑤

WR:输出,用于写外RAM选通,执行MOVX写指令时,

WR会自动有效,与外RAM写允许端WE连接。

80C51控制总线,有以下几条:①ALE:输出,用于锁存P0口输出的低8位地址信号,与地址锁存器门控端G连接。②PSEN:输出,用于外ROM读选通控制,与外ROM输出允许端OE连接。③EA:输入,用于选择读内/外ROM。EA=1,读内ROM;

EA=0,读外ROM。一般情况下,有并且使用内ROM时,

EA接Vcc;无内ROM或仅使用外ROM时,EA接地。④RD:输出,用于读外RAM选通,执行MOVX读指令时,

RD会自动有效,与外RAM读允许端OE连接。⑥

P2.X:并行扩展外RAM和I/O时,通常需要片选控制,一般由P2口高位地址线担任。二、并行扩展寻址方式

存储器片内存储单元子地址:

由与存储器地址线直接连接的地址线确定;

存储器芯片地址:

由高位地址线产生的片选信号确定。当存储器芯片多于一片时,为了避免误操作,必须利用片选信号来分别确定各芯片的地址分配。产生片选信号的方法有线选法和译码法两种。

低位地址线A0~A10实现片内寻址。高位地址线A11~A13实现片选(A11~A13中只允许有一根为低电平,另二根必须为高电平,否则出错)。无关位A14、A15可任取,一般取“1”。高位地址线直接连到存储器芯片的片选端。图中芯片是2K*8位

1、线选法二进制表示

16进制表示

无关位片外地址线片内地址线A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0芯片Ⅰ1111000000000000F000H................~1111011111111111F7FFH芯片Ⅱ111

0100000000000E800H................~1110111111111111EFFFH

芯片Ⅲ1101100000000000D800H................~1101111111111111DFFFH表7-1

线选法三片存储器芯片地址分配表缺点:①芯片地址空间不连续;

②存在地址重叠现象。线选法优点:连接简单;适用于扩展存储容量较小的场合。通过译码器将高位地址线转换为片选信号。2、译码法二进制表示

16进制表示

无关位片外地址线片内地址线A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0芯片Ⅰ10000000000000008000H................~100001111111111187FFH芯片Ⅱ10001000000000008800H................~10001111111111118FFFH芯片Ⅲ10010000000000009000H................~100101111111111197FFH表7-3译码法三片存储器芯片地址分配表

译码法的另一个优点是若译码器输出端留有剩余端线未用时,便于继续扩展存储器或I/O口接口电路。

译码法与线选法比较,硬件电路稍复杂,需要使用译码器,但可充分利用存储空间,全译码时还可避免地址重叠现象,局部译码因还有部分高位地址线未参与译码,因此仍存在地址重叠现象。

译码法和线选法不仅适用于扩展存储器(包括外RAM和外ROM),还适用于扩展I/O口(包括各种外围设备和接口芯片)。①程序存储器

EPROM的扩展:单片机内部没有ROM,或虽有ROM但容量太小时,必须扩展外部程序存储器方能工作。最常用的ROM器件是EPROM。

如:2716(2K)/2764(8K)/27128(16K)/27256(32K)/27040(512K)……存储器的扩展(EPROM)VppVccA12

PGMA7

NCA6

A8A5A9A4

A11A3OEA2

A10A1

CEA0

D7D0

D6D1

D5D2D4GND

D32764VppVccA12

PGMA7

A13A6

A8A5A9A4

A11A3OEA2

A10A1

CEA0

D7D0

D6D1

D5D2D4GND

D327128VppVccA12

A14A7

A13A6

A8A5A9A4

A11A3OEA2

A10A1

CEA0

D7D0

D6D1

D5D2D4GND

D327256§7-2并行扩展外ROM一、扩展EPROM②高位地址:视EPROM芯片容量大小。2764需5位,P2.0~P2.4与2764A8~A12相连;27128需6位,P2.0~P2.5与27128A8~A13相连。⑴地址线①低8位地址:由80C51P0.0~P0.7与74373DO~D7端连接,ALE有效时74373锁存该低8位地址,并从Q0~Q7输出,与EPROM芯片低8位地址AO~A7相接。⑵

数据线:由80C51地址/数据复用总线P0.0~P0.7直接与EPROM数据线DO~D7相连。⑶

控制线①ALE:80C51ALE端与74373门控端G相连,专用于锁存低8位地址。②片选端:由于只扩展一片EPROM,因此一般不用片选,EPROM片选端CE直接接地。

③输出允许:EPROM的输出允许端OE直接与80C51PSEN相连,80C51的PSEN信号正好用于控制EPROM

OE端。④

EA:有并且使用内ROM时,EA接Vcc;无内ROM或仅使用外ROM时,EA接地。二、扩展E2PROM(2816A,2817A,2864A等)①地址线、数据线仍按80C51一般扩展外ROM的方式连接。②片选线一般由80C51高位地址线控制,并决定E2PROM口地址。③将E2PROM用作外ROM时,80C51PSEN与E2PROMOE端相连。由80C51的PSEN控制E2PROM的读出(输出允许OE)。④将E2PROM当作外RAM时,因需要对E2PROM进行在线擦写,因此80C51的WR与E2PROMWE端相连,此时应使用MOVX指令,且应注意E2PROM的地址范围与外RAM不能重复重迭,否则出错。⑴将E2PROM用作外ROM

E2PROM用作外ROM时,执行MOVC指令,读选通由PSEN控制;E2PROM用作外RAM时,执行MOVX指令,读选通由RD控制。读E2PROM时,速度与EPROM相当,完全能满足CPU要求。写E2PROM时,速度很慢,因此,不能将E2PROM当作一般RAM使用。每写入一个(页)字节,要延时10mS以上,使用时应予以注意。⑵将E2PROM同时用作外ROM和外RAM【例7.1】试将E2PROM中以Addr为首址的32个存储单元改写为内RAM中以30H为首址的32字节的内容。解:编程如下:

WROMl:MOVR0,#30H

;置源数据区首址

MOVDPTR,#Addr;置E2PROM擦写单元首址

LOP1:MOVA,@R0

;取改写数据

MOVX@DPTR,A

;改写

INCR0

;修改源数据区地址

INCDPTR

;修改写入单元地址

CJNER0,#40H,LOP1;1~16字节未页写完毕,继续

DECDPL

;页写完毕,指向最后一个数据

MOVB,A

;暂存最后一个数据

WALT:CLRA

;MOVCA,@A+DPTR

;读最后一个数据

XRLA,B

;异或核对

JBAcc.7,WAIT

;Acc.7=1,页存储未完,Ace.7=0,页存储完毕

INCDPL

;恢复指向下一写入单元地址

LOP2:MOVA,@R0;取改写数据

MOVX@DPTR,A;改写

INCR0;修改源数据区地址

INCDPTR;修改写入单元地址

CJNER0,#50H,LOP2;17~32字节未页写完毕,继续

RET【例7.2】按图7.10,将2864A中1000H为首地址的16个数据读出取反后写入原存储单元。

解:编程如下:

WROM2:MOVR2,#10H

;置数据长度

MOVDPTR,#1000H;置E2PROM数据区首址

LOP2:MOVXA,@DPTR;读E2PROM数据

CPLA;取反

MOVX@DPTR,A;写入E2PROM原存储单元

INCDPTR;指向下一数据地址

DJNZR2,LOP2

;判操作完成否?未完循环

RET;完成操作,返回。②数据存储器

RAM的扩展:有时需要扩展外部数据存储器RAM方能工作(如数据采集系统数据量较大,需要专设RAM或FlashRAM)。最常用的RAM器件是SRAM。如:6116(2K)/6264(8K)/62128(16K)/628128(128K)……存储器的扩展(RAM)

A7

VccA6

A8A5A9A4

WEA3OEA2

A10A1

CEA0

D7D0

D6D1

D5D2D4GND

D36116VppVccA12

WEA7

CE2A6

A8A5A9A4

A11A3OEA2

A10A1

CE1A0

D7D0

D6D1

D5D2D4GND

D36264VppVccA12

WEA7

A13A6

A8A5A9A4

A11A3OEA2

A10A1

CEA0

D7D0

D6D1

D5D2D4GND

D362128§1-1并行扩展外RAM1、80C51扩展外RAM时典型连接电路⑴

地址线、数据线仍按80C51一般扩展ROM时方式连接,高位地址线视RAM芯片容量,6116需3根,6264需5根。⑵

片选线一般由80C51高位地址线控制,并决定RAM的口地址。

6264有2个片选端只须用其一个,一般用CE1,CE2直接接Vcc。

按图7-12,6116的地址范围是7800H~7FFFH;

按图7-13,6264的地址范围是6000H~7FFFH(无关位为1)。⑶

读写控制线由80C51的RD、WR分别与RAM芯片的OE、WE相接。【例7-3】按图7.13,试编制程序,将外IRAM7020H为首址的16个数据读出并写入外RAM7040H为首址的存储单元。

解:编程如下:

RWRAM:MOVR2,#10H;置读写数据长度

MOVR3,#20H;置读出数据区低8位首址

MOVR4,#40H;置写入数女匠辱低8位首址

MOVDPTR,#7020H;置读出数据区首址

LOP3: MOVXA,@DPTR;读数据

MOVDPL,R4;置写入数据区低8位地址

MOVX@DPTR,A;写数据

INCR3;修改读数据区地址

INCR4;修改写数据区地址

MOVDPL,R3;置读出数据区低8位地址

DJNZR2,LOP3;判读写结束否?未结束继续循环

RET;2、80C51同时扩展外ROM和外RAM时典型连接电路⑴地址线、数据线仍按80C51一般扩展外ROM时方式连接。⑵片选线,因外ROM只有一片,无需片选。2764CE直接接地,始终有效。外RAM虽然也只有一片,但系统可能还要扩展I/O口,而I/O口与外RAM是统一编址的,因此一般需要片选,6264CE1接P2.5,CE2直接接Vcc,这样6264的地址范围为C000H~DFFFH,P2.6、P2.7可留给扩展I/O口片选用。⑶读写控制线,读外ROM执行MOVC指令,由PSEN控制2764OE,读写外RAM执行MOVX指令,由RD控制6264OE,WR控制6264WE。§7-4

用74系列芯片并行扩展I/O口扩展I/O口分类:并行扩展和串行扩展;可编程和不可编程。80C51并行扩展I/O口是将I/O口看作外RAM的一个存储单元,与外RAM统一编址,操作时执行MOVX指令和使用RD﹑WR控制信号。从理论上讲,扩展I/O口最多可扩展64000个I/O口。构成输出口时,接口芯片应具有锁存功能;构成输入口时,接口芯片应具有三态缓冲和锁存功能。7.4.2、74373扩展输入口

(是8D三态同相锁存器)74373是8D三态同相锁存器,内部有8个相同的D触发器,D0~D7为其D输人端;Q0~Q7为其Q输出端;G为门控端;OE为输出允许端;加上电源端Vcc和接地端GND,共20个引脚。

输入输出OE

G

D

Q

L

H

H

H

L

H

L

L

L

不变

H××

高阻DIP封装引脚图和功能表

一、典型应用电路

G接高电平,门控始终有效;从D0~D7输入的信号能直达Q0~Q7输出缓冲器待命;由80C51的RD和P2.7(一般用P2.0~P2.7为宜)经过或门与74373OE端相连。用74373扩展80C51输入口的优点:

线路简单、价格低廉、编程方便。IND:MOVDPTR,#7FFFH;置373口地址

MOVR0,#30H;置内RAM数据存储区首址IND0:MOVXA,@DPTR;输入数据

MOV@R0,A;存数据

INCR0;指向下一存储单元

LCALLDLY1s;调用1s延时子程序

CJNER0,#40H,IND0;判16个数据读完否?未完继续

RET;【例7-4】按图7-16,试编制程序,从373外部每隔1秒读入一个数据,共16个数据,存入以30H为首址的内RAM。解:编程如下:7.4.2、74377扩展输出口

74377为带有输出允许控制的8D触发器。D0~D7为8个D触发器的D输人端;Q0~Q7是8个D触发器的Q输出端;时钟脉冲输入端CLK,上升沿触发,8D共用;OE为输出允许端,低电平有效。当74377OE端为低电平,且CLK端有正脉冲时,在正脉冲的上升沿,D端信号被锁存,从相应的Q端输出。

输入输出OECLK

D

Q

L××不变

L

1

l

L

00×0×不变二、典型应用电路

80C51单片机的WR和P2.5分别与74377CLK端和输出允许端OE相接。P2.5决定74377地址为DFFFH。解:编程如下:OUTD:MOVDPTR,#0DFFFH;置377口地址

MOVR0,#30H;置内RAM数据存储区首址

MOVR2,#10H;置数据长度OUT1:MOVA,@R0;读数据

MOVX@DPTR,A;输出数据

INCR0;指向下一存储单元

DJNZR2,OUT1;判16个数据输出完否?未完继续

RET;【例7-5】按图7-18,试编制程序,从74377连续输出16个数据,输出数据区首址30H。7.4.3扩展总线驱动能力

当P0口总线负载达到或超出P0口最大负载能力8个TTL门时,必须接入总线驱动器。因P0口传送数据是双向的,因此要扩展的数据总线驱动器也必须具有双向三态功能。除双向数据总线外,80C51有可能扩展的还有控制总线中的WR、RD、PSEN、ALE和P2口高8位地址总线,属单向总线。

1.双向总线扩展

(1)74245芯片介绍图7-19为74245DIP封装引脚图、逻辑图和功能表。

74245是8同相三态双向总线收发器,可

温馨提示

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

评论

0/150

提交评论