单片机并行扩展技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F7FFH
E800H ~ EFFFH D800H ~ DFFFH
线选法优点:连接简单;
缺点:①芯片地址空间不连续; ②存在地址重叠现象。
适用于扩展存储容量较小的场合。
2、译码法
通过译码器将高位地址线转换为片选信号。
表3 译码法三片存储器芯片地址分配表
二进制表示 无关位 A15 芯 片 Ⅰ 芯 片 Ⅱ 芯 片 Ⅲ 1 . 1 1 0 . 0 0 片外地址线 A14 A13 A12 A11 0 . 0 0 0 . 0 0 . 0 1 0 片内地址线 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 0 0 0 0 0 . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 8000H ~ 87FFH 8800H 16进制表示
INC DPTR
DJNZ R2, LOP2 RET
;指向下一数据地址
;判操作完成否?未完循环 ;完成操作,返回。
存储器的扩展(RAM)
②数据存储器 RAM 的扩展:
有时需要扩展外部数据存储器RAM方能工作(如数 据采集系统数据量较大,需要专设 RAM或 Flash RAM)。最常用的 RAM器件是SRAM。
2764
Vcc PGM NC A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
27128
Vcc PGM A13 A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
【例7.1】试将E2PROM中以Addr为首址的32个存储单元改写为内RAM中以30H为首址 的32字节的内容。 解:编程如下:
WROMl:MOV R0, #30H ;置源数据区首址 MOV DPTR, #Addr ;置E2PROM擦写单元首址 LOP1: MOV A, @R0 ;取改写数据 MOVX @DPTR, A ;改写 INC R0 ;修改源数据区地址 INC DPTR ;修改写入单元地址 CJNE R0, #40H, LOP1 ;1~16字节未页写完毕, 继续 DEC DPL ;页写完毕,指向最后一个数据 MOV B, A ;暂存最后一个数据 WALT: CLR A ; MOVC A, @A+DPTR ;读最后一个数据 XRL A,B ;异或核对 JB Acc.7, WAIT ; Acc.7=1, 页存储未完, Ace.7=0,页存储完毕 INC DPL ;恢复指向下一写入单元地址 LOP2: MOV A, @R0 ;取改写数据 MOVX @DPTR,A ;改写 INC R0 ;修改源数据区地址 INC DPTR ;修改写入单元地址 CJNE R0, #50H, LOP2 ;17~32字节未页写完毕,继续 RET
【例7.2】 按图7.10,将2864A中1000H为首地址的16个数据读出取反后写入原存储 单元。
解:编程如下: WROM2:MOV R2, #10H ; 置数据长度 MOV DPTR, #1000H ;置E2PROM数据区首址 LOP2: MOVX A,@DPTR ;读E2PROM数据 CPL A ;取反 MOVX @DPTR, A ;写入E2PROM原存储单元
2、并行扩展容量
可分别扩展64KB ROM(包括片内ROM)和64KB外RAM。
80C51控制总线,有以下几条:
① ALE:输出,用于锁存P0口输出的低8位地址信号, 与地址锁存器门控端G连接。
② PSEN:输出,用于外ROM读选通控制,与外ROM输出 允许端OE连接。
③ EA:输入,用于选择读内/外ROM。EA=1,读内ROM; EA=0,读外ROM。一般情况下,有并且使用内ROM时, EA接Vcc;无内ROM或仅使用外ROM时,EA接地。
存储器的扩展(EPROM)
①程序存储器 EPROM 的扩展: 单片机内部没有ROM,或虽有ROM但容量太小时,必须 扩展外部程序存储器方能工作。最常用的ROM器件是 EPROM。 如: 2716(2K)/2764(8K)/27128(16K) /27256(32K)/27040(512K)……
Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
译码法与线选法比较,硬件电路稍复杂,需 要使用译码器,但可充分利用存储空间,全译 码时还可避免地址重叠现象,局部译码因还有 部分高位地址线未参与译码,因此仍存在地址 重叠现象。 译码法的另一个优点是若译码器输出端留有 剩余端线未用时,便于继续扩展存储器或I/O口 接口电路。 译码法和线选法不仅适用于扩展存储器(包 括外RAM和外ROM),还适用于扩展I/O口(包括各 种外围设备和接口芯片)。
② 片选端:由于只扩展一片EPROM,因此一般不用片选,EPROM片选端CE直接接地。
③ 输出允许:EPROM的输出允许端OE直接与80C51 PSEN相连,80C51的PSEN信号正 好用于控制EPROM OE端。 ④ EA:有并且使用内ROM时,EA接Vcc;无内ROM或仅使用外ROM时,EA接地。
外部扩展的器件可以有ROM、RAM、I/O口和 其他一些功能器件,扩展器件大多是一些常规芯 片,有典型的扩展应用电路,可根据规范化电路 来构成能满足要求的应用系统。
§1 并行扩展概述
一、并行扩展连接方式
1、并行扩展总线组成
⑴ 数据传送:由数据总线DB(D0~D7)完成; D0~D7由P0口提供 ⑵ 单元寻址:由地址总线AB(A0~A15)完成; 低8位地址线A0~A7由P0口提供 高8位地址线A8~A15由P2口提供。 ⑶ 交互握手:由控制总线CB完成。 控制线有PSEN、WR、RD、ALE、EA
如:6116(2K)/6264(8K)/62128(16K)/628128(128K) ……
Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND Vcc WE CE2 A8 A9 A11 OE A10 CE1 D7 D6 D5 D4 D3 Vpp A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND Vcc WE A13 A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
二、扩展E2PROM(2816A,2817A,2864A等)
⑴将E2PROM用作外ROM
① 地址线、数据线仍按80C51一般扩展外ROM的方式 连接。 ② 片选线一般由80C51高位地址线控制,并决定 E2PROM口地址。 ③ 将E2PROM用作外ROM时,80C51 PSEN与E2PROM OE 端相连。由80C51的PSEN控制E2PROM的读出(输出允 许OE)。 ④ 将E2PROM当作外RAM时,因需要对E2PROM进行在线 擦写,因此80C51的WR与E2PROM WE端相连,此时应 使用MOVX指令,且应注意E2PROM的地址范围与外 RAM不能重复重迭,否则出错。
A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 GND
6116
Vcc A8 A9 WE OE A10 CE D7 D6 D5 D4 D3
6264
62128
§1-1 并行扩展外RAM
1、80C51扩展外RAM时典型连接电路
⑴ 地址线、数据线仍按80C51一般扩展ROM时方 式连接,高位地址线视RAM芯片容量,6116需3 根,6264需5根。 ⑵ 片选线一般由80C51高位地址线控制,并决定 RAM的口地址。 6264有2个片选端只须用其一个,一般用CE1, CE2直接接Vcc。 按图12,6116的地址范围是7800H~7FFFH; 按图13,6264的地址范围是6000H~7FFFH(无 关位为1)。 ⑶ 读写控制线由80C51的RD、WR分别与RAM芯片 的OE、WE相接。
单片机并行扩展技术
内容
并行扩展总线组成(地址、数据、控制总线) 并行扩展寻址方式(线选法、译码法) 并行扩展EPROM 并行扩展E2PROM 并行扩展RAM 用74系列芯片并行扩展I/O口 扩展总线驱动能力
80C51系列单片机有很强的外部扩展能力。外 部扩展可分为并行扩展和串行扩展两大形式。 早期的单片机应用系统以采用并行扩展为多, 近期的单片机应用系统以采用串行扩展为多。
⑵ 将E2PROM同时用作外ROM和外RAM E2PROM用作外ROM时, 执行MOVC指令,读选通由PSEN控制; E2PROM用作外RAM时, 执行MOVX指令,读选通由RD控制。 读E2PROM时, 速度与EPROM相当,完全能满足CPU要求。 写E2PROM时, 速度很慢,因此,不能将E2PROM当作一般 RAM使用。每写入一个(页)字节,要延时 10mS以上,使用时应予以注意。
27256
Vcc A14 A13 A8 A9 A11 OE A10 CE D7 D6 D5 D4 D3
§2 并行扩展外ROM 一、扩展EPROM
⑴ 地址线
① 低8位地址:由80C51 P0.0~P0.7与74373 DO~D7端连接,ALE有效时74373锁存该 低8位地址,并从Q0~Q7输出,与EPROM芯片低8位地址AO~A7相接。
片外地址线
A13 A12 A11 1 . 1 . 0 .
片内地址线
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 0 0 0 0 0 . . . . . . . . . . .
16进制表示
F000H ~
1
1 . 1 1 . 1
1
1 . 1 1 . 1
1
1 . 1 0 . 0
② 高位地址:视EPROM芯片容量大小。2764需5位,P2.0~ P2.4与2764 A8~A12相连;27128需6位,P2.0~P2.5与27128 A8~A13相连。
⑶ 控制线 ① ALE:80C51 ALE端与74373门控端G相连,专用于锁存低8位地址。
⑵ 数据线:由80C51地址/数据复用总线P0.0~P0.7直接与EPROM数据线DO~D7相连。
.
1 1 . 1
.
0 0 . 0
.
0 0 . 0
.
0 1 . 1
.
1 0 . 0
.
. .
.
.
.
来自百度文库
.
. .
.
.
~
8FFFH 9000H ~ 97FFH
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1
④ RD:输出,用于读外RAM选通,执行MOVX读指令时, RD会自动有效,与外RAM读允许端OE连接。
⑤ WR:输出,用于写外RAM选通,执行MOVX写指令时, WR会自动有效,与外RAM写允许端WE连接。 ⑥ P2.X:并行扩展外RAM和I/O时,通常需要片选控制, 一般由P2口高位地址线担任。
1
0 . 0 1 . 1
0
1 . 1 1 . 1
1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1
二、并行扩展寻址方式
存储器片内存储单元子地址: 由与存储器地址线直接连接的地址线确定; 存储器芯片地址: 由高位地址线产生的片选信号确定。 当存储器芯片多于一片时,为了避免误操作,必 须利用片选信号来分别确定各芯片的地址分配。 产生片选信号的方法有线选法和译码法两种。
1、线选法
高位地址线直接连到存储器芯片的片选端。图中芯片是2K* 8位
低位地址线A0~A10实现片内寻址。 高位地址线A11~A13实现片选(A11~A13中只允许有一根为低电平,另二根必 须为高电平,否则出错)。 无关位A14、A15可任取,一般取“1”。
表1 线选法三片存储器芯片地址分配表 二进制表示
无关位
A15 A14 芯 片 Ⅰ 芯 片 Ⅱ 芯 片 Ⅲ 1 . 1 .