8255并行接口

  • 格式:docx
  • 大小:424.96 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

课程:汇编语言与接口技术

实验项目:

姓名:

学号:

班级:

专业:

学院:

指导教师:

2019年 4月 27日

实验报告正文:

一、实验目的:8255芯片的使用实验

二、实验环境:masm集成开发环境、Proteus设计电路

三、实验内容:

本次实验以8255的使用为核心,对于8255的3个并行口,选用C口低4位和高4位分别接4*4键盘的行列信号线,选用B口接LED,选用A口接驱动数码管,数码管采用静态共阴极接法,实现当有一个按键按下时,LED和数码管均能显示其按键值,数码管与键盘实验电路分别如图1所示:

图1 译码电路图

本次电路设计中使用的元件有:

74LS373:74LS373是三态输出的八D锁存器,共有54S373和74LS373两种线路。373 的输出端Q0~Q7 可直接与总线相连。当锁存允许端LE为高电平时,Q 随数据D而变;

74LS02:与非门;74154:4-16译码器;74273:八D触发器,带清除端;7427:3输入的与非门。

根据74154的接口与器件连接;

4078:8输入与非门。

四、实验过程:

将代码8255Asm载入到8086中启动运行,代码如图2所示:

IO0 EQU 00h IO1 EQU 10h IO2 EQU 20h IO3 EQU 30h IO4 EQU 40h IO5 EQU 50h IO6 EQU 60h

IO7 EQU 70h

IO8 EQU 80h

IO9 EQU 90h

IO10 EQU 0A0h

IO11 EQU 0B0h

IO12 EQU 0C0h

IO13 EQU 0D0h

IO14 EQU 0E0h

IO15 EQU 0F0h

code segment 'code' ;定义代码段assume cs:code,ds:code

main proc far

start: mov ax,code ;建立DS段地址mov ds,ax

l:

mov al,10000001B

mov dx,IO3+6

out dx,al

mov dx,IO3+4

mov al,00 ;高四位送0

out dx,al

nokey: in al,dx

and al,0fH

cmp al,0fH

jz nokey

call delay10

in al,dx

mov bl,0

mov cx,4

LP1: shr al,1

jnc LP2

inc bl

loop LP1

LP2:

mov al,10001000B

mov dx,IO3+6

out dx,al

mov dx,IO3+4

mov al,00 ;低四位送0

out dx,al

in al,dx

and al,0f0H

cmp al,0f0H

jz l ;出错重头来

mov bh,0

mov cx,4

LP3: shl al,1

jnc LP4

inc bh

loop LP3

LP4:

MOV AX,4

MUL BH

ADD AL,BL

mov dx,io3+2

out dx,al

mov bx,offset segdata

xlat

mov dx,IO3

out dx,al

mov cx,0

J1:

loop J1

jmp l

RET

main endp

delay10 proc

mov cx,882

loop $

ret

delay10 endp

segdata db

3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh ,6fh,77h,7ch,39h,5eh,79h,71h

code ends ;代码段结束

end start

将代码导入到Proteus的8086中,运行编译,选择执行,点击某一个按键效果如图3所示:

图3 按键9显示效果

五、实验结果和体会:

本次实验过程中,按键的连接电路是一个难点,不知道怎么连接,连接后得不到想要的效果。多次试验后发现自己有的接口没有连接上,所以出现没有效果的现象,多次对比资料图之后发现很多丢掉的东西,所以还是缺少细心。仿真实验要求很细微,一个小错误就会导致整个程序的问题,所以还是要很小心。编程过程中,自己对8255的工作原理其实并不是很了解,只能不停地查找资料以及翻看书籍,其实是非常不好的,时间是检验真理的唯一标准,本以为自己都明白,其实真的欠缺很多,还是需要多下功夫。