📄 xunhuan.asm
字号:
;8255控制灯循环
;PA口接L1~L8
A8255 XDATA 8000H
B8255 XDATA 8001H
C8255 XDATA 8002H
D8255 XDATA 8003H
ORG 0000H
AJMP MAIN
;*****************************************************************************
; /*主程序*/
;*****************************************************************************
ORG 0030H
MAIN: MOV DPTR,#D8255 ;状态字
MOV A,#80H ;方式0输出
MOVX @DPTR,A
MOV DPTR,#A8255
MAIN1: CALL RIGHT
CALL LEFT
CALL ALLON
CALL ALLOFF
AJMP MAIN1
;*****************************************************************************
; /*右移子程序*/
;*****************************************************************************
RIGHT: MOV R0,#08H
MOV A,#0FFH
CLR C
RIGHT1: RRC A
MOVX @DPTR,A
CALL DELAY
DJNZ R0,RIGHT1
RET
;*****************************************************************************
; /*左移子程序*/
;*****************************************************************************
LEFT: MOV R0,#08H
MOV A,#0FFH
CLR C
LEFT1: RLC A
MOVX @DPTR,A
CALL DELAY
DJNZ R0,LEFT1
RET
;*****************************************************************************
; /*全亮子程序*/
;*****************************************************************************
ALLON: MOV A,#00H
MOVX @DPTR,A
CALL DELAY
RET
;*****************************************************************************
; /*全灭子程序*/
;*****************************************************************************
ALLOFF: MOV A,#0FFH
MOVX @DPTR,A
CALL DELAY
RET
;*****************************************************************************
; /*延时子程序*/
;*****************************************************************************
DELAY: MOV R5,#10
DELAY1: MOV R6,#50
DELAY2: MOV R7,#250
DJNZ R7,$
DJNZ R6,DELAY2
DJNZ R5,DELAY1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -