8255并行接口实验

时间:2024.4.20

《接口技术》实验报告


实验二8255并行口接口实验

实验目的

利用8255A实现并行接口实验。

实验内容

1:掌握8255A的编程原理。

2:熟悉计算机并行接口的使用方法。

实验步骤

1连线:8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。B口的

PB0-PB7依次接发光二极管Ll-L8。从CS0-CS7中任选一个与8255A

的片选信号相连,其他线路均已接好。

2编写程序单步运行并调试程序。

        3调试通过后全速运行并观察实验结果。

实验原理图


 

程序流程图

             

源程序清单

ASSUME  CS:CODE

CODE       SEGMENT  PUBLIC

                     ORG    100H

START:   MOV      DX,04A6H

              MOV   AX,90H

              OUT    DX,AX

START1:  MOV      DX,04A0H

          IN  AX ,DX

              MOV   DX,04A2H

              OUT    DX,AX

              JMP     START1

CODE     ENDS

              END       START

运行结果及分析

当读到某个开关处于高电平时,对应的发光二极管就会亮

修改1

    A口和B口的工作方式互换。B口输入,A口输出。这样的话程序改成:

START:   MOV      DX,04A6H

                     MOV   AX,82H

                     OUT    DX,AX

START1:  MOV      DX,04A2H

                IN  AX ,DX

                     MOV   DX,04A0H

                     OUT    DX,AX

                     JMP     START1

CODE     ENDS

                     END       START

  运行结果:当读到某个开关处于高电平时,对应的发光二极管就会亮。

修改2

    B口输入,C口输出,这样的话程序改成:

START:   MOV      DX,04A6H

                     MOV   AX,82H

                     OUT    DX,AX

START1:  MOV      DX,04A2H

                IN  AX ,DX

                     MOV   DX,04A4H

                     OUT    DX,AX

                     JMP     START1

CODE     ENDS

                     END       START

运行结果:当读到某个开关处于高电平时,对应的发光二极管就会亮。

 


第二篇:实验二_8255并行接口应用实验


实验二 8255并行接口应用实验

一.实验目的

1. 掌握8255工作方式的编程设计。2. 8255与外部设备进行连接的应用。

二.实验设备与材料:

TDN86/88教学实验系统一台,扁平插线若干。

三.实验原理: 

INTEL8255是一种通用的可编程并行I/O接口芯片,是专为INTEL公司的微处理器设计的,也可用于其它系列的微型机系统中。利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。 8255能与许多外部设备连接,例如:键盘、显示器、打印机等。

(a)工作方式控制字                   (b)C口按位置位/复位控制字

四.实验内容及步骤

18255的一般输入输、出方式

本系统中的8255芯片8255的数据线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,其线路如图1所示。

图1 8255接口实验中端口地址如表1所示

表1

接口实验单元中的开关和发光二极管电路

按图所示实验线路,8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B, 端口A输出线接至一组发光二极管上,通过对8255编程来实现输入输出功能。

实验步骤

l     

图2 8255输入输出方式实验接线图

注:圆圈处是要求接的连线。

(1)按图2接线。用扁平线(8头)分别插在8255的A口和发光二极管的插针上。用扁平线 分别插在8255的B口和拨动开关的插针上。

(2)输入源程序,汇编、连接后装入系统。


l       参考程序1 

STACK SEGMENT STACK

   DW 64 DUP(?)

STACK ENDS

CODE SEGMENT

   ASSUME CS:CODE

START: MOV AL,82H ;设8255方式字10000010 A位输出,B口位输入。

   OUT 63H,AL

A1:   IN AL,61H

   OUT 60H,AL

      JMP A1

CODE ENDS  

     END START


 (3)执行程序后,拨动开关组K0-K7,观察发光二极管LED0-LED7变化,它应是与开关组K0-K7的值是一一对应的变化。

2.8255的选通输入、输出方式

按图3 所示实验线路,8255端口A工作在方式0并作为输出口,端口B工作在方式1并作为输入口。从端口C的PC2成为选通信号输入, 端STBb,PC0成为中断请求信号输出端INTRb。当B口数据就绪后,通过发口STBb信号来请求CPU读取端口B数据并送A口输出显示。

实验步骤

l       图3 8255选通方式实验接线图

(KK1-初态为“1”)

注:圆圈处是要求接的连线。

(1)    按图3接线。用扁平线(8头)分别插在8255的A口和发光二极管的插针上。用扁平线 分别插在8255的B口和拨动开关的插针上。8255的PC0插针接8259的IRQ7插针上, 8255的PC1插针接KK1-插针上。

