- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术【实验报告】
8255并行接口应用实验报告
课程名称 微机原理 实验题目 8255并行接口实验
实验日期 2011-12-4 任课教师/指导教师: 张俊霞
【实验目的:】 1.掌握8255的工作方式和应用编程。
2.掌握8255的典型应用电路接法。
【实验设备及器件:】PC机一台,TD—PIT实验仪器一套。
【实验内容及步骤:】
1.基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。
2.流水线指示灯的显示实验。编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。
3.键盘及显示实验。按照实验线路编写实验程序,使按下不同的按键后数码管显示相应的数字。
【实验原理图及程序流程图】
1、基本输入/输出实验:
本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入/输出功能。8255基本输入/输出实验参考接线图如图所示。
流程图:
程序代码及注释:
CS0 EQU 3000H ;片选CS0 对应的端口始地址
MY8255_A EQU CS0+00H ;8255 的A 口地址
MY8255_B EQU CS0+01H ;8255 的B 口地址
MY8255_C EQU CS0+02H ;8255 的C 口地址
MY8255_MODE EQU CS0+03H ;8255 的控制寄存器地址
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,MY8255_MODE ;初始化8255 工作方式
MOV AL,82H ;工作方式0,A 口输出,B 口输入
OUT DX,AL
LOOP1: MOV DX,MY8255_B ;读B 口
IN AL,DX
MOV DX,MY8255_A ;写A 口
OUT DX,AL
MOV AH,1 ;判断是否有按键按下
INT 16H
JZ LOOP1 ;无按键则跳回继续循环,有则退出
QUIT: MOV AX,4C00H ;结束程序退出
INT 21H
CODE ENDS
END START
实验步骤
(1).设计实验线路图,将PCI总线扩展卡上总线与仿真ISA总线进行连接。
(2).编写程序。
(3).打开实验箱电源,运行程序,拨动开关组,观察数据灯的显示。
实验现象:
拨动开关,每个开关对应的数据灯随着开关的开与关而亮灭。
2、流水线指示灯显示实验:
首先分别将A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,在送到端口上,这样循环下去,从而实现流水灯的显示。8255流水灯显示实验参考接线图如图所示。
流程图:
程序代码及注释:
CS0 EQU 3000H ;片选CS0 对应的端口始地址
MY8255_A EQU CS0+00H ;8255 的A 口地址
MY8255_B EQU CS0+01H ;8255 的B 口地址
MY8255_C EQU CS0+02H ;8255 的C 口地址
MY8255_MODE EQU CS0+03H ;8255 的控制寄存器地址
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
DATA SEGMENT
LA DB ? ;定义数据变量
LB DB ?
DATA 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 DALLY
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 ;无按键则跳回继
文档评论(0)