当前位置:首页 > 微机实验-流水灯8255
微机实验
电子信息工程系实验报告
课程名称:微机原理与接口技术
实验项目名称:8255并行接口流水灯实验 实验时间:2009.12 班级: 姓名: 学号:
成 绩: 指导教师(签名): 一、实 验 目 的:
(1)掌握8255的工作方式及应用编程。 (2)掌握8255的典型应用电路接法。 二、实 验 设备:
PC机一台,实验箱及外部线路一套。 三、实验内容:
编写程序,使8255的A口作为LED灯的输出,实现8位数据灯的相对循环显示。 (思考:用B口的一位作为输入,控制LED灯的循环方向。) 四、实 验 原理:
INTEL8255是一种通用的可编程并行I/O接口芯片,是专为INTEL公司的微处理器设计的,也可用于其它系列的微型机系统中。利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。 8255能与许多外部设备连接,例如:键盘、显示器、打印机等。 1、8255芯片特性
(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.
(2)具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式。
2、8255引脚功能
RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.
RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。 D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
第一页
微机实验
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。' 当A0=0,A1=0时,PA口被选择; 当A0=0,A1=1时,PB口被选择; 当A0=1,A1=0时,PC口被选择;
当A0=1.A1=1时,控制寄存器被选择; 四、实验步骤:
程序框图: 程序实现: DATA SEGMENT MY8255_A EQU 2A0H ;8255的A口地址 MY8255_B EQU 2A1H ;8255的B口地址 MY8255_C EQU 2A2H ;8255的C口地址 MY8255_MODE EQU 2A3H ;8255的控制寄存器地 址 MODE_A DB 10010000B ;控制字 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AL,MODE_A MOV DX,MY8255_MODE OUT DX,AL MOV AL, 00000001B CONT: MOV DX,MY8255_A OUT DX, AL CALL DELAY ROL AL,1 JMP CONT (1)由实验要求画出程序流程框图。
MOV AH,41H (2)按照程序流程框图编写本次实验的汇
INT 21H 编程序。
DELAY PROC 8255端口地址参照实验箱上所分配的
PUSH BX 地址。
PUSH CX (3)参照实验指导书连接实验箱电路,包括
MOV BL,10 数据总线,片选线,地址线,电源线以及
NEXT: MOV CX,2801 A口对应的8个LED灯。
WAIT1: LOOP WAIT1 (4)主机并口线与电脑并口连接,打开实验
DEC BL 软件等待联机。
JNZ NEXT (5)联机成功后,编译程序,然后连接,加
POP CX 载。将可执行文件加载到主机。
POP BX (6)程序运行正常的话,可看见8个LED灯
RET 能够顺序点亮。
DELAY ENDP
CODE ENDS
第二页
微机实验
五、实 验 心 得:
1、掌握对8255芯片的初始化方法,知道如何计算控制字。
2、通过流水灯实验,初步了解8255并口芯片的应用,对数字电路设计有了初步了解。 3、关于实验程序的改进,增加B口控制流水灯的流动方向。
DATA SEGMENT MY8255_A EQU 2A0H ;8255的A口地址 MY8255_B EQU 2A1H ;8255的B口地址 MY8255_C EQU 2A2H ;8255的C口地址 MY8255_MODE EQU 2A3H ;8255的控制寄存器地址 MODE_A DB 10010000B ;控制字 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AL,MODE_A MOV DX,MY8255_MODE OUT DX,AL MOV BL, 00000001B CONT: MOV DX,MY8255_A MOV AL,BL OUT DX, AL ;写A口 CALL DELAY MOV DX,MY8255_B IN AL,DX ;读B口 TEST AL,01H JE NROL ROR BL,1 NROL: ROL BL,1 JMP CONT MOV AH,41H INT 21H DELAY PROC PUSH BX PUSH CX MOV BL,10 NEXT: MOV CX,2801 WAIT1: LOOP WAIT1 DEC BL JNZ NEXT POP CX POP BX RET DELAY ENDP CODE ENDS END START 第三页
共分享92篇相关文档