,.
CALL DELAY CALL BREAK
MOV AL,0FDH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0FBH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0F7H MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0EFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0DFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0BFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,07FH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
,.
MOV AL,0FFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
CALL DELAY CALL BREAK JMP LOP
;CALL DELAY ;CALL BREAK
IN AL,DX CMP AL,080H JMP EXIT C2:
MOV DX,0DF20H
OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0BFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0DFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0EFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0F7H MOV DX,0DF20H
,.
OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0FBH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0FDH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0FEH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
MOV AL,0FFH MOV DX,0DF20H OUT DX,AL CALL DELAY CALL BREAK
CALL DELAY CALL BREAK JMP LOP
IN AL,DX CMP AL,080H JMP EXIT
EXIT: MOV AH,4CH INT 21H
2、循环左移右移实现: 主要代码: (1)右移:
,.
LOP: MOV DX,0DF00H IN AL,DX
CMP AL,0FFH JE C0 ;JE EXIT MOV DX,0DF20H OUT DX,AL JMP LOP C0: MOV AL,07FH JMP C1
C1: ROR AL,1 MOV DX,0DF20H OUT DX,AL CALL DELAY call break ;CMP AL,0FEH ;JE EXIT JMP C1
IN AL,DX CMP AL,080H JMP EXIT (2)循环左移:
LOP: MOV DX,0DF00H IN AL,DX
CMP AL,00H JE C0 ;JE EXIT MOV DX,0DF20H OUT DX,AL JMP LOP C0: MOV AL,0FEH JMP C1
C1: ROl AL,1 MOV DX,0DF20H OUT DX,AL CALL DELAY call break ;CMP AL,0FEH ;JE EXIT
,.
JMP C1
IN AL,DX CMP AL,080H JMP EXIT
实验四 可编程并行接口8255实验
一、实验目的
了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。
二、实验内容
(1) 流水灯实验:利用8255的A口、B口循环点亮发光二极管。 (2) 交通灯实验:利用8255的A口模拟交通信号灯。
(3) I/O输入输出实验:利用8255的A口读取开关状态,8255的B口把状态送发光二极管显示。
(4) 通过开关控制交通红绿灯的亮灭。
(5) 通过开关控制流水灯的循环方向和循环方式。
考核方式:完成实验内容(1)(2)(3)其中之一通过,完成实验内容(4)或(5)优秀。
三、实验说明
1、8255A的内部结构
(1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
(2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
(3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。
(4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
2、8255A的工作方式