RET ;
KEYFUN02: MOV A,#04H LJMP REMOTE RET ;
KEYFUN03: MOV A,#05H LJMP REMOTE RET ;
KEYFUN04: MOV A,#06H LJMP REMOTE RET ;
KEYFUN05: MOV A,#07H LJMP REMOTE RET ;
KEYFUN06: MOV A,#08H LJMP REMOTE RET ;
KEYFUN07: MOV A,#09H LJMP REMOTE RET ;
REMOTE: MOV R1,A LJMP OUT3 OUT: MOV R0,#55H OUT1: SETB ET1 SETB TR1 NOP NOP NOP NOP NOP
DJNZ R0,OUT1 MOV R0,#32H OUT2: CLR TR1 CLR ET1 CLR P3.5 NOP NOP
编码发射程序
NOP NOP NOP
DJNZ R0,OUT2 DJNZ R1,OUT LCALL DL500MS RET
OUT3: MOV R0,#0FFH LJMP OUT1
DELAY: MOV R2,#0FFH DELAY1: DJNZ R2,DELAY1 RET
DL10MS: MOV R3,#14H DL10MS1: LCALL DELAY
DJNZ R3,DL10MS1 RET ;
END
ORG 0000H
LJMP START ORG 0003H
LJMP INTEX0 ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H RETI ORG 002BH RETI
CLEARMEMIO: CLR A DEC A MOV P0,A MOV P1,A MOV P2,A MOV P3,A CLEARMEM: MOV IE,#00H
延时513μS
10ms延时程序
主程序和中断程序入口初始化程序
SETB EX0 SETB EA RET ;
主程序
START: LCALL CLEARMEMIO LCALL LOOP ;
MAIN: JB P3.0,MAIN LCALL DLX CLR P2.7 LCALL DELAY SETB P2.7 LJMP MAIN NOP NOP
LJMP STAR INTEX0: CLR EX0
JNB P3.1,READ1 READOUTT0: SETB EX0 RET1 ;
READ1: CLR A MOV DPH,A MOV DPL,A
HARD1: JB P3.1,HARD11 INC DPTR NOP NOP
AJMP HARD1 HARD11: MOV A,DPH JZ READOUTT0 CLA A READ11: INC A
READ12: JNB P3.1,READ12 MOV R1,#06H READ13: JNB P3.1,READ13 DEC A DEC A JZ FUN0 DEC A JZ FUN1 DEC A
JZ FUN2
DEC A JZ FUN3 DEC A JZ FUN4 DEC A JZ FUN5 DEC A JZ FUN6 DEC A JZ FUN7 NOP NOP
;
FUN0: CPL P0.0 LJMP READOUTTP FUN1: CPL P0.1 LJMP READOUTTP FUN2: CPL P0.2 LJMP READOUTTP FUN3: CPL P0.3 LJMP READOUTTP FUN4: CPL P0.4 LJMP READOUTTP FUN5: CPL P0.5 LJMP READOUTTP FUN6: CPL P0.6 LJMP READOUTTP FUN7: CPL P0.7 LJMP READOUTTP RET;
DELAY: MOV R0,#OFFH DELAY1: DJNZ R0,DELAY1
LJMP READOUTT0 延时程序
RET;
延时10ms
DL10MS: MOV R1,#14H DL10MS1: LCALL DELAY DJNZ R1,DL10MS1 RET;
调光延时时间控制
DLX: MOV R2,B DLX1: LCALL DELAY DJNZZ R2,DLX1 RET;
调光控制程序
LOOP: MOV A,P1 SUBB A,#0FFH JZ LOOP7 MOV A,P1
SUBB A,#0FEH JZ LOOP6 MOV A,P1 SUBB A,#0FDH JZ LOOP5 MOV A,P1 SUBB A,#0FCH JZ LOOP4 MOV A,P1 SUBB A,#0FBH JZ LOOP3 MOV A,P1 SUBB A,#0FAH JZ LOOP2
MOV A,P1 SUBB A,#0F9H JZ LOOP1 MOV A,P1 SUBB A,#0F8H JZ LOOP0 RET;
LOOP7: MOV B,#01H RET
LOOP6: MOV B,#02H RET
LOOP5: MOV B,#04H RET
LOOP4: MOV B,#06H RET
LOOP3: MOV B,#08H RET
LOOP2: MOV B,#0AH RET
LOOP1: MOV B,#0CH RET
LOOP0: MOV B,#0DH RET ; END