V12 EQU P1.3 ;这5句申明位变量用相应的变量名取代对应的IO口
V10 EQU P1.2 ;
OUT EQU P1.1 ;
FULL EQU P3.2 ;
LOWW EQU P3.3 ;
ORG 0000H ;单片机复位后程序入口地址
MAIN: MOV P1,#0FFH ;P1所有口置1
MOV P3,#0FFH ;P3所有口置1
MOV R7,#5 ;R7=5
LCALL DEL1 ;延时
M1: JNB V12,M0 ;V12为0转移到M0
CLR FULL ;FULL清零
SETB LOWW ;LOWW置1
SJMP M2 ;跳转到M2
M0:
JNB V10,SLEEP ;V10为0转移到SLEEP
CLR LOWW ;LOWW清零
SETB FULL ;FULL置1
M2:
CLR OUT ;OUT清零
;LCALL DEL1 ;延时
SJMP M1 ;跳转到M1
SLEEP: SETB OUT ;OUT置1
M3: SETB LOWW ;LOWW置1
LCALL DEL1 ;延时
CLR LOWW ;LOWW清零
LCALL DEL1 ;延时
DJNZ R7,M3 ;R7减1为0转移到M3
MOV P1,#0FFH ;P1全置1
MOV P3,#0FFH ;P3全置1
MOV PCON,#02H ;PCON=2
SJMP $ ;原地循环
DEL1: MOV R1,#100 ;外层循环100次
D1: MOV R2,#100 ;中层循环100次
D2: MOV R3,#100 ;内层循环100次
DJNZ R3,$ ;R3减1不为0原地等待
DJNZ R2,D2 ;R2减1不为0转D2
DJNZ R1,D1 ;R1减1不为0转D1
RET ;
DEL2: MOV R4,#255 ;意思与DEL1一样
D3: MOV R5,#255 ;
D4: MOV R6,#255 ;
DJNZ R6,$ ;
DJNZ R5,D4 ;
DJNZ R4,D3 ;
RET
END ;程序结束
表示看不懂啊