以下内容源自微机原理实验指导书
仅供学习交流使用
请您阅读文章声明,默认同意该声明
1、掌握8255A并行接1芯片的基本结构及工作原理。
2、掌握8255A工作方式0的特点及其使用方法。
3、掌握8255A的端口A或端口B工作于方式1时的特点及其使用方法;掌握方式1输入或输出时端口C用作联络信号的引脚的定义及功能。
4、掌据程序固化及脱机运行程序的方法。
1、基本输入输出实验。编写程序,使8255A的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。
2、流水灯显示实验。编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。
3、(选做)方式1输入输出实验。编写程序,使8255工作在方式1控制下的A口输入,B口输出。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的。即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0–基本输入/输出方式、 方式1-选通输入出方式、方式2-双向选通工作方式。8255的内部结构及引脚如图3-2-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2-2所示。


8255实验单元电路图如图3-2-3所示。

1、基本输入输出实验
本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下,其中第(4)步到第(6)步固化功能可选作:
(1)实验接线图如图3-2-4所示,按图连接实验线路图。
(2)编写实验程序,经编译、连接无误后装入系统。
------------理论知识-----------
1、确认端口地址
IO基地址0600H
XR1---A0
XR2---A1
地址范围600H~603H
端口A地址:0600H
端口B地址:0602H
端口C地址:0604H
控制寄存器端口地址:0606H
2、确定工作方式
端口A工作于方式0,基本输出方式
端口B工作于方式0,基本输入方式
3、确定控制字
1 00 0 x 0 1 x
4、初始化程序
A EQU 0600H
B EQU 0602H
C EQU 0604H
S EQU 0606H
CODE SEGMENT
ASSUME CS:CODE
START:
;设置端口A,方式0输出
;设置端口B,方式0输入
MOV AL,10000010B
MOV DX,S ;送控制字
OUT DX,AL
NEXT:
;从B口读入开关状态
;将从B口读入的开关状态
;送给端口A输出
MOV DX,B ;读B口发出的起始数据,B口输入
IN AL,DX
MOV DX,A ;写A口发出的起始数据,A口输出
OUT DX,AL
;有键按下否
MOV AH,1
INT 16H
JNZ QUIT
JMP NEXT
QUIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
------------理论知识-----------
------------具体实践-----------
IOY0 EQU 0600H ;8255的CS引脚连接IOY0对应的端口始地址
MY8255_A EQU IOY0+00H*2 ; ;8255的端口A地址
MY8255_B EQU IOY0+01H*2 ;8255的端口B地址
MY8255_C EQU IOY0+02H*2 ;8255的端口C地址
MY8255_MODE EQU IOY0+03H*2 ;8255的控制寄存器地址
CODE SEGMENT ;定义代码段
ASSUME CS:CODE
START: MOV DX,MY8255_MODE ;8255控制端口地址为3006H
MOV AL,82H ;设置8255方式控制字,A、B口工作方式0,A口输出,B口输入
OUT DX,AL
LOOP1: MOV DX,MY8255_B ;读B口发出的起始数据,B口输入
IN AL,DX
MOV DX,MY8255_A ;写A口发出的起始数据,A口输出
OUT DX,AL
MOV AH,1 ;判断是否有按键按下
INT 16H
JZ LOOP1 ;无按键则跳回继续循环,有则退出
QUIT: MOV AX,4C00H ;结束程序退出
INT 21H
CODE ENDS
END START
------------具体实践-----------
(3)运行程序,改变拨动开始后观察LED显示,验证程序功能
(4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中
(5)将386EX单板机系统的短路跳线JDBG每控到RUN端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开由测,看固化的段序是否运行,验证程序功能
(6)实验完毕后,请将短路跳线DRG的短路块短接到DBG端,以方便下次联机实验。
小提示:I386E CPU单板机支持联机调试模式和脱机独立运行模式。两种模式的切换是通过I386EX CPU单板机单元的右下角下层基板处的短路跳线JDBG来实现,短路块短接到DBG当,CPU与软件处于联机调试模式,该模式下,通过软件界南可对CPU进行下载程序,单步、断点、连续运行等调试,通过固化功能菜单,可将加载到CPU单板机存储器中的固化程序到FLASH存储器中。固化完成后,将短路块短接到RUN档,并复位或另加电,CPU将启动FLASH存储器中的程序进行独立运行,此时I386EX CPU 单板机就工作在脱机独市运行模式了

2、流水灯显示实验
使8255的A口和B口均为输出,数据灯D7 ~ D0由左向右,每次仅亮一个灯,循环显示,D15~ D8与 D7~D0正好相反,由右向左,每次仅点亮一个灯,循环显示。实验接线图如图4.3.5所示。实验步骤如下所述:
(1)按图3-2-5连接实验线路图。
(2)编写实验程序,经编译、链接无误后装入系统。
------------理论知识-----------
1、确认端口地址
IO基地址0600H
XR1---A0
XR2---A1
地址范围600H~603H
端口A地址:0600H
端口B地址:0602H
端口C地址:0604H
控制寄存器端口地址:0606H
2、确定工作方式
端口A工作于方式0,基本输出方式
端口B工作于方式0,基本输出方式
3、确定控制字
1 00 0 x 0 0 x
4、初始化程序
A EQU 0600H
B EQU 0602H
C EQU 0604H
S EQU 0606H
CODE SEGMENT
ASSUME CS:CODE
START:
;设置端口A、B方式0输出
MOV AL,10000000B
MOV DX,S ;送控制字
OUT DX,AL
INIT:
MOV BL,7FH
MOV CL,0FEH
;A口输入数值1(7FH)
;B口输入数值2(FEH)
NEXT:
MOV DX,A
MOV AL,BL
OUT DX,AL
MOV DX,B
MOV AL,CL
OUT DX,AL
;有键按下否
MOV AH,1
INT 16H
JNZ QUIT
;数值1右移,数值2左移
ROR BL,1
ROR CL,1
JZ INIT
JNZ NEXT
QUIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
------------理论知识-----------
------------具体实践-----------
8255做流水灯实验
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,606H
MOV AL,80H;A口选择00方式,B口0方式
OUT DX,AL;送控制字
MOV CL,80H ;赋初值
MOV BL,1H ;赋初值
AA1:
MOV DX,600H
MOV AL,CL
OUT DX,AL
MOV DX,602H
MOV AL,BL
OUT DX,AL
CALL DELAY ;延时作用
ROL BL,1H ;循环左移一位
ROR CL,1H ;循环右移一位
JMP AA1
DELAY:
PUSH CX
MOV CX,0FFFFH
AA2:PUSH AX
POP AX
LOOP AA2
POP CX
RET
CODE ENDS
END START
------------具体实践-----------
(3)运行程序,观察LED灯的显示,验证程序功能。
(4)自己改变流水灯的方式,编写程序。
(5)固化程序并脱机运行(可选做)。

3、方式1输入输出实验(可选做)
本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式1并作为输入,则端口C的PC2成为选通信号输入端STBB,PC0成为中断请求信号输出端INTRB,当B口数据就绪后,通过发STBB信号来请求CPU读取端口B数据并送端口A输出显示。用一组开关信号接入端口B,端口A输出线接至一组数据灯上。具体实验步骤如下:

(1)按图3-2-6连接实验线路图。
(2)编写实验程序,经编译、链接无误后装入系统。
------------理论知识-----------
1、确认端口地址
IO基地址0600H
XR1---A0
XR2---A1
地址范围600H~603H
端口A地址:0600H
端口B地址:0602H
端口C地址:0604H
控制寄存器端口地址:0606H
2、确定工作方式
端口A 方式0 输出
端口B 方式1 输入
3、确定控制字
1 00 0 x 1 1 1
4、初始化程序
A EQU 0600H
B EQU 0602H
C EQU 0604H
S EQU 0606H
CODE SEGMENT
ASSUME CS:CODE
START:
;设置端口A,方式0输出
;设置端口B,方式1输入
MOV AL,10000111B
MOV DX,S ;送控制字
OUT DX,AL
MOV DX,B
IN AL,DX
MOV DX,A
OUT DX,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
------------理论知识-----------
(3)运行程序,然后改变拨动开关,准备好后,按动KK1,同时观察数据灯显示,应与开关组信号一致
1、基本输入输出实验程序流程图如图3-2-5所示;
2、流水灯显示实验程序程序流程图如图3-2-6所示:

请您阅读文章声明,默认同意该声明
打赏通道