(2)    输入源程序,汇编、连接后装入系统。


l       参考程序2

STACK SEGMENT STACK

   DW 64 DUP(?)

STACK ENDS

CODE SEGMENT

   ASSUME CS:CODE

START: CLI

   MOV AL,0A6H

   OUT  63H,AL

   MOV AL,05H

   OUT 63H,AL

        PUSH DS

   MOV AX,0000H

   MOV DS,AX

   MOV AX,OFFSET IRQ7 

   ADD AX,2000H

   MOV SI,003CH

   MOV [SI],AX

   MOV AX,0000H

   MOV SI,003EH

   MOV [SI],AX

   POP DS

   IN AL,21H ;读 IMR

   AND AL,7FH ;开IRQ7中断

   OUT 21H,AL

A1:     STI

        HLT ;等待中断请求信号

   JMP A1

IRQ7:  IN AL,61H ;读开关信息

        OUT 60H,AL ;输出开关信息

   MOV AL,20H

   OUT 20H,AL

   IRET

CODE ENDS

     END START


(3)    执行程序后,拨动开关组K0-K7(即设定一输入值),按一下拨动开关KK1, 观察发光二极管LED0-LED7变化,它应是与开关组K0-K7D的设定值一一对应 。

3.运用8255设计的键盘及显示接口

   图中用并行接口8255A作为微机与键盘间的接口,采用逐行扫描法识别键。将键盘中的列与PA0—PA3相连,A口为输出;将行与C口的PC0—PC1相连,C口为输入口; PB0—PB7与七段代码显示器连接B口为输出。

   程序执行过程如下: 识别是否有键按下,方法是使PA0一PA3输出全0,读C口(行值) 中只要有一位为0,就说明有键按下,  在检测到有键按下后,延迟一段时间 ,根据找到的键号,转去执行显示七段代码显示器的程序,这时七段代码显示器就显示与该键相同的数值。

   实验步骤

l       图4 8255接口的应用键盘及显示接线图

注:圆圈处是要求接的连线。

(1)按图4接线。

(2)输入源程序,汇编、连接后装入系统。

(3)执行程序后, 按一下键盘,7段代码就会显示相应的数字。


l       参考程序3

STACK SEGMENT STACK

      DW 64 DUP(?)

STACK ENDS

DATA  SEGMENT

TABLE     DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DATA  ENDS

CODE   SEGMENT

      ASSUME CS:CODE,DS:DATA

START:  MOV AX,DATA

        MOV DS,AX

        MOV SI,3000H

        MOV AL,00H

        MOV [SI],AL ;清空存放数据的缓冲区

        MOV [SI+1],AL

        MOV [SI+2],AL

        MOV [SI+3],AL

        MOV DI,3003H

     MOV AL,81H  ;8255方式字定义 选择0方式,A口为输出;

;B口为输出;C口为输入

        OUT 63H,AL

BEGIN:  CALL DIS   ;显示七段代码管数据的子程序

       CALL CLEAR   ;七段代码管清0子程序

       CALL CCSCAN  ;检测是否有键按下子程序

       JNZ INK1     ;

       JMP BEGIN

INK1:   CALL DIS

   CALL DALLY ;子程序为延时,消抖动

   CALL DALLY

   CALL  CLEAR

   CALL CCSCAN

   JNZ INK2

   JMP BEGIN

INK2:   MOV CH,0FEH

    MOV CL,00H

COLUM:  MOV AL,CH

    OUT 60H,AL

    IN AL,62H

    TEST AL,01H

    JNZ LONE

    MOV AL,00H

    JMP KCODE

LONE:  TEST AL,02H

   JNZ NEXT

   MOV AL,04H

KCODE: ADD AL,CL

   CALL PUTBUF

   PUSH AX

KON:   CALL DIS

   CALL CLEAR

   CALL CCSCAN

   JNZ KON

   POP AX

NEXT:  INC CL

   MOV AL,CH

   TEST AL,08H

   JZ KERR

   ROL AL,1

   MOV CH,AL

   JMP COLUM

KERR:  JMP BEGIN

CCSCAN: MOV AL,00H

    OUT 60H,AL

    IN AL,62H

    NOT AL

    AND AL,03H

    RET

CLEAR:  MOV AL,00H

    OUT 61H,AL

    RET

DIS:    PUSH AX

   MOV SI,3000H

   MOV DL,0F7H

   MOV AL,DL

