8255并行口实验实验报告

   8255并行口实验实验报告

作者:

一、实验目的

掌握8255A的编程原理。

二、实验设备

   CPU挂箱、8086CPU模块。

三、实验内容

    8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。

四、实验原理介绍

本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。

五、实验步骤

1、实验接线

CS0«CS8255;  PA0~PA7« 平推开关的输出K1~K8;  PB0~PB7«发光二极管的输入LED1~LED8。

    2、编程并全速或单步运行。

    3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L时,对应的发光二极管点亮,置于H时熄灭。

六、实验提示

实验也是如此。实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。

七、实验结果

程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。

八、程序框图(实验程序名:t8255.asm)

                       

九、程序源代码清单:


assume cs:code
          code segment public
          org 100h
start:        mov     dx,04a6h    ;控制寄存器地址
          mov   ax,90h      ;设置为A口输入,B口输出
          out   dx,ax      
 
mov al,0feh
start1:mov     dx,04a2h  芯片的入口地址

      out dx,al
mov bl,al
mov dx ,04a0h  
in al,dx
test ax,01h
jz strat2
mov al ,bl
rol al,1    流水灯循环左移
mov bl,al
mov cx,3000h 设置cx为灯闪烁时间对应的循环次数
add:
loop add
jmp start1  无条件跳转至start1
strat2:mov al,bl
mov dx,04a2h
out dx,al
ror al,1    流水灯循环左移
mov bl, al
mov cx,3000h
add1:
loop add
  jmp start 无条件跳转至start
code ends
end start


十、实验总结

通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。

 

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

【实验目的】

掌握8255 的工作方式及应用编程。

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

【试验设备】

PC微机一台、TD-PIT+实验系统一套。

【实验内容】

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

【实验原理】

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图8-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图8-2所示。

图8-1  8255的内部结构及引脚

【实验说明及步骤】

本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。参考程序流程如图8-3所示。

实验步骤如下。

1.确认从PC机引出的两根扁平电缆已经连接在实验平台上。

2.参考图8-4所示连接实验线路。

3.首先运行CHECK程序,查看I/O空间始地址。

4.利用查出的地址编写程序,然后编译链接。

5.运行程序,拨动开关,看数据灯显示是否正确。

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

8-2  8255控制字格式

图8-3  8255并口应用实验(1)参考程序流程图

图8-4  8255并口应用实验(1)参考接线图

【汇编源程序】

CODE   SEGMENT

        ASSUEM     CS:CODE

START:

        MOV        DX,0DC0CH

        MOV        AL,10000010B

        OUT         DX,AL

PP:

        MOV        DX,0DC04H

        IN           AL,DX

        MOV        DX,0DC00H

        OUT         DX,AL

        MOV        AH,1

        INT          16H

        JZ           PP

QUIT:

        MOV        AH,4CH

        INT         21H

CODE   ENDS

END   START

【实验结果】

在基本的输入输出实验中,A口的工作方式作为输入,接到开关上作为控制输入信号,而B口作为输出端连接到LED灯上可以通过灯的点亮和熄灭来判断输出信号。从实验中可以明显的看到,当key开关拨动后,经过8255处理后的输出信号端相对应的LED灯就会被点亮。具体图像如下(由于条件的限制,图像不是很清晰):

【实验总结】

可以通过对8255工作方式控制的设置,可以实现对对不同的端口设置其输入输出功能,从而实现输入与输出数据的处理功能。

【思考题】

任意设定一组开关状态(1或0):K7K6K5K4K3K2K1K0为 11010010 ,运行程序后,从B口读入到AL的值为 11010010 ,A口输出数据后,LED数据灯显示D7D6D5D4D3DD1D0 为 11010010(1表示灯亮,0表示灯不亮)

提示:可使DEBUG查看输入的数据:

E:\TANGDU \PIT-ASM>DEBUG  程序名.EXE(必须是EXE文件)

-U   ;反汇编

-T    ;用T命令单步运行,观察AL,特别是执行IN指令后AL的值。

       例如,8255A初始化前AX=0000H;8255初始化后,AX=0082H(AL为控制字82H);执行IN指令后,AL的值即为从B口读入开关量。

相关推荐