📄 s8000.asm
字号:
;////////////////////////////////////////////////////////
;LED----GOOD
;KEY----GOOD
;MM-----GOOD
;UV---- GOOD
;////////////////////////////////////////////////////////
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV SP, #30H
MOV 21H, #00H
MOV 22H, #00H
MOV 23H, #00H
MOV 24H, #00H
MOV 25H, #00H
MOV P0, #80H
MOV P2, #00H
CLR P1.3
CLR P1.7
STAR:
MOV P3, #00000011B
MOV A, P3
CJNE A, #00000011B, SCAN1
LJMP STAR
SCAN1: LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
MOV A, P3
CJNE A, #00000011B, IR_K
LJMP STAR
;/////////////////////////////////////////////////////////
IR_K: MOV P3, #00111011B
JB P3.0, WH_K
MOV 22H, #00H
MOV 23H, #00H
MOV 24H, #00H
MOV 25H, #00H
INC 21H
MOV A, 21H
CJNE A, #01H, IR_K1
LCALL IR1_D
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
IR_K1: CJNE A, #02H, WH_K
MOV 21H, #00H
LCALL IR2_D
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
WH_K: JB P3.1, TOU_K
MOV 21H, #00H
MOV 22H, #00H
MOV 23H, #00H
MOV 24H, #00H
MOV 25H, #00H
LCALL WH_D
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
TOU_K: MOV P3, #00110111B
JB P3.0, CE_K
MOV 21H, #00H
MOV 23H, #00H
MOV 24H, #00H
MOV 25H, #00H
INC 22H
MOV A, 22H
CJNE A, #01H, IR_T_K
LCALL WH_T
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
IR_T_K: CJNE A, #02H, CE_K
MOV 22H, #00H
LCALL IR_T
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
CE_K: JB P3.1, UV_K
MOV 21H, #00H
MOV 22H, #00H
MOV 24H, #00H
MOV 25H, #00H
INC 23H
MOV A, 23H
CJNE A, #01H, IR_C_K
LCALL WH_C
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
IR_C_K: CJNE A, #02H, UV_K
MOV 23H, #00H
LCALL IR_C
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
;///////////////////////////////////////////////////////////
UV_K: MOV P3, #00101111B
JB P3.0, MM_K
MOV 21H, #00H
MOV 22H, #00H
MOV 23H, #00H
MOV 24H, #00H
INC 25H
MOV A, 25H
CJNE A, #01H, UV_IR_K
LCALL UV_D
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
UV_IR_K: CJNE A, #02H, MM_K
MOV 25H, #00H
;************************ZuHeGuangYuan********************************
CLR P1.7
SETB P1.4 ;IR-T-LED
CLR P1.5 ;
CLR P1.6 ;IR-T-LED
;SETB P2.1 ;IR-T
SETB P0.6 ;IR_C
SETB P1.7
CLR P0.2
CLR P0.3
CLR P0.4
CLR P0.5
CLR P2.1
CLR P2.0
CLR P2.2
CLR P2.3
CLR P2.4
CLR P2.5
CLR P2.6
LCALL DELAY1m
;************************ZuHeGuangYuan********************************
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
MM_K: JB P3.1, WHOLE_K
MOV 21H, #00H
MOV 22H, #00H
MOV 23H, #00H
MOV 24H, #00H
MOV 25H, #00H
LCALL MM_D
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
;LJMP STAR
LJMP IR_K
;///////////////////////////////////////////////////////////
WHOLE_K: MOV P3, #00011111B
JB P3.0, JI_K
MOV 21H, #00H
MOV 22H, #00H
MOV 23H, #00H
MOV 25H, #00H
INC 24H
MOV A, 24H
CJNE A, #01H, HALF1
LCALL WHOLE
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
LJMP STAR
HALF1: CJNE A, #02H, JI_K
MOV 24H, #00H
LCALL HALF
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
JI_K: JB P3.1, OVER
MOV 21H, #00H
MOV 22H, #00H
MOV 23H, #00H
MOV 25H, #00H
LCALL JI_D
LCALL DELAY10m
LCALL DELAY10m
LCALL DELAY10m
OVER: LJMP STAR
;////////////////////LED-RET//////////////////////////////////////
WH_D: CLR P1.3
CLR P1.7
CLR P1.0
CLR P1.1
CLR P1.2
SETB P1.3
CLR P0.1
CLR P0.2
CLR P0.3
SETB P0.4
CLR P0.5
CLR P0.6
;CLR P0.7
CLR P2.0
CLR P2.1
CLR P2.2
LCALL DELAY1m
RET
IR1_D: CLR P1.3
CLR P1.7
SETB P1.0
CLR P1.1
CLR P1.2
CLR P0.1
SETB P0.2
CLR P0.3
CLR P0.4
CLR P0.5
CLR P0.6
;CLR P0.7
CLR P2.0
CLR P2.1
CLR P2.2
SETB P1.3
LCALL DELAY1m
RET
WH_C: CLR P1.3
CLR P1.7
CLR P1.0
SETB P1.1
CLR P1.2
CLR P0.1
CLR P0.2
CLR P0.3
CLR P0.4
SETB P0.5
CLR P0.6
;CLR P0.7
CLR P2.0
CLR P2.1
CLR P2.2
SETB P1.3
LCALL DELAY1m
RET
WH_T: CLR P1.3
CLR P1.7
SETB P1.0
SETB P1.1
CLR P1.2
;MOV P2, #00000001B
CLR P0.1
CLR P0.2
CLR P0.3
CLR P0.4
CLR P0.5
CLR P0.6
;CLR P0.7
SETB P2.0
CLR P2.1
CLR P2.2
SETB P1.3
LCALL DELAY1m
RET
MM_D:
CLR P1.3
CLR P1.7
CLR P1.0
CLR P1.1
SETB P1.2
SETB P1.3
LCALL DELAY1m
CLR P0.1
SETB P0.3
CLR P0.2
CLR P0.4
CLR P0.5
CLR P0.6
CLR P2.0
CLR P2.1
CLR P2.2
;CLR P0.3
LCALL DELAY60m
LCALL DELAY60m
MMM_D: CPL P0.2
LCALL DELAY60m
LCALL DELAY60m
LCALL DELAY60m
LCALL DELAY60m
MOV P3, #00000011B
MOV A, P3
ANL A, #00000011B
CJNE A, #00000011B, MMMM_D
LJMP MMM_D
MMMM_D: CLR P0.3
CLR P0.2
RET
UV_D: CLR P1.3
CLR P1.7
SETB P1.0
CLR P1.1
SETB P1.2
SETB P0.1
CLR P0.2
CLR P0.3
CLR P0.4
CLR P0.5
CLR P0.6
CLR P2.0
CLR P2.1
CLR P2.2
SETB P1.3
LCALL DELAY1m
RET
JI_D: CLR P1.3
CLR P1.7
CLR P1.0
SETB P1.1
SETB P1.2
CLR P0.1
CLR P0.2
CLR P0.3
CLR P0.4
CLR P0.5
CLR P0.6
;CLR P0.7
CLR P2.0
CLR P2.1
SETB P2.2
SETB P1.3
LCALL DELAY1m
RET
WHOLE: SETB P0.0
SETB P2.7
CLR P0.7
LCALL DELAY10m
RET
IR2_D: CLR P1.3
CLR P1.7
CLR P1.4
CLR P1.5
CLR P1.6
CLR P0.1
CLR P0.2
SETB P0.3
CLR P0.4
CLR P0.5
CLR P0.6
;CLR P0.7
CLR P2.0
CLR P2.1
CLR P2.2
SETB P1.7
LCALL DELAY1m
RET
IR_C: CLR P1.3
CLR P1.7
SETB P1.4
CLR P1.5
CLR P1.6
CLR P0.1
CLR P0.2
CLR P0.3
CLR P0.4
CLR P0.5
SETB P0.6
;CLR P0.7
CLR P2.0
CLR P2.1
CLR P2.2
SETB P1.7
LCALL DELAY1m
RET
IR_T: CLR P1.3
CLR P1.7
CLR P1.4
SETB P1.5
CLR P1.6
CLR P0.1
CLR P0.2
CLR P0.3
CLR P0.4
CLR P0.5
CLR P0.6
;CLR P0.7
CLR P2.0
SETB P2.1
CLR P2.2
SETB P1.7
LCALL DELAY1m
RET
HALF: CLR P0.0
CLR P2.7
SETB P0.7
LCALL DELAY10m
RET
DELAY60m: MOV R1, #0FFH
DEL60_1: MOV R0, #0FFH
DJNZ R0, $
DJNZ R1, DEL60_1
RET
DELAY10m: MOV R1, #27H
DEL10_1: MOV R0, #0FFH
DJNZ R0, $
DJNZ R1, DEL10_1
RET
DELAY1m: MOV R1, #01H
DEL1_1: MOV R0, #0FFH
DJNZ R0, $
DJNZ R1, DEL1_1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -