4方式控制字及状态字

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 00 00 0 01
图7.17 采用方式1的查询方式
PP: MOV AL , 10101000B MOV DX , 383H OUT DX , AL
MOV AL , 00001101B; 初始化PC6=1 允许中断
OUT DX,AL; 书上有错!P276
具体输出过程:
PA 7 ~ PA 0
ACK 信号:
图7.4 端口A方式 1 输出
(1) ACK 的下降沿使OBF 变高,
ACK :外设应答 OBF :输出缓冲器满 INTE :中断允许,
(2) ACK 的上升沿使INTE=1, 则INTR 变高,发出中断请求,请 求CPU 输出新的数据。
例3:使C 口的第0位PC0 发出负脉冲,控制端口地址为 203H 。
解:置1相应的控制字为:00000001B=01H
1
1
置0相应的控制字为:00000000B=00H
0
MOV DX, 203H;控制端口地址→DX
MOV AL, 01H ; 控制字→AL
OUT DX,AL ; 控制字→控制端口 MOV AL, 00H ; 控制字→A
(2) 端口C置位/复位控制字
例如: PC5=1 置位复位控制字:00001011
MOV AL , 00001011B MOV DX , 控口地址 OUT DX , AL
图7.11 8255端口C置位/复位控制字格式
例2:把C 口的第0位PC0 置1,控制端口地址为203H 。
解:相应的控制字为:00000001B=01H MOV DX, 203H;控制口地址→DX MOV AL, 01H ; 控制字→AL OUT DX,AL ; 控制字→控制口
7.1.4 方式控制字及状态字(配电箱/配电盘开关状态)
1.8255的控制字
(1) 方式控制字
方式控制字:10100011 MOV AL , 10100011B MOV DX , 控口地址 OUT DX , AL
图7.10 8255方式控制字格式
例1 使8255A其各口工作于方式0,A口作输出,B口作输入,C 口高4位作输出,C口的低4位作输入。先写出其工作方式控制 字,并写出初始化程序。(控制端口地址为63H)
图7.16 采用方式0的查询方式
设8255A的端口地址为:
A端口 380H ; B端口 381H
C端口 382H ; 控制口 383H 具体程序段如下:
PP: MOV AL , 10000001B MOV DX , 383H OUT DX , AL MOV AL , 00001100B OUT DX , AL; 初始化PC6=0 MOV DX , 382H
LPST :IN AL , DX;测PC2 AND AL , 04H JNZ LPST ;忙,等待
MOV AL , CL
MOV DX , 380H
OUT DX , AL;输出字符
MOV AL , 0DH;=00001101B MOV DX , 383H OUT DX , AL;PC6=1 打印 CALL DELAY DEC AL ;PC6=0 OUT DX , AL;关打印
① CPU输出数据 ② CPU发出WR :
INTE A
PC 6 PC 7
(1) 数据写到 8255A的端口
ACK A
(2) WR 的低电平清除中断请求
ห้องสมุดไป่ตู้
OBFA 信号INTR
&
(3) WR 的上升沿使OBF 有效,
O
PC 3
WR
PC 4, PC 5
INTR A
表示输出端口满,通知外设取数 据。
I / O ③ 外设接受到数据后,发出
MOV AL, 01H ; 控制字→AL OUT 203H,AL ; 控制字→控制口
注意:
(1)当端口地址大于255时必须使用间接的输入输出指令。 将端口地址先写入DX中,然后执行输入/输出操作 。
OUT 203H,AL
×
(2)只能用累加器作为输入/输出过程的机构,不能用其他 寄存器代替。
OUT DX ,CL ×
8086
CPU IOR
IOW
A2 A1
A0
A3
A4
A5


A9

A10
A15 …
D0--D7
RD
PB0
WR A1

A0
PB7
8255A
PA0
CS

PA7
+5V
… …
PC2
图 无条件传送方式
1、方式 0 2、B口方式 1输入:PC2=STB
7.1.6 8255应用举例
例7.1:现将A口作为传送字符的通道,工作于方式 0,输出方式,B端口未用,端 口C也工作于方式0,PC2 作为BUSY信号的输入端,故PC3~PC0 为输入方式,PC6 作为STROBE 信号输出端,故PC7~PC4 为输出方式,准备传送的字符已在CL 中。
一般,将8255A的D7~D0和CPU 低8位数据线相连。 要求CPU 访问8255A的4个端口地址均为偶地址。
8255A自身规定其4个片内端口地址A1和A0应为00,01,10和11。
系统总线的A0总为0。将8255A的A1,A0和系统地址总线 的A2,A1分别相连。从而得到四个连续的偶地址。
图 8086与8255A连接
D7 D6 D5 D4 D3 D2 D1 D0
1
0
0
0
0
0
1
1
标志位
端口A为 定义端口 C口高4 端口B为 定义端口 C口低4 工作方式 0 A为输出 位输出 工作方式0 B为输入 位输入
工作方式控制字为83H
初始化程序:
MOV DX, 63H ; 指向控制口 MOV AL, 83H ;10000011B OUT DX, AL ;8255 初始化 也可以写为: MOV AL, 83H ;10000011B OUT 63H, AL ;8255 初始化
OUT DX,AL ; 控制字→控制端口
CALL DELAY MOV AL, 01H ; 控制字→A
OUT DX,AL ; 控制字→控制端口
2.8255的状态字
当8255的A口、B口工作在方式 1或A口工作在方式 2,通过读C口的数据,可以 检测A口和B 口的状态。
图7.12 A、B口均为方式1输入时的状态字
图7.13 A、B口均为方式1输出时的状态字
图7.14 A口在方式2工作时的状态字
7.1.5 8255与CPU的连接 8088
图7.15 计算机中8255的连接
8088:8位数据总线,8255A的A1和A0直接与系统地址总线 的A1和A0相接。
8086:16位数据总线, 低8位数据线 偶地址 高8位数据线 奇地址
相关文档
最新文档