IO接口的扩展方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编程设定为输入或输出, PC7-PC4作为输入/输出操作的选通信 号和应答信号。B组包括B口和PC3-PC0, 这时C口作为 8255A和 外设或CPU之间传送某些状态信息及中断请求信号。
方式 2: 双向传送方式。 只有A口有方式 2, 此时, A口为8位双向传送数据口, C
口的高5位PC7-PC3用来作为指定A口输入/输出的控制联络线。
高4位 A口
1 :输 入
0 :输 出 1 :输 入
1 *:模 式2 1 :方 式 标 志
0 10 PC2 0 11 PC3 1 00 PC4
1 01 PC5
0 :位 操 作
(
a) 0
0 :模
式0
方 式 选 择 0 1:模 式1
1 *:模 式2
1 10 (b )P C6 1 11 PC7
思考:如何把这两个0控:位 操制作 字写入8255A?
+ 5V
P 0.2 P 0.3 P 0.4
P 0.5 P 0.6
D2 D3 D4 D5 D6
74 L S273
Q2 LED2
Q3 LED3 Q4 LED4 Q5 LED5 Q6 LED6
LED7
P 0.7
D7
Q7
CP
CLR
8 03 1
WR P 2.0 RD
≥1
≥1
Q0
D0
Q1
D1
S0 S1
74 L S244
具有3个8位并行I/O口, 称为PA口、
PB口和PC口。通过控制字设定可以
选择三种工作方式:
① 基本输入/输出;
E
② 选通输入/输出;
③ PA口为双向总线。
8255的三个端口具体工作在什 么方式下,是通过CPU对控制口的 写入控制字来决定的。
一、8255A的内部结构和引脚
A组 控制
数据
总线
D7~ D0
序时,要用到接口电路中的各个端口。因此要知道它们的设置和编 址情况。
四、MCS-51单片机扩展并行I/O口的注意事项
① 访问扩展I/O口的方法与访问数据存储器完全相同,使用相 同的指令,所有扩展的I/O口与片外数据存储器统一编址。
②利用串行口扩展法扩展的外部并行I/O口不占用外部RAM地 址空间。
接口与端口的概念
接口:特指计算机与外设之间在数据传送方面的联系。 其功能主要是通过电路实现的。因此称之为接口电路。
端口:一个接口电路中可能包括有多个寄存器 例如:保存数据的数据口 保存状态的状态口 保存命令的命令口
因此一个接口电路就对应着多个端口地址。 注意: 端口是供用户使用的,用户在编写有关数据输入/输出程
74LS373
D7
D6
D5
程序如下:
D4 D3
MOV DPTR, #7FFFH
D2
MOV A, 60H
D1
MOVX @DPTR, A
D0
输出设备
例3:用74LS374扩展并行输出口 74LS374是具有三态输出的8D边沿触发器,与单片机接口
电路如下图所示,74LS374的地址为7FFFH。
程序如下: MOV DPTR, #7FFFH MOV A, 60H MOVX @DPTR, A
ORG 1000H DSP8255: MOV DPTR, #7FFFH ; 数据指针指向8255A控制口
MOV A, #82H MOVX @DPTR, A ; 工作方式字送8255A控制口
MOV A, #0FH
MOVX @DPTR, A ; C口置位/复位字送8255A控制口
MOV DPTR, #7FFDH
⑴ 独立编址方式 优点是I/O地址空间和存储器地址空间相互独立,但需要专门
设置一套I/O指令和控制信号,从而增加了系统的开销。 (2) 统一编址方式 统一编址就是把系统中的I/O和存储器统一进行编址。在这种
编址方式中,把接口中的寄存器(端口)与存储器中的存储单元 同等对待。为此也把这种编址称之为存储器映像编址。
0 :输 出 1 :输 入
方 式 0:模 式0 选 择 1:模 式1
A组
C口 高4位
0 :输 出 1 :输 入
A 口 0 :输 出 1 :输 入
0 0:模 式0 方 式 选 择 0 1:模 式1
1 *:模 式2
1 :方 式 标 志
(a )
MOV DPTR,#7F03H
D7 × × × D3 D2 D1 D0
1 :方 式 标 志
8255A如何区分这两个控制字?
(a )
(b )
例: 设8255控制字寄存器的地址为7F03H,试编程使A口为方 式0输出,B口为方式0输入,PC4~PC7为输出,PC0~PC3为 输入。
D7 D6 D5 D4 D3 D2 D1 D0
B组
C口 低4位
0 :输 出 1 :输 入
B口
③利用并行总线扩展的方法扩展外部并行I/O口时,必须注意 P0, P2, P3口的负载问题,若负载能力不够,必须进行总线驱动 能力扩展。
④扩展外部并行I/O口对外设的硬件具有依赖性(驱动功率、 电平匹配、干扰抑制、隔离等)。
9.2 普通并行I/O口扩展
普通并行I/O口在扩展时,它们的选通端或时钟信号端要 与地址线和控制线的逻辑组合输出端相连。 一、扩展并行输出口 例1:用锁存器74LS377扩展并行输出口
; 数据指针指向8255A 的B口
MOVX A, @DPTR
选择
1:模 式1 A口
0 :输 出
1 :输 入
0 :复 位 1 :置 位
位选 择
0 00 PC0 0 01 PC1
0 10 PC2 0 11 PC3 1 00 PC4 1 01 PC5
A组
0 0:模 式0
C 口 0 :输 出 方 式 选 择 0 1:模 式1
0 00 PC0 0 01 PC1
1 10 PC6 1 11 PC7
MOV A,#83H
0 :复 位 1 :置 位
MOVX @DPTR, A 位选 择 0 00 PC0 0 01 PC1 0 10 PC2 0 11 PC3 1 00 PC4 1 01 PC5 1 10 PC6 1 11 PC7
0 :位 操 作
(b )
例:设8255控制字寄存器地址为7F03H,将PC1置1,PC3清0。
缓冲
RD
WR A0 A1 RESET
读 /写
B组
控制
控制
逻辑
CS
A组 端口A
(8 )
A组 端口C 上 半 部 (4 )
B组 端口C 下 半 部 (4 )
B组 端口B
(8 )
I/O PA 7 ~ PA 0
Vcc GND
RESET
I/O PC7~ PC4
I/O PC3~ PC0
CS RD WR
A0 A1
8个开关,现须将开关闭合的状态输入到片内60H单元保存,将70H单元的内 容送状态指示灯显示,并置位PC7引脚,编写相应程序。
解:根据题意,设置8255A的A口方式0输出,B口方式0输入,C口高四位输
出 , 则 8255A 的 方 式 字 为 82H ( 10000010B ) , C 口 置 位 / 复 位 字 为 0FH (00001111B),8255A的方式字及置位/复位控制字地址为7FFFH。初始化 过程及输入/输出的程序如下:
二、扩展并行输入口 用单向总线缓冲器74LS244扩展并行输入口 ,硬件电
路如下图所示。74LS244的地址为7FFFH。
程序如下: MOV DPTR, #7FFFH MOVX A, @DPTR MOV 61H, A
时序
三、扩展简单的八位输入输出口
P 0.0 P 0.1
D0 D1
Q0 LED0 Q1 LED1
MOVX @DPTR, A MOV A,#06H
MOVX @DPTR, A
三、8255A的工作方式(3个) 方式0:基本输入/输出方式。
不需要任何选通信号,适合于无条件传输数据的设备,数 据输出有锁存功能,数据输入有缓冲(无锁存)功能。
方式 1: 选通输入/输出方式。 共有3口, 被分为两组。A组包括A口和PC7-PC4, A口可由
1、速度协调 由于CPU与外设速度上的差异,使得数据的I/O传送只能在
确认外设已为数据传送作好准备的前提下才能进行I/O操作。 2、数据锁存
单片机的工作速度快,数据在数据总线上保留的时间短, 无法满足慢速外设的数据接收。因此数据锁存就成为接口电路 的一项重要功能。 3、输入数据三态缓冲
只允许当前时刻正在进行数据传送的数据源使用数据总线, 其它数据源都必须与数据总线处于隔离状态。为此要求接口电 路能为数据输入提供三态缓冲功能。 4、数据转换
一、 I/O接口的功能 二、I/O接口的数据传送方式 三、I/O接口的编址 四、I/O接口扩展方法:并口扩展常用三种方法
(1)并行总线扩展的方法 (2)串行口扩展方法 (3)I/O端口模拟串行方法
主要内容: 1、利用TTL、CMOS集成电路来扩展 2、利用可编程并行接口芯片来扩展
一、I/O接口的功能
需要使用接口电路进行数据信号的转换。其中包括:D/A 转换、A/D转换、串 / 并转换和并/ 串转换等。
二、I/O数据传送方式
1、无条件传送方式 在进行I/O操作时,不需要测试外部设备的状态,可以根
据需要随时进行数据传送操作。一般用于具有常驻的或变化 缓慢的数据信号的外部设备如机械开关、指示灯、发光二极 管、数码管等,以及工作速度非常快,足以和CPU同步工作 的外部设备如外部数据存储器,数/模转换器。 2、程序查询方式
为了实现查询方式的数据输入输出传送,需要由接口电 路提供外设状态,并以软件方法进行状态测试。 3 、程序中断方式
采用中断方式进行数据传送时,当外设为数据传送作好 准备之后,就向CPU发出中断请求。CPU响应中断后,再继续 执行被中断的原程序。
三、I/O端口的编址
1、在计算机中,凡需进行读写操作的设备都存在着编址的问题。 2、有两种需要编址的部件 (1)存储器:存储单元进行编址 (2)接口电路:接口电路则是对其中的端口进行编址。 3、I/O编址方式
E 程序如下: MOV DPTR, #7FFFH MOV A, 60H MOVX @DPTR, A
例2:用锁存器74LS373扩展并行输出口
P2.7 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 /WR
8051
OE D7 Q7 D6 Q6 D5 Q5 D4 Q4 D3 Q3 D2 Q2 D1 Q1 D0 Q0 G
I/O
PB7 ~ PB0 D0~D7
8255
PA0~PA7 PB0~PB7 PC0~PC7
二、8255A的D7 控D6 D制5 D字4 D3(D22 个D1 )D0
方式选择控制字
B组 C口置位/复位控制字
C 口 0 :输 出 低 4位 1 :输 入
D7 D6 D5 D4 D3 D2 D1 D0
8255A的C口联络控制信号线
PA7~PA0
A口的方式1选通输入方式
B口的方式1选通输出方式
四、8255A与MCS-51的接口设计 8255A 接口工作状态选择表
PA, PB, PC及控制寄存器的地址分别是: PA:7FFCH PB:7FFDH PC:7FFEH 控制寄存器:7FFFH
例:如图上页所示,假设8255A芯片的PA接一组8只状态指示灯,PB接一组
B口
0 :输 出 1 :输 入
D7 × × × D3 D2 D1 D0
B组 方式
C口
0 :输 出 选 择
0:模 式0 1:模 式1
0 :复 位 1 :置 位
低 4位 1 :输 入
位选 择
B口
0 :输 出 1 :输 入
DA7组 × × C 口 0 :输 出
× D3 D2 D1 D0
方 式 0: 模 式0 高 4位 1 :输 入
Q2
D2
S2
Q3
Hale Waihona Puke D3S3Q4
D4
S4
Q5
D5
S5
Q6
D6
Q7
D7
S6 S7
G1 G2
输出:
输入:
MOV A,#70H
MOV DPTR, #0FEFFH MOVX A,@DPTR
MOV DPTR,#0FEFFH MOVX @DPTR,A
9.3 利用8255A芯片的扩展I/O口
8255A是可编程并行I/O接口芯片,
出 入

D7 × × × D3 D2 D1 D0

式0 式1
0 :复 位 1 :置 位
位选 择
0 00 PC0
0 01 PC1
0 10 PC2 0 11 PC3
1 00 PC4
1 01 PC5
1 10 PC6
式0
1 11 PC7
式1
2
0 :位 操 作
(b )
MOV DPTR,#7F03H MOV A,#03H
第9章 扩展I/O接口
9.1 概述 9.2 普通并行I/O口扩展 9.3 利用8255A芯片的扩展I/O口 9.4 利用8155芯片的扩展I/O口 9.5 其他总线的扩展 重点内容:
1、I/O芯片与单片机的连接 2、I/O芯片的地址空间分配 3、I/O芯片工作方式的设置以及读写方法
9.1 概述
并行I/O口扩展的目的:为外围设备提供一个输入输出通道。
相关文档
最新文档