用汇编实现8255中断实验

用汇编实现8255中断实验

要求

掌握并行接口芯片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日之前不允许转载,如果有问题欢迎留言,有更好的思路欢迎指教。

猜你喜欢

转载自blog.csdn.net/qq_43645782/article/details/106122971