西北农林科技大学接口技术设计性实验一——8255并行接口实验

西北农林科技大学接口技术实习报告

  • 姓名:李金阳

  • 年级:计算机1801

  • 学号:2018012964

实验一 8255并行接口实验

一、实习目的

  1. 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
  2. 熟悉8255内部结构和与8086的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
  3. 认真预习本节实验内容,尝试自行编写程序,填写实验报告。

二、实习内容

设电路接有4个开关和8个发光二极管(共阳极),开关端口地址为381H,发光管端口地址为382H,要求画出8088CPU(最小工作模式)下接口电路(译码电路用138译码器实现),并编写实现如下控制的控制程序:

  1. 开关K3K2K1K0=0000时,8个灯全灭
  2. 开关K3K2K1K0=0001时,8个灯从左向右​依次点亮(1个灯)
  3. 开关K3K2K1K0=0010时,8个灯从右向左依次点亮(1个灯)​
  4. 开关K3K2K1K0=0011时,8个灯闪烁显示​
  5. 开关K3K2K1K0=1111时,8个灯全亮​

三、实验电路连接

西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验

四、程序代码

实习代码如下

.model small
ComAdd	    EQU	 0273H
PaAdd		EQU	 0270H
PBAdd		EQU	 0271H
PCAdd		EQU	 0272H
.data
.stack 100H;栈段


.code
;初始程序
START:
      mov ax,@DATA
      mov ds,ax
      mov dx,ComAdd
      mov al,10000010B
      out dx,al
fun:
      call delay1
      mov dx,PBAdd
      in al,dx
      and al,0FH;取低位地址
      cmp al,0FH
      je LEDoff;八个灯全灭
      cmp al,01H
      je LEDLtoR;灯从左到右依次显示
      cmp al,02H
      je LEDRtoL;灯从右到左依次显示
      cmp al,03H
      je LEDbuling;八个灯交替显示
      cmp al,00H
      je LEDon;八个灯全亮
LEDoff:
    ;灯全liang
      mov dx,PaAdd
      mov al,0FFH
      out dx,al
      jmp fun
LEDon:
    ;灯全亮
      mov dx,PaAdd
      mov al,00H
      out dx,al
      jmp START
LEDLtoR:
      mov cx,8
      mov al,07FH
      mov dx,PaAdd
LtoR:
      out dx,al
      ror al,1
      call delay5
      loop LtoR
      jmp fun
LEDRtoL:
      mov cx,8
      mov al,0FEH
      mov dx,PaAdd
RtoL:
      out dx,al
      rol al,1
      call delay5
      loop RtoL
      jmp fun
LEDbuling:
      mov dx,PaAdd
      mov al,00H
      out dx,al
      call delay5
      mov al,0FFH
      out dx,al
      jmp fun
delay1  proc near
;延时程序,重复计时⏲12000次
;定义子程序的伪指令
      push cx
      mov cx,12000
delay101: 
      loop delay101;循环函数
      pop cx
      ret;return返回指令
delay1 endp
delay5 proc near
;延时程序,重复计时⏲12000次
      push cx
      mov cx,5
delay501: 
      call delay1
      pop cx
      ret
delay5 endp

END START

解释:

ComAdd EQU 0273H代表控制寄存器的端口地址0273H
PaAdd EQU 0270H代表8255a A端口的地址0270H
PBAdd EQU 0271H代表8255a B端口的地址0271H
PCAdd EQU 0272H代表8255a C端口的地址0272H

@DATA的意义是数据段的数据
ds为数据段寄存器,一般用于存放数据
mov al,10000010B代表将8255a的方式控制字传入AX寄存器

  • 8255A的工作方式控制字,设置工作方式0方式1方式2
  • B口4种方式,方式1有选通信号,方式0是无条件的输入输出方式(程序控制方式)没有选通信号

西北农林科技大学接口技术设计性实验一——8255并行接口实验

  • PC的高四位
    西北农林科技大学接口技术设计性实验一——8255并行接口实验

  • A口有三种工作方式
    西北农林科技大学接口技术设计性实验一——8255并行接口实验

  • 到底输入输出由D4来决定

西北农林科技大学接口技术设计性实验一——8255并行接口实验

  • D7固定1

西北农林科技大学接口技术设计性实验一——8255并行接口实验

西北农林科技大学接口技术设计性实验一——8255并行接口实验

out dx,al 把AL里的值传到DX里

实验过程

首先是实验电路板

西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验

  • 连接好相应的线后,比如pa连接到输出电灯泡,pb连接到输入开关

然后是软件

打开选择如下

西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验

然后就可以导入软件运行了

五、实验结果及分析

实物拍照

西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验
西北农林科技大学接口技术设计性实验一——8255并行接口实验

我也是做了好久改了好多BUG

上一篇:除Hadoop大数据技术外,还需了解的九大技术


下一篇:345【毕设课设】微机原理-基于8086交通灯倒计时10秒系统