- 3
- 0
- 约3.5千字
- 约 7页
- 2023-10-14 发布于湖北
- 举报
PAGE
PAGE 2
成绩:
课程设计报告
学院: 计算机与电子信息学院
题目: 8255并行接口应用
专业:电子信息科学与技术 班级:电子07-2
姓名: XXXX 学号: XXX
指导老师: XXXX
实验时间:2010年3月8日-2010年3月11日
微机原理及应用课程设计实验
一. 设计题目分析
1.设计题目
编写程序,使用8255的A口和B口均为输出,实现16位流水灯显示效果。
2.功能扩展
(1)、将流水灯设计成可以正着流水也可以选择倒着流水,两边向中间流,中间向两边流。
(2)、通过开关可以对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速。
二. 总体方案设计分析
在本实验中要求我们用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,故基本的接线可以如下面图A所示。在C口的低两位接2个开关,实现2个扩展功能的控制。
1.基本流水灯显示电路
A和B两个端口不能同时赋值,从而在实验中我们可以用BX进行需要赋值的数据的存储,因为BX可以分从BH.BL两部分进行独立的操作,在本次实验中我们用BH对A口进行赋值,用BL对B口进行赋值,通过延时一段时间再对BH,BL进行移位和输出,实现了流水灯的效果。
2.正反方向选择
把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,低电平的时候则进行右移。同时B口与A口相反。
3.快慢速度控制
把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快。低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。
三. 硬件原理图设计
1、该模块的WR、RD分别连到PC总线接口模块的IOWR、IORD。
2、该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC总线接口模块的数据(D0~D7)、地址线(A0~A7)。
3、8255模块选通线CS连到PC总线接口模块的IOY3。
4、8255的PA0~PA7连到发光二极管的L1~L8;8255的PB0~PB7连到发光二极管的L9~L16。5、8255的PC0、PC1分别连接在开关K0、K1
四. 软件流程框图及程序清单(汇编语言源程序必须加注释说明)
源程序编程:
MY8255_A EQU 09860H
MY8255_B EQU 09861H
MY8255_C EQU 09862H
MY8255_MODE EQU 09863H
DATA SEGMENT
NUM DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,MY8255_MODE
MOV AL ;PC4-pc7为输出,pc0-pc3为输入
;设置A口、B口方式0输出,C口低四位方式0输入
OUT DX
MOV CX,7FFFH
MOV BL,0FEH
MOV BH,7FH
JMP WOR
A1: ROL BL,1
ROR BH,1 ;对BH、BL作出相应的移位
JMP A0
B1: ROR BL,1
ROL BH,1
JMP A0
C1:
CALL PLAY1
ROL CX,1
JMP A10
WOR: MOV DX,MY8255_C
IN AL,DX ;将C口的数据输入
CMP AL,02H ;查看PC0口是否有数据输入,改变流水灯的方向
JE A1
CMP AL,03H
JE A1 ;结果为0,则跳转
CMP AL,04H
JE B1
CMP AL,05H
JE B1
CMP AL,06H
JE C1
CMP AL,07H
JE C1
CALL PLAY1
ROR CX,1
JMP A10
A0: CALL PLAY
A10: J
原创力文档

文档评论(0)