实验目的
通过实验,掌握8255工作于方式0以及设置C口为输入口,B口为输出口的方法。
实验原理
待添加
实验步骤
待添加
求控制字
A端口无关可任选 ⇒
D
4
D_4
D4 = 0
B端口作为输出 ⇒
D
1
D_1
D1 = 0
C端口作为输入 ⇒
D
0
D_0
D0 = 1;
D
3
D_3
D3 = 1
A组方式选择,B组方式选择 ⇒ 选择默认为方式0(基本的输入/输出方式) ⇒
D
6
D
5
D_6D_5
D6D5 = 00;
D
2
D_2
D2 = 0
即控制字为:10001001 = 89h
ASM 汇编代码
io8255a equ 288h ;A端口地址
io8255b equ 289h ;B端口地址
io8225c equ 28ah ;C端口地址
io8225ctrl equ 28bh ;D端口地址
code segment
assume cs:code
start: mov dx,io8255ctrl ;将控制字写入控制端口
mov al,89h
out dx,al
inout: mov dx,io8255c ;C端口作为输入
in al,dx ;从C端口输入一个数据
mov dx,io8255b ;B端口作为输出
out dx,al ;将从C端口输入的数据从A端口输出
mov dl,offh ;判断是否有按键
mov ah,06h
int 21h
jz inout ;若无按键,则继续到inout运行
mov ah,4ch ;否则返回
int 21h
code ends
end start