文档库 最新最全的文档下载
当前位置:文档库 › 实验七 可编程并行接口芯片8255A的使用1

实验七 可编程并行接口芯片8255A的使用1

本人精心整理的文档,文档来自网络
本人仅收藏整理
如有错误
还请自己查证!
实验八 可编程并行接口芯片8255A的使用2
一、实验目的
了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用

二、实验设备
(1) 显示器、鼠标、键盘各一件;
(2) QTH-2008PC 32位微机教学实验仪一套

三、实验说明
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的工作方式:
方式0-基本输入输出方式;方式1-选通输入输出方式;方式2-双向选通输入输出方式

3、8255A的控制字:
1 D6 D5 D4 D3 D2 D1 D0 特

位 A组方式
00=方式 01=方式1
1X=方式2 A口
0=输出
1=输入 C口高4位
0=输出
1=输入 B组方式
0=方式0
1=方式1 B口
0=输出
1=输入 C口低4位
0=输出
1=输入 图1 8255A方式控制字
0 D6 D5 D4 D3 D2 D1 D0 特征位 不用 位选择
000=C口0位......111=C口7位 0=复位
1=置位 图2 C口按位置位/复位控制字

四、实验原理图

图3 可编程并行接口8255电路
五、实验内容
I/O输入输出实验:利用8255的A口读取开关状态、B口把状态送发光二极管显示

六、实验步骤
(1) 实验连线
> 该模块的WR、RD分别连到PC104总线接口模块的IOWR、IORD

> 该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC104总线接口模块的数据(D0~D7)、地址线(A0~A7)

> 8255模块选通线CE连到PC104总线接口模块的IOY0

> 8255的PA0~PA7接开关K0~K7;8255的PB0~PB7接发光二极管L1~L8

(2) 设计、编译、运行程序

源程序代码为:

MY_STACK SEGMENT PARA 'STACK'
DB 100 DUP(?)
MY_STACK ENDS

MY_DATA SEGMENT PARA 'DATA'
P8255_A DW 0180H
P8255_B DW 0181H
P8255_C DW 0182H
P8255_MODE DW 0183H
DELAY_SET EQU 3FFH ;延时常数
MY_DATA ENDs

MY_CODE SEGMENT PARA 'CODE'

MY_PROC PROC FAR
ASSUME CS:MY_CODE, DS:MY_DATA, SS:MY_STACK

START: MOV AX,MY_DATA
MOV DS,AX
MOV DX,P8255_MODE ;设置8255控制字A口输入
B口输出
MOV AL,90H
OUT DX,AL
START1: MOV DX,P8255_A ;读取A口状态
IN AL,DX
MOV DX,P8255_B ;输出
OUT DX,AL
CALL DELAY
CALL BREAK
JMP START1
MY_PROC ENDp

DELAY PROC NEAR ;延时程序
PUSHF
PUSH DX
PUSH CX
MOV DX,DELAY_SET
D1: MOV CX,100 ;-1
D2: DEC CX
JNZ D2
DEC DX
JNZ D1
POP CX
POP DX
POPF
RET
DELAY ENDp

BREAK PROC NEAR ;按任意键退出
PUSHF
PUSH AX
PUSH DX
MOV AH,06H
MOV DL,0FFH
INT 21H
JE RETURN
EXEC_EXIT: MOV AX,4C00H
INT 21H
RETURN: POP DX
POP AX
POPF
RET
BREAK ENDP

MY_CODE ENDS

END START
(3) 拨动开关
观察发光二极管

??

??

??

??




1



相关文档
相关文档 最新文档