实验四、8255并行接口实验
实验题目:8255-拨动开关和LED显示实验
一、 实验目的
掌握使用8255并行接口连接拨动开关,控制LED显示输出的技术。
二、 实验接线图和实验内容
按题图将8255端口A与8位拨动开关连接,8255端口B与8位LED连接,选择 8255 为方式0工作,编程序完成LED实时显示开关状态的功能,即每位LED对应一位开关状态。开关往下拨动,对应LED灭,开关往上拨动,对应LED点亮。
编程涉及8255端口地址有四个,译码地址自定。
.MODEL SMALL
.386
CODE SEGMENT
ASSEME CS:CODE
START: MOV AL,90H
MOV DX,233H
OUT DX,AL
L: MOV DX,230H
IN AL,DX
MOV DX,231H
OUT DX,AL
JMP L
CODE ENDS
END START
第二篇:实验四可编程并行接口(8255方式1实验2)
实验四
一、实验题目:可编程并行接口(8255方式1实验2)
二、实验目的
1、掌握8255工作方式1时的使用及编程。
2、进一步掌握中断处理程序的编写。
三、实验内容
1、按下图连好线路。
2、编程:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。
四、程序流程图(附在后面)
五、源程序
io8255a equ 288h
io8255b equ 28bh
io8255c equ 28ah
code segment
assume cs:code
start:
mov ax,cs
mov ds,ax
mov dx,offset int_proc ;设置IRQ3中断矢量
mov ax,250bh
int 21h
in al,21h
and al,0f7h ;开放IRQ7中断
out 21h,al
mov dx,io8255b ;置8255为A口方式1输出
mov al,0b8h
out dx,al
mov al,09h ;将PC4置位
mov dx,28bh
out dx,al
mov bl,8 ;BL为中断次数计数器
ll: jmp ll ;循环等待
int_proc: ;中断服务程序
mov dx,io8255a ;自8255A口输入一数据
in al,dx
mov dl,al ;将所输入的数据保存到DL
mov ah,02h ;显示ASCII码为DL的字符
int 21h
mov dl,0dh ;回车
int 21h
mov dl,0ah ;换行
int 21h
mov al,20h ;发出EOI结束命令
out 20h,al
dec bl ;计数器减1
jnz next ;不为0则返回主程序
in al,21h
or al,08h
out 21h,al ;关IRQ3中断
sti ;开中断
mov ah,4ch ;返回DOS
int 21h
next:iret
code ends
end start
六、实验结果分析
按上述的代码执行,观察屏幕上所显示的字符,可以发现实验结果和预期的相同:
打开K0、K1、K5,关闭K2、K3、K4、K6、K7,即23H,显示“#”,结果正确。
打开K0、K4、K5,关闭K1、K2、K3、K6、K7,即31H,显示“1”,结果正确。
打开K0、K6,关闭K1、K2、K3、K4、K5、K7,即41H,显示“A”,结果正确。
打开K2、K5、K6,关闭K0、K1、K3、K4、K7,即64H,显示“d”,结果正确。
七、实验心得
1、通过本次实验,进一步了解了可编程并行接口8255的基本知识点,了解了该芯片的应用。
2、通过编程实现,熟悉了8255方式控制字,了解了方式1和基本工作原理。
3、通过这三次实验的学习,对于可编程接口芯片有了更深的认识,掌握了基本的微机接口方法。