方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式。
3、8255A的状态字
4、8255A的控制字
表6-3-3 8255A方式控制字
图6-3-1 8255方式1的状态字 图6-3-2 8255 方式2的状态字
1 特 征 位 D6 A组方式 00=方式0 01=方式1 1X=方式2 D5 D4 A口 0=输出 1=输入 D3 C口高4位 0=输出 1=输入
表6-3-4 按位置位/复位控制字
0 特征位 D6 D5 不用 D4 D3 位选择 000=C口0位??111=C口7位 D2 D1 D0 0=复位 1=置位 D2 B组方式 0=方式0 1=方式1 D1 B口 0=输出 1=输入 D0 C口低4位 0=输出 1=输入
四、实验原理图
20
图6-3-5 可编程并行接口8255电路
五、实验步骤
1、流水灯实验
(1) 实验连线
? 该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。
? 该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到ISA总线接口模块的数据(LD0~LD7)、地址线(LA0~LA7)。
? 8255模块选通线CE连到ISA总线接口模块的0000H。
? 8255的PA0~PA7连到发光二极管的L0~L7;8255的PB0~PB7连到发光二极管的L8~
L15。
(2) 运行程序,观察发光二极管。
图6-3-6 流水灯实验
2、交通灯实验
21
(1) 实验连线:
? 该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。
? 该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到ISA总线接口模块的数据(LD0~LD7)、地址线(LA0~LA7)。
? 8255模块选通线CE连到ISA总线接口模块的0000H。
? 8255的PA0-L7、PA1-L6、PA2-L5、PA3-L3、PA4-L2、PA5-L1。
(2)运行程序,观察发光二极管。
图6-3-7 交通灯实验
3、I/O输入输出实验
(1) 实验连线
? 该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。
? 该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到ISA总线接口模块的数据(LD0~LD7)、地址线(LA0~LA7)。
? 8255模块选通线CE连到ISA总线接口模块的0000H。
? 8255的PA0~PA7接开关K0~K7,8255的PB0~PB7接发光二极管L0~L7。
(2) 运行程序,拨动开关,观察发光二极管。
图6-3-8 I/O输入输出实验
22
六、实验程序
主要程序:
;***************************************************************************** ; ; ST0 ; ; ; ; ; ;
PROC NEAR MOV MOV OUT CALL CALL CALL RET ENDp
DX,P8255_A AL,33H
PROC NEAR MOV MOV OUT CALL MOV OUT CALL LOOP
CX,5H
AL,2BH
PROC NEAR MOV OUT CALL RET ENDp
AL,1BH DX,AL DELAY
/*初始状态全为红灯*/
;*****************************************************************************
ST0
;*****************************************************************************
/*南北为绿灯,东西为红灯子程序*/
;***************************************************************************** ST1
DX,AL DELAY DELAY DELAY
CALL BREAK CALL BREAK CALL BREAK
ST1
;*****************************************************************************
/*南北红灯闪烁,东西为红灯子程序*/
;***************************************************************************** ST2 ST20:
DX,AL DELAY
AL,3BH DX,Al DELAY ST20
23
RET ST2
ENDp
; ;***************************************************************************** ;
/*南北为红灯,东西为绿灯子程序*/ ;*****************************************************************************
; ST3 PROC NEAR MOV
AL,1EH
OUT DX,AL CALL DELAY CALL BREAK CALL DELAY CALL BREAK CALL DELAY
CALL BREAK
RET ST3
ENDp
;
;*****************************************************************************
; /*南北为红灯,东西黄灯闪烁子程序*/
;***************************************************************************** ;
ST4 PROC NEAR
MOV CX,5H
ST40:
MOV
AL,1DH
OUT DX,AL CALL DELAY MOV
AL,1FH OUT DX,AL CALL DELAY LOOP ST40
RET ST4
ENDp
实验五 可编程定时器/计数器8254(8253)实验一、实验目的
(1)掌握8254定时/计数器的编程方法。 (2)学习8254的几种工作方式。
(3)了解计数器的硬件连接及时序关系。
2
4