一、实验目的
1. 了解可编程并行接口8255的内部结构,
2. 掌握工作方式、初始化编程及应用。
二、实验内容
流水灯实验:利用8255的A口、B口循环点亮发光二极管。
三、实验原理
8255是一个通用可编程并行接口电路。它具有A、B、C三个8位并行口。其中C口也可用作A、B口的联络信号及中断申请信号。通过编程,它可以被设置为基本输入输出、选通输入输出以及双向传送方式。对于C口还具有按位置0、1的功能。
可编程并行接口8255芯片接口电路
- 实验步骤
流水灯实验连线图
模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。
模块的数据(AD0~AD7)、地址线(A0~A7)分别连到ISA总线接口模块的数据(LD0~LD7)、地址线(LA0~LA7)。
8255模块选通线CE连到ISA总线接口模块的0000H。
8255的PA0~PA7连到发光二极管的L0~L7;8255的PB0~PB7连到发光二极管的L8~L15。
运行程序,观察发光二极管。
五、实验源码:
com equ 0273h
pa equ 0270h
pb equ 0271h
pc equ 0272h
_stack segment stack
dw 100 dup(?)
_stack ends
data segment
led db 10111110b
db 10111111b
db 10111101b
db 11101011b
db 11111011b
db 11011011b
status dw 0
data ends
code segment
assume ds:data, ss:_stack, cs:code
delay_500ms proc
push cx
mov cx,60000
loop $
pop cx
ret
delay_500ms endp
delay_2s proc
push cx
mov cx,4
to_delay1:
call delay_500ms
loop to_delay1
pop cx
ret
delay_2s endp
start proc
mov ax,data
mov ds,ax
input:
mov dx,com
mov ax,10000010b
out dx,al
mov dx,pa
mov al,0ffh
out dx,al
jmp green0
green0:
mov bx,offset led
mov dx,pa
mov al,[bx]
out dx,al
mov cx,10
mov dx,pb
delay_green0:
in al,dx
and al,80h
jnz yellow0
and al,40h
jnz out0
mov al,[bx]
out dx,al
call delay_500ms
loop delay_green0
out0:
jmp greeen_blink0
greeen_blink0:
mov cx,4
blink0:
mov dx,pa
mov bx,offset led
mov al,[bx+1]
out dx,al
call delay_500ms
mov al,[bx]
out dx,al
call delay_500ms
loop blink0
jmp yellow0
yellow0:
mov dx,pa
mov bx,offset led
mov al,[bx+2]
out dx,al
call delay_2s
jmp green1
green1:
mov bx,offset led
mov dx,pa
mov al,[bx+3]
out dx,al
mov cx,10
mov dx,pb
delay_green1:
in al,dx
and al,80h
jnz yellow1
and al,40h
jnz out1
mov al,[bx+3]
out dx,al
call delay_500ms
loop delay_green1
out1:
jmp greeen_blink1
greeen_blink1:
mov cx,4
blink1:
mov dx,pa
mov bx,offset led
mov al,[bx+4]
out dx,al
call delay_500ms
mov al,[bx+3]
out dx,al
call delay_500ms
loop blink1
jmp yellow1
yellow1:
mov dx,pa
mov bx,offset led
mov al,[bx+5]
out dx,al
call delay_2s
jmp green0
start endp
code ends
end start
六、实验结果:
已验收
微机原理实验总结:通过微机原理实验课程,我更加深入地理解了微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在实验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。在学习理论的过程中通过实验辅助,使我们更容易的接受微机原理的知识。实验过程中,获得了很多收获,获得了很多感悟,也遇到了很多困难,但最终解决了它们。