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

更新时间:2023-08-08 07:45:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验八 可编程并行接口芯片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的控制字:

1D6D5D4D3D2D1D0特

位A组方式

00=方式 01=方式1

1X=方式2A口

0=输出

1=输入C口高4位

0=输出

1=输入B组方式

0=方式0

1=方式1B口

0=输出

1=输入C口低4位

0=输出

1=输入图1 8255A方式控制字

0D6D5D4D3D2D1D0特征位不用位选择

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 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 ;按任意键退出

1

本文来源:https://www.bwwdw.com/article/6m0j.html

Top