微机实验报告6 并行接口实验

您所在的位置:网站首页 电路程序编程实验报告 微机实验报告6 并行接口实验

微机实验报告6 并行接口实验

2024-07-12 20:49| 来源: 网络整理| 查看: 265

桂 林 理 工 大 学

实  验  报  告

班级  软件工程16-1班  学号  3162052051116  姓名  张识虔  同组实验者              

实验名称             并行接口实验                             日期 2018年 11 月1 日

一、实验目的:

1. 学习并掌握8255的工作方式及其应用。

 2. 掌握8255典型应用电路的接法。

二、实验环境:

PC机一台,TD-PITD实验装置一套。

三、实验内容:

 

1. 基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成 拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改 变。

 

2. 流水灯显示实验。编写程序,使8255的A口和B口均为输出,数据灯D7~ D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向 左,每次仅点亮一个灯,循环显示。

 

3.1.4 实验原理

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。 CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。 8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、 C三个并行接口,用+5V单电源供电。

8255有三种基本工作方式:方式0—基本输入/输出方式、方式1—选通输入/ 输出方式、方式2—双向传输方式。端口A可工作在3种工作方式中的任何一种, 端口B只能工作在方式0和方式1;端口C常常配合端口A和端口B工作,为这2个 端口的输入/输出提供控制信号和状态信号。

8255连接外设时,通常不需要附加外部电路。8255实验单元电路图如图3-1-1 所示,8255的内部结构及引脚图如图3-1-2所示,8255工作方式控制字和C口按位 置位/复位控制字格式如图3-1-3所示。

图 3-1-1  8255 实验单元电路图

 

图 3-1-2  8255 内部结构及外部引脚图

 

图 3-1-3  8255 控制字格式

 

3.1.5 实验步骤

 

1. 基本输入输出实验 本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为 输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通

过对8255芯片编程来实现输入输出功能。具体实验步骤如下述:

(1) 实验接线图如图3-1-4所示,按图连接实验线路图。

(2) 根据实验内容,编写实验程序,编译、链接。

(3) 运行程序,改变拨动开关,同时观察LED灯的显示,验证程序功能。

 

图 3-1-4  8255 基本输入输出实验接线图

实验程序清单(T8255-1.ASM)

IOY0 EQU 0C000H               ;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

2. 流水灯显示实验 使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯, 循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显 示。实验接线图如图3-1-5所示。实验步骤如下所述:

(1) 实验接线图如图3-1-5所示,按图连接实验线路图。

(2) 根据实验内容,编写实验程序,编译、链接。

(3) 运行程序,观察LED灯的显示,验证程序功能。

(4) 自己改变流水灯的方式,编写程序。

 

图 3-1-5  8255 流水灯实验接线图

实验程序清单(T8255-2.ASM)

IOY0 EQU 0C000H               ;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的控制寄存器地址 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控制端口地址为3006H     MOV AL,80H    ;设置8255方式控制字,A、B口工作方式0,A、B口输出     OUT DX,AL     MOV DX,MY8255_A           ;写A口发出的起始数据      MOV AL,80H     OUT DX,AL                   ;点亮数据灯D7     MOV LA,AL     MOV DX,MY8255_B           ;写B口发出的起始数据     MOV AL,01H     OUT DX,AL                   ;点亮数据灯D8     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                    ;无按键则跳回继续循环,有则退出 DALLY PROC NEAR               ;软件延时子程序     PUSH CX     PUSH AX     MOV CX,0FFFH D1: MOV AX,0FFFFH D2: DEC AX     JNZ D2     LOOP D1     POP AX     POP CX     RET DALLY ENDP CODE ENDS     END START

3. 控制8段数码管显示实验

由8255的A口输出控制一个8段LED数码管,由B口PB3~PB0接入4位开关, 编写一段程序,用数码管显示开关状态。 从题目可以得到:A口作为方式0输出,B口低端用作输入,C口没有使用, 可以做为输出。则方式控制字为: 10000 010 B。 开关状态:4位——16种,用LED数码管显示:0~9,A~F十六进制数显示。

 实验接线图如图3-1-6所示。实验步骤如下所述:

 (1) 实验接线图如图3-1-6所示,按图连接实验线路图。

(2) 根据实验内容,编写实验程序,编译、链接。

(3) 运行程序,观察LED数码管的显示,验证程序功能。

 

图 3-1-6  8255 LED 数码管显示实验接线图

 

实验程序清单(T8255-3.ASM)

IOY0 EQU 0C000H              ;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的控制寄存器地址 DATA SEGMENT                  ;定义LED段码表 TAB_LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX,DATA MOV DS,AX MOV AL,82H          ;1000 0010  A端口方式0输出,B方式0输入 MOV DX,MY8255_MODE OUT DX,AL LOOP1: MOV DX,MY8255_B IN AL,DX                        ;读入开关状态 AND AL,0FH                     ;屏蔽高四位 MOV BX,OFFSET TAB_LED       ;取LED段码表首地址 XLAT                           ;查出AL对应的LED段控制码 MOV DX,MY8255_A              ;8255的A端口是LED段码输出口 OUT DX,AL                     ;输出段控制信号 CALL DALLY JZ LOOP1 DALLY PROC NEAR                    ;软件延时子程序   MOV CX,0070H D1: MOV AX,000FH D2: DEC AX   JNZ D2   LOOP D1   RET DALLY ENDP CODE ENDS   END START

 

四、心得体会:

 

 

这个连接电路实验还是比较简单的  一路畅通无阻  只是流水灯实验截图 只能是图片 如果是视频 或者GIF图片 就可以明确的看出实验结果

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3