32位微机原理上机实验报告:8255流水灯显示实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西北工业大学明德学院

实验报告

实验项目微机原理及应用

班级 121204

姓名田家豪王辰硕

学号 ****** ******

指导老师伍明高

时间 2015-4-21

实验题目

8255并口控制器应用实验

实验目的

(1) 掌握8255的工作方式及应用编程。

(2) 掌握8255的典型应用电路接法。

实验内容

(1) 基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。

(2) 流水灯显示实验。编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。

实验原理

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel 公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。

实验说明及步骤

1.基本输入输出实验

本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

实验步骤如下。

(1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2) 如图1所示连接实验线路。

(3) 首先运行CHECK程序,查看I/O空间始地址。

(4) 利用查出的地址编写程序,然后编译链接。

(5) 运行程序,拨动开关,看数据灯显示是否正确。

图1

2.流水灯显示实验

首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。

实验步骤如下:

(1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2) 首先运行CHECK程序,查看I/O空间始地址。

(3) 利用查出的地址编写程序,然后编译链接。

(4) 如图2所示连接实验线路。

(5) 运行程序,看数据灯显示是否正确。

图2

流水灯程序如下

IOY0 EQU 0D000H ;片选IOY0对应的端口始地址

;*****************************************************************

MY8255_A EQU IOY0+00H*4 ;8255的A口地址

MY8255_B EQU IOY0+01H*4 ;8255的B口地址

MY8255_C EQU IOY0+02H*4 ;8255的C口地址

MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

DA TA SEGMENT

LA DB ? ;定义数据变量

LB DB ?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,MY8255_MODE ;定义8255工作方式

MOV AL,80H ;工作方式0,A口和B口为输出

OUT DX,AL

MOV DX,MY8255_A ;写A口发出的起始数据

MOV AL,80H

OUT DX,AL

MOV LA,AL

MOV DX,MY8255_B ;写B口发出的起始数据

MOV AL,01H

OUT DX,AL

MOV LB,AL

LOOP1: CALL DALL Y

MOV AL,LA ;将A口起始数据右移再写入A口

ROR AL,1

MOV LA,AL

MOV DX,MY8255_A

OUT DX,AL

MOV AL,LB ;将B口起始数据左移再写入B口

ROL AL,1

MOV LB,AL

MOV DX,MY8255_B

OUT DX,AL

MOV AH,1 ;判断是否有按键按下

INT 16H

JZ LOOP1 ;无按键则跳回继续循环,有则退出

QUIT: MOV AX,4C00H ;结束程序退出

INT 21H

DALL Y PROC NEAR ;软件延时子程序

PUSH CX

PUSH AX

MOV CX,3FFH

D1: MOV AX,0FFFFH

D2: DEC AX

JNZ D2

LOOP D1

POP AX

POP CX

RET DALL Y ENDP

CODE ENDS

END START

相关文档
最新文档