实验八 8255并口控制器应用实验
一、实验目的
1. 掌握 8255 的工作方式及应用编程。 2. 掌握 8255 典型应用电路的接法。
二、实验内容
1. 基本输入输出实验。编写程序,使 8255 的 A 口为输出, B 口为输入,
完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 2.流水灯显示实验。编写程序,使 8255 的 A 口和 B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。
三、实验所用仪表及设备
1. PC机一台。
2. TD-PIT++实验系统一套。
四、实验原理与步骤
1.8255简介
并行接口是以字节或字为单位与 I/O 设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递 8 位、 16 位、 32 位等。Intel公司的可编程通用并行接口芯片8255具有 A 、B 、C 三个并行接口。提供以下三种工作方式:
? 方式 0--基本输入/出方式 ? 方式1--选通输入/出方式 ? 方式2--双向选通方式。
8255的引脚如图3-1 所示,8255的工作方式控制字和 C 口按位置位/复位控制字格式如表3-1(a)和(b) 所示。
第 36 页
图3-1 8255的引脚图
第 37 页
表3-1(a)工作方式控制字 D6 D5 D4 D3 D2 00:端口A方式0 0:端口0:端口C高0:端口B01:端口A方式1 A输出 四位输出 方式0 1X:端口A方式2 1:端口1:端口C高1:端口BA输入 四位输出 方式1 D7 1 D1 0:端口B输出 1:端口B输入 D0 0:端口C低四位输出 1:端口C低四位输出 D7 0 D6 X D5 X 表3-1(b)C口按位置位/复位控制字 D4 D3 D2 D1 D0 X PC0:000 PC1:001 PC2:010 0:复位 PC3:011 PC4:100 PC5:101 1:置位 PC6:110 PC7:111 2.实验步骤 (1)基本输入输出实验 实验说明:
本实验使 8255的端口A作为输出口工作在方式0,端口 B 作为输入口工作在方式0。用一组开关信号接入端口B,端口A 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。
图3-2 8255基本输入输出实验参考接线图
实验步骤如下:
①实验接线图如图3-2所示,按图连接实验线路图。
②运行Tdpit 集成操作软件,根据实验内容,调用程序代码(T8255-1.ASM),填写程序代码中的空缺处,编译、链接。
③运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 实验代码如下:
IOY0 EQU 3000H ;片选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
第 38 页
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
(代码结束) (2)流水灯显示实验 实验说明:
使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。参考实验程序流程如图3-3所示。
开始初始化8255控制寄存器写A口发出的起始数据80H写B口发出的起始数据01H将A口数据右移再写入A口将B口数据左移再写入B口有按键按下?是返回到DOS否结束
图3-3流水灯显示参考程序流程图
实验步骤如下:
①实验接线图如图3-4所示,按图连接实验线路图。
第 39 页
②运行Tdpit 集成操作软件,根据实验内容,调用程序代码(T8255-2.ASM),填写程序代码中的空缺处,编译、链接。
③运行程序,观察LED 灯的显示,验证程序功能。 ④自己设计流水灯的流动模式,编写程序并实现。
第 40 页