微机接口与编程第五章数字量输入输出4(8255)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据总线 读出信号 写入信号 复位 CPU 准备好 中断请求 地址 地址 译码 片选 A0 A1
№ 22
数据输入准备好 控制寄存器 输入缓冲寄存器 输出缓冲寄存器 状态寄存器 数据输出 数据输出准备好 数据输出回答 输 出 设 备 数据输入 数据输入回答 输 入 设 备
8255A与系统的连接示意图
№2
并行接口和串行接口的结构示意图
№3
并行接口的特点
(1)并行接口同时在多根传输线上以字节(字)为单位
传送数据。 ( 2 )并行传送速度快、成本高、适用于近距离、传送 速度要求高的场合。 ( 3 )并行传送当前还没有标准化,所以,并行传送的 信息不要求有固定的格式,并行传送中同步传送和异步 传送没有严格的定义。一般来说,如果CPU用一个时钟 信号来管理接口与外设的动作,则看成是同步并行传送; 如果CPU和接口及外设通过应答信号来进行联络和通信, 则认为是异步并行传送。 ( 4 )并行接口电路从功能上可分为简单并行接口(不 可编程并行口)和可编程并行接口两种。
A口
1:输入 0:输出
PC7 ~ PC4
1:输入 0:输出
№ 16
写入方式控制字示例
要求: –A端口:方式1输入 –C端口上半部:输出,C口下半部:输入 –B端口:方式0输出
方式控制字:10110001B或B1H
8255端口地址为60H-63H。 MOV AL,0B1H
初始化的程序段:
1 1 1 1
1 1 1
0 0 0 0
0 0 0
0 0 0 0
数据总线← 端口A 数据总线← 端口B 数据总线← 端口C 输出操作(CPU写) 数据总线→端口A 数据总线→端口B 数据总线→端口C 数据总线→控制端口
№ 24
8255A的工作方式——方式0(基本输入/输出方式)
IN AL,PORT
DB AB
端口C:PC0~PC7
可作数据、状态和控制端口 分两个4位,每位可独立操作 控制最灵活,最难掌握
№ 14
8255的编程
初始化编程:一个方式控制字
–采用控制I/O地址:A1A0=11
工作过程中:通过数据端口对外设数据进
行读写 –数据读写利用端口A、B和C的I/O地址, A1A0依次等于00、01、10 IBM PC/XT机上,端口A、B、C和控制端口 的I/O地址为60H、61H、62H和63H
– 适用于无条件传送和查询方式的接口电路
方式1:选通输入输出方式
– C口提供固定的联络信号,适用于查询和中断
方式的接口电路
方式2:双向选通传送方式
– 即可入,又可出。是方式1的组合。 – 适用于与双向传送数据的外设
– 适用于查询和中断方式的接口电路
№ 12
外设数据端口支持的工作方式 端口A:PA0 ~ PA7
1:置位 0:复位
这一功能可使8255作为位控接口, 来实现对外设的按位控制。
№ 19
C口位控字
①直接写C口某一位(例如AB口方式0时) ②用于写中断允许位(与C口数据线无关)
例如: 写PC4=1的位控字为0×××1001B 则允许A口方式1或2输入中断 写PC4=0的位控字为0×××1000B 则禁止A口方式1或2输入中断
8 n 译码器
输入缓冲器
数据
外设
M / IO
RD
①外设将数据送到8255输入缓冲器中; ②CPU给出有效的8255地址; ③CPU发读命令,将8255A输入缓冲器中数据读入CPU 的AL寄存器中。
№ 25
8255A的工作方式——方式0(基本输入/输出方式)
OUT PORT,AL
DB AB
8
n 译码器
74LS30
+5V A8 A7 A6 A5
74LS04
端口 A口 B口 C口 控制口
A15~A8 A7A6A5 A4A3 A2A1 A0 地址 0~ 0 0 1 1 0 0 X X 1 1 0 1 0 1 0 0060H 0062H 0064H 0066H
№ 11
(二) 工作方式
方式0:基本输入输出方式
D7 8255A寻址D7
~ D0 RD WR 8255A A1 A0 RESET CS 74LS138 G1 G2A Y3 G2B C B A
PA7 ~ PA0 PB7 ~ PB0 PC7 ~ PC0
说明:
(1)8255的数据线D7~D0接 8086系统的数据线的低8位。 (2)8255的A0接8086的A1, 8255的A1接8086的A2,使用偶 地址传递信息。 (3)端口地址
OUT 63H,AL
;方式控制字 ;送到控制端口
№ 17
读写端口C:
C端口被分成两个4位端口,两个端口只能以
方式0工作,可分别选择输入或输出
当A和B端口工作在方式1或方式2时,C端口的
部分或全部引脚将被征用,其余引脚仍可
设定工作在方式0
在控制上, C 端口上半部和 A 端口编为 A 组,C端口下半部和B端口编为B组
– A组,支持工作方式0、1、2
端口B:PB0 ~ PB7
– B组,支持工作方式0、1
端口C:PC0 ~ PC7
– 仅支持工作方式0 – A组控制高4位PC4~PC7 – B组控制低4位PC0~PC3
№ 13
外设数据端口的功能
端口A:PA0~PA7
常作数据端口,功能最强大 常作数据端口
端口B:PB0~PB7
8255
DB D0~D7 IOW IOR A1 A0 译码器 D0~D7 WR RD A1 A0 B口 C口 A口
外设1
系
统 总 线
外设2
外设3
A15~A2
CS
№ 23
8255A的读/写操作控制
A1 A0 RD WR CS 输入操作(CPU读)
0 0 1
0 0 1 1
0 1 0
0 1 0 1
0 0 0
2. 控制口D 总线 8255A 接收CPU控制字,决定8255工 RESET PA7 reset ~ 端口A 作方式。 PA0 外 D7 D7 数据 ~ ~ A组控制A端口和C端口的上半部, D0 D0 缓冲 PC7 器 B组控制B端口和C端口下半部。 ~ 设 端口C PC0 3. 读写控制逻辑 RD IOR WR 读写 由RD,WR,CS,A0,A1和RESET PB7 IOW 控制 ~ 端口B 组成,8255占用4个端口地址。 片选 CS A9 PB0 ~ 译码 RESET:高电平使8255复位,控 A2 A1 片内 制Reg清0,把A,B,C三个端口都设 A1 控制口 +5V A0 译码 D A0 置为输入方式。 GND 4. 数据总线缓冲器 8位双向数据缓冲器,可直接与 PA7~PA0:端口A的数据线,双向,三态 数据总线相连。 输出。 8255A PIN功能 PB7~PB0:端口B的数据线,可输入,也 可输出。 40个引脚双列直插器件 PC7~PC0:端口C的数据线,可输入,也 1. 与外设连接引脚 可输出,也可做A口或B口的控制信号线。 №9
~ A2 A1 A0
~
设
读写 控制
PB0
~
由一个8位数据输入缓冲器和1个 8位数据输出锁存器构成。
(3)端口C (PC7~PC0): 由一个8位数据输入缓冲器和一 个8位数据输出锁存器构成。 C口可分为两个部分,配合A口和B 口工作。
片内 译码
控制口 D
+5V GND
在与不需要控制联络的外设连接 时,A、B、C口均可做输入输出。 在与需要控制联络的外设连接时, C口分为两部分,做A、B口的控制 信号。 №8
片内 译码
控制口 D
+5V GND
A1 0 0 1 0 0 1 1
A0 0 1 0 0 1 0 1
RD 0 0 0 1 1 1 1
WR 1 1 1 0 0 0 0
CS 0 0 0 0 0 0 0
操 作 读端口A 读端口B 读端口C 向端口A输出 向端口B输出 向端口C输出 向控制口输出
№ 10
~ D0 IOR IOW A2 A1 RESET +5V A15 A14 A13 A12 A11 A10 A9
~
D7 ~ D0
外
~
设
IOR IOW A9 ~ A2 A1 A0
读写 控制
~
WR:写信号,输入,低电平 有效,把数据写入8255。
CS:片选信号,输入,低电平 有效,决定芯片地址。 A0,A1:端口选择信号, 8255占四个端口地址。 RESET:复位信号,输入,高 电平有效。复位后清所有内部 寄存器。 3. 8255端口选择
№ 20
端口C按位置/复位控制字
D7
D6
D5
D4
D3
D2
D1
D0
说明: (1)写入8255的控制口。
任选(可0) 1:置位 000 : PC0 C 口选择 D7 = 0 0:复位 (2)该控制字仅对8255的端 001:PC1 (特征位) 口输出锁存器操作。 010:PC2 011:PC3 100:PC4 101:PC5 这一功能可使8255作为位控接口, 110:PC6 来实现对外设的按位控制。 111:PC7
№7
8255的内部结构
1. 端口 (1)端口A(PA7~PA0):
总线
reset
8255A
RESET PA7 端口A 数据 缓冲 器 PA0 PC7 端口C PC0 PB7 端口B
~
D7 ~ D0
D7 ~ D0
RD WR 片选 CS 译码 A1 A0
外
由一个8位数据输入锁存器和一 IOR 个8位数据输出锁存器及缓冲器组成, IOW A9 可工作于双向方式。 (2)端口B (PB7~PB0) :
总线
8255A
RESET D7 ~ D0 RD WR 片选 CS 译码 A1 A0 端口A 数据 缓冲 器
2. 和CPU连接PIN D7~D0:数据线,与系统总线 连接。 RD:读信号,输入,低电平有 效,从8255A读取数据。
reset
PA7
PA0 PC7 端口C PC0 PB7 端口B PB0
№ 15
控制字 (1) 方式控制字——P277图5.41 用控制寄存器的地址写,特征位D7=1
A组 B组
D7
D6
D5
D4
D3
D2
D1
D0
D7 = 1 特征位
PC3~0 1:输入 0:输出 A口工作方式 00:方式0 01:方式1 1×:方式2 B口 1:输入 0:输出 B口工作方式 0:方式0 1:方式1
微机接口与编程
许庆阳 机电与信息工程学院
1
并行接口基本概念 数据传送的方式有两种:串行传送和并行传送 串行传送就是数据在一根传输线上一位一位地传 送。在串行传送方式下,外设或(被控对象)必 须通过串行接口与系统总线相连接,如键盘,鼠 标,调制解调器等。 并行传送就是同时在多根传输线上,数据以字节 (字)为单位进行传送。在并行传送方式下,外 设(或被控对象)必须通过并行接口与系统总线 相连接,如打印机、A/D、D/A转换器等都通过 并行接口与主机相连。
例:利用位复位和位置位可使端口C某位产生方波。 MOV CX,0FH LOP: OUT PORT-CL,0AH ;送0 CALL DELAY OUT PORT-CL,0BH ;送1 CALL DELAY LOOP LOP RET
向PC5送0电平 延时 向PC5送1电平 延时
方波个数到?
№ 21
并行接口连接外设示意图
~
并行I/O接口
8255A
口
一、8255A三端口可编程8位并行I/O (一) 引脚及结构——P276图5.40
端口A 端口C
读写 控制 片内 译码 PA7 ~ PA0 PC7 ~ PC0 PB7 ~ PB0 +5V GND
№6
数据 缓冲器
外
端口B 控制口 D
设
并行接口连接CPU与并行外设, 实现两者间的并行通信, 在信息传送过程中,起到输出 锁存或输入缓冲的作用。 简单的并行设
M / IO
WR
№4
§5.5
并行I/O接口
一、8255A三端口可编程8位并行I/O 8255A的主要功能:
可以实现直接转送、查询或中断方式的并行I/O数 据传送
要点:
三个端口(A口、B口、C口)的功能是如何 被不同等安排的? C口的引脚如何被征用及转化的作用是什么?
№5
§5.5
总线
reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7 D0 RD WR 片选 译码 CS A1 A0
№ 18
(2) C口位控字——P278图5.42
D7 D6 D5 D4
控制字
用控制寄存器的地址写(写,A1A0=11 ) ,特征位D7=0
D3 D2 D1 D0
任选(可0) D7 = 0 (特征位) 000:PC0 001:PC1 010:PC2 011:PC3 100:PC4 101:PC5 110:PC6 111:PC7 C口选择
№ 22
数据输入准备好 控制寄存器 输入缓冲寄存器 输出缓冲寄存器 状态寄存器 数据输出 数据输出准备好 数据输出回答 输 出 设 备 数据输入 数据输入回答 输 入 设 备
8255A与系统的连接示意图
№2
并行接口和串行接口的结构示意图
№3
并行接口的特点
(1)并行接口同时在多根传输线上以字节(字)为单位
传送数据。 ( 2 )并行传送速度快、成本高、适用于近距离、传送 速度要求高的场合。 ( 3 )并行传送当前还没有标准化,所以,并行传送的 信息不要求有固定的格式,并行传送中同步传送和异步 传送没有严格的定义。一般来说,如果CPU用一个时钟 信号来管理接口与外设的动作,则看成是同步并行传送; 如果CPU和接口及外设通过应答信号来进行联络和通信, 则认为是异步并行传送。 ( 4 )并行接口电路从功能上可分为简单并行接口(不 可编程并行口)和可编程并行接口两种。
A口
1:输入 0:输出
PC7 ~ PC4
1:输入 0:输出
№ 16
写入方式控制字示例
要求: –A端口:方式1输入 –C端口上半部:输出,C口下半部:输入 –B端口:方式0输出
方式控制字:10110001B或B1H
8255端口地址为60H-63H。 MOV AL,0B1H
初始化的程序段:
1 1 1 1
1 1 1
0 0 0 0
0 0 0
0 0 0 0
数据总线← 端口A 数据总线← 端口B 数据总线← 端口C 输出操作(CPU写) 数据总线→端口A 数据总线→端口B 数据总线→端口C 数据总线→控制端口
№ 24
8255A的工作方式——方式0(基本输入/输出方式)
IN AL,PORT
DB AB
端口C:PC0~PC7
可作数据、状态和控制端口 分两个4位,每位可独立操作 控制最灵活,最难掌握
№ 14
8255的编程
初始化编程:一个方式控制字
–采用控制I/O地址:A1A0=11
工作过程中:通过数据端口对外设数据进
行读写 –数据读写利用端口A、B和C的I/O地址, A1A0依次等于00、01、10 IBM PC/XT机上,端口A、B、C和控制端口 的I/O地址为60H、61H、62H和63H
– 适用于无条件传送和查询方式的接口电路
方式1:选通输入输出方式
– C口提供固定的联络信号,适用于查询和中断
方式的接口电路
方式2:双向选通传送方式
– 即可入,又可出。是方式1的组合。 – 适用于与双向传送数据的外设
– 适用于查询和中断方式的接口电路
№ 12
外设数据端口支持的工作方式 端口A:PA0 ~ PA7
1:置位 0:复位
这一功能可使8255作为位控接口, 来实现对外设的按位控制。
№ 19
C口位控字
①直接写C口某一位(例如AB口方式0时) ②用于写中断允许位(与C口数据线无关)
例如: 写PC4=1的位控字为0×××1001B 则允许A口方式1或2输入中断 写PC4=0的位控字为0×××1000B 则禁止A口方式1或2输入中断
8 n 译码器
输入缓冲器
数据
外设
M / IO
RD
①外设将数据送到8255输入缓冲器中; ②CPU给出有效的8255地址; ③CPU发读命令,将8255A输入缓冲器中数据读入CPU 的AL寄存器中。
№ 25
8255A的工作方式——方式0(基本输入/输出方式)
OUT PORT,AL
DB AB
8
n 译码器
74LS30
+5V A8 A7 A6 A5
74LS04
端口 A口 B口 C口 控制口
A15~A8 A7A6A5 A4A3 A2A1 A0 地址 0~ 0 0 1 1 0 0 X X 1 1 0 1 0 1 0 0060H 0062H 0064H 0066H
№ 11
(二) 工作方式
方式0:基本输入输出方式
D7 8255A寻址D7
~ D0 RD WR 8255A A1 A0 RESET CS 74LS138 G1 G2A Y3 G2B C B A
PA7 ~ PA0 PB7 ~ PB0 PC7 ~ PC0
说明:
(1)8255的数据线D7~D0接 8086系统的数据线的低8位。 (2)8255的A0接8086的A1, 8255的A1接8086的A2,使用偶 地址传递信息。 (3)端口地址
OUT 63H,AL
;方式控制字 ;送到控制端口
№ 17
读写端口C:
C端口被分成两个4位端口,两个端口只能以
方式0工作,可分别选择输入或输出
当A和B端口工作在方式1或方式2时,C端口的
部分或全部引脚将被征用,其余引脚仍可
设定工作在方式0
在控制上, C 端口上半部和 A 端口编为 A 组,C端口下半部和B端口编为B组
– A组,支持工作方式0、1、2
端口B:PB0 ~ PB7
– B组,支持工作方式0、1
端口C:PC0 ~ PC7
– 仅支持工作方式0 – A组控制高4位PC4~PC7 – B组控制低4位PC0~PC3
№ 13
外设数据端口的功能
端口A:PA0~PA7
常作数据端口,功能最强大 常作数据端口
端口B:PB0~PB7
8255
DB D0~D7 IOW IOR A1 A0 译码器 D0~D7 WR RD A1 A0 B口 C口 A口
外设1
系
统 总 线
外设2
外设3
A15~A2
CS
№ 23
8255A的读/写操作控制
A1 A0 RD WR CS 输入操作(CPU读)
0 0 1
0 0 1 1
0 1 0
0 1 0 1
0 0 0
2. 控制口D 总线 8255A 接收CPU控制字,决定8255工 RESET PA7 reset ~ 端口A 作方式。 PA0 外 D7 D7 数据 ~ ~ A组控制A端口和C端口的上半部, D0 D0 缓冲 PC7 器 B组控制B端口和C端口下半部。 ~ 设 端口C PC0 3. 读写控制逻辑 RD IOR WR 读写 由RD,WR,CS,A0,A1和RESET PB7 IOW 控制 ~ 端口B 组成,8255占用4个端口地址。 片选 CS A9 PB0 ~ 译码 RESET:高电平使8255复位,控 A2 A1 片内 制Reg清0,把A,B,C三个端口都设 A1 控制口 +5V A0 译码 D A0 置为输入方式。 GND 4. 数据总线缓冲器 8位双向数据缓冲器,可直接与 PA7~PA0:端口A的数据线,双向,三态 数据总线相连。 输出。 8255A PIN功能 PB7~PB0:端口B的数据线,可输入,也 可输出。 40个引脚双列直插器件 PC7~PC0:端口C的数据线,可输入,也 1. 与外设连接引脚 可输出,也可做A口或B口的控制信号线。 №9
~ A2 A1 A0
~
设
读写 控制
PB0
~
由一个8位数据输入缓冲器和1个 8位数据输出锁存器构成。
(3)端口C (PC7~PC0): 由一个8位数据输入缓冲器和一 个8位数据输出锁存器构成。 C口可分为两个部分,配合A口和B 口工作。
片内 译码
控制口 D
+5V GND
在与不需要控制联络的外设连接 时,A、B、C口均可做输入输出。 在与需要控制联络的外设连接时, C口分为两部分,做A、B口的控制 信号。 №8
片内 译码
控制口 D
+5V GND
A1 0 0 1 0 0 1 1
A0 0 1 0 0 1 0 1
RD 0 0 0 1 1 1 1
WR 1 1 1 0 0 0 0
CS 0 0 0 0 0 0 0
操 作 读端口A 读端口B 读端口C 向端口A输出 向端口B输出 向端口C输出 向控制口输出
№ 10
~ D0 IOR IOW A2 A1 RESET +5V A15 A14 A13 A12 A11 A10 A9
~
D7 ~ D0
外
~
设
IOR IOW A9 ~ A2 A1 A0
读写 控制
~
WR:写信号,输入,低电平 有效,把数据写入8255。
CS:片选信号,输入,低电平 有效,决定芯片地址。 A0,A1:端口选择信号, 8255占四个端口地址。 RESET:复位信号,输入,高 电平有效。复位后清所有内部 寄存器。 3. 8255端口选择
№ 20
端口C按位置/复位控制字
D7
D6
D5
D4
D3
D2
D1
D0
说明: (1)写入8255的控制口。
任选(可0) 1:置位 000 : PC0 C 口选择 D7 = 0 0:复位 (2)该控制字仅对8255的端 001:PC1 (特征位) 口输出锁存器操作。 010:PC2 011:PC3 100:PC4 101:PC5 这一功能可使8255作为位控接口, 110:PC6 来实现对外设的按位控制。 111:PC7
№7
8255的内部结构
1. 端口 (1)端口A(PA7~PA0):
总线
reset
8255A
RESET PA7 端口A 数据 缓冲 器 PA0 PC7 端口C PC0 PB7 端口B
~
D7 ~ D0
D7 ~ D0
RD WR 片选 CS 译码 A1 A0
外
由一个8位数据输入锁存器和一 IOR 个8位数据输出锁存器及缓冲器组成, IOW A9 可工作于双向方式。 (2)端口B (PB7~PB0) :
总线
8255A
RESET D7 ~ D0 RD WR 片选 CS 译码 A1 A0 端口A 数据 缓冲 器
2. 和CPU连接PIN D7~D0:数据线,与系统总线 连接。 RD:读信号,输入,低电平有 效,从8255A读取数据。
reset
PA7
PA0 PC7 端口C PC0 PB7 端口B PB0
№ 15
控制字 (1) 方式控制字——P277图5.41 用控制寄存器的地址写,特征位D7=1
A组 B组
D7
D6
D5
D4
D3
D2
D1
D0
D7 = 1 特征位
PC3~0 1:输入 0:输出 A口工作方式 00:方式0 01:方式1 1×:方式2 B口 1:输入 0:输出 B口工作方式 0:方式0 1:方式1
微机接口与编程
许庆阳 机电与信息工程学院
1
并行接口基本概念 数据传送的方式有两种:串行传送和并行传送 串行传送就是数据在一根传输线上一位一位地传 送。在串行传送方式下,外设或(被控对象)必 须通过串行接口与系统总线相连接,如键盘,鼠 标,调制解调器等。 并行传送就是同时在多根传输线上,数据以字节 (字)为单位进行传送。在并行传送方式下,外 设(或被控对象)必须通过并行接口与系统总线 相连接,如打印机、A/D、D/A转换器等都通过 并行接口与主机相连。
例:利用位复位和位置位可使端口C某位产生方波。 MOV CX,0FH LOP: OUT PORT-CL,0AH ;送0 CALL DELAY OUT PORT-CL,0BH ;送1 CALL DELAY LOOP LOP RET
向PC5送0电平 延时 向PC5送1电平 延时
方波个数到?
№ 21
并行接口连接外设示意图
~
并行I/O接口
8255A
口
一、8255A三端口可编程8位并行I/O (一) 引脚及结构——P276图5.40
端口A 端口C
读写 控制 片内 译码 PA7 ~ PA0 PC7 ~ PC0 PB7 ~ PB0 +5V GND
№6
数据 缓冲器
外
端口B 控制口 D
设
并行接口连接CPU与并行外设, 实现两者间的并行通信, 在信息传送过程中,起到输出 锁存或输入缓冲的作用。 简单的并行设
M / IO
WR
№4
§5.5
并行I/O接口
一、8255A三端口可编程8位并行I/O 8255A的主要功能:
可以实现直接转送、查询或中断方式的并行I/O数 据传送
要点:
三个端口(A口、B口、C口)的功能是如何 被不同等安排的? C口的引脚如何被征用及转化的作用是什么?
№5
§5.5
总线
reset D7 ~ D0 IOR IOW A9 ~ A2 A1 A0 RESET D7 D0 RD WR 片选 译码 CS A1 A0
№ 18
(2) C口位控字——P278图5.42
D7 D6 D5 D4
控制字
用控制寄存器的地址写(写,A1A0=11 ) ,特征位D7=0
D3 D2 D1 D0
任选(可0) D7 = 0 (特征位) 000:PC0 001:PC1 010:PC2 011:PC3 100:PC4 101:PC5 110:PC6 111:PC7 C口选择