要求
掌握并行接口芯片8255的结构及编程方法。
8255芯片A口输出接8个发光二极管,B口输入接8个开关,按下是低电平。
1.8255芯片A口、B口均工作在方式0,A口输出,B口输入。对应开关按下后,对应发光二极管点亮,松开后发光二极管熄灭。
2.做一个跑马灯,按PB0键,跑马灯左转,按PB1键,跑马灯右转,松开后保留状态,转动速度自己定,能看清即可。
1.按键亮灯
PORTA EQU 8000H
PORTB EQU 8002H
CTRW EQU 8006H
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN: MOV AX,DATA
MOV DS,AX
mov dx,203h
mov al,82h
out dx,al
mov dx,PORTB
IN al,dx
not al
mov dx,PORTA
out DX,al
jmp BEGIN
CODE ENDS
END BEGIN
2.跑马灯
PORTA EQU 8000H
PORTB EQU 8002H
CTRW EQU 8006H
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN:
MOV AX,DATA
MOV DS,AX
mov al,00000001B
push ax
start:
mov dx,203h
mov al,82h
out dx,al
mov dx,PORTB
IN al,dx
mov dl,0feh
cmp al,dl
je left
mov dl,0fdh
cmp al,dl
je right
jmp start
left:
pop ax
rol al,1
mov cx,01fffh
loop $
mov dx,PORTA
out dx,al
push ax
jmp start
right:
pop ax
ror al,1
mov cx,01FFFh
loop $
mov dx,PORTA
out dx,al
push ax
jmp start
CODE ENDS
END BEGIN
小结
本文只做记录参考思路,不允许直接抄袭,5.17日之前不允许转载,如果有问题欢迎留言,有更好的思路欢迎指教。