AGAIN: OUT 60H,AL

   MOV AL,[SI]

   MOV BX,OFFSET TABLE ;取七段代码首址

   AND AX,00FFH

   ADD BX,AX

   MOV AL,[BX]

   OUT 61H,AL

   CALL DALLY

   INC SI

   MOV AL,DL

   TEST AL,01H

   JZ OUT

   ROR AL,1

   MOV DL,AL

   JMP AGAIN

OUT:    POP AX

   RET

DALLY: PUSH CX

   MOV CX,0010H

T1:    MOV AX,0010H

T2:     DEC AX

   JNZ T2

   LOOP T1

   POP CX

   RET

PUTBUF: MOV SI,DI

    MOV [SI],AL

    DEC DI

   CMP DI,2FFFH

   JNZ GOBACK

   MOV DI,3003H

GOBACK: RET

CODE ENDS

          END START


四 思考题:

1.对照实验1的内容输出该为七段代码显示。编写一段程序,将输入开关K0―― K3设计成 一位十六进制数,输出的值在七段代码上显示出来,即开关K0―― K3为0110时,七段代码上显示“6”。

2.编写一个8255接口的程序。按照实验内容2,8255选通方式触发一次KK1-开关将十六进制1-0FFH分时显示在8个发光二极管上。例:00000001,00000010,00000011,―――11111110,11111111

更多相关推荐:
8255可编程并行接口实验实验报告

微机原理实验报告实验名称8255可编程并行接口实验一实验目的1掌握8255芯片结构及工作方式2熟悉8255并行口扩展的编程二实验设备1Lab6000p实验教学系统2IBMPC机三系统中的8255模块Lab600...

8255并行口实验实验报告

8255一实验目的并行口实验实验报告作者掌握8255A的编程原理二实验设备CPU挂箱8086CPU模块三实验内容8255A的A口作为输入口与逻辑电平开关相连8255A的B口作为输出口与发光二极管相连编写程序使得...

微机原理与接口技术课程设计实验报告4-8255并行接口应用实验报告

8255并行接口应用实验报告实验目的1掌握8255的工作方式和应用编程2掌握8255的典型应用电路接法实验设备及器件PC机一台TDPIT实验仪器一套实验内容及步骤1基本输入输出实验编写程序使8255的A口为输出...

微机原理实验报告(8255并口实验)

深圳大学实验报告课程名称学院信息工程学院实验时间实验报告提交时间教务处制

实验三8255并行接口实验

实验三8255并行接口实验一实验目的1学习并掌握8255的工作方式及其应用2掌握8255典型应用电路的接法3掌握程序固化及脱机运行程序的方法二实验设备Pc机一台TDPITE实验装置一套三实验内容1基本输入输出实...

8255并口实验实验报告

实验报告实验名称并行接口实验8255姓名学号班级教师日期一实验内容与要求11实验内容8255方式0实验一从8255端口C输入数据再从端口A输出即TPCUSB平台按逻辑电平开关K0K7通过编程使端口C接收然后再通...

汇编语言 8255并行接口实验

实验78255并行接口实验实验目的1学习8255芯片的使用方法2学习模拟交通灯控制的方法实验设备PC机一台THTWK2实验箱一台实验要求1编写程序以8255的C口作为输出口控制4个双色LED灯可发红绿黄光模拟十...

东北大学_微机原理实验报告及答案_8255并行接口

微机原理实验报告专业班级姓名学号实验题目日期

微机接口实验报告-8255并口控制器实验 (1)-基本输入输出实验

广西大学实验报告姓名院专业班年月日实验内容8255并口控制器实验1基本输入输出实验指导老师实验目的掌握8255的工作方式及应用编程掌握8255的典型应用电路接法试验设备PC微机一台TDPIT实验系统一套实验内容...

实验二可编程并行接口(8255方式0)

实验二一实验题目可编程并行接口8255方式0二实验目的掌握8255方式0的工作原理及使用方法三实验内容1按下图连线2编程从8255C口输入数据再从A口输出四程序流程图五源程序ioportio8255aio825...

实验四 8255并行接口实验

实验四8255控制实验一实验目的与要求1了解8255芯片的工作原理熟悉其初始化编程方法以及输入输出程序设计技巧学会使用8255并行接口芯片实现各种控制功能2熟悉8255内部结构和与8088的接口逻辑熟悉8255...

8255并行接口

8255并行接口实验报告专业班级测控技术与仪器1302班姓名学号实验题目8255A实验日期

8255并行接口实验报告(31篇)