电话拨号程序
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP YK
ORG 000BH
AJMP TT0
ORG 0020H MAIN: MOV P1,#00H
MOV P2,#0F0H
CLR P0.2
CLR P0.6
CLR P3.3
MOV TMOD,#05H
MOV R2,#00H
MOV 20H,#01
MOV 21H,#03
MOV 22H,#09
MOV 23H,#09
MOV 24H,#00
MOV 25H,#07
MOV 26H,#04
MOV 27H,#00
MOV 28H,#08
MOV 29H,#03
MOV 2AH,#09
MOV IE,#0C3H
SETB TR0
SETB IT0 MAI: MOV TH0,#0FFH
MOV TL0,#0FFH
MOV PCON,#01H
AJMP MAI TT0: CLR ET0 //判断振铃次数
MOV TH0,#0FFH
MOV TL0,#0FFH
SETB P0.6
INC R2
MOV R3,#0CH LED: ACALL DELAY1
DJNZ R3,LED
CLR P0.6
CJNE R2,#06H,EEEE
MOV R2,#00H
SETB P0.6 //电话振铃执行
CLR P0.3
CLR P0.0
CLR P0.1
CLR P3.5
EEEE: SETB ET0
RETI
YK: CLR EX0 //遥控解码;
ACALL FM
MOV A,P2
ANL A,#0F0H
CLR P2.0
CLR P2.1
CLR P2.2
CLR P2.3
CJNE A,#10H,NEXT
SETB P2.0
ACALL BH
MOV P1,#00H
AJMP YKEND
NEXT: CJNE A,#20H,NEXT1
SETB P2.1
AJMP YKEND
NEXT1: CJNE A,#30H,NEXT2
SETB P2.0
SETB P2.1
AJMP YKEND
NEXT2: CJNE A,#40H,NEXT3
SETB P2.2
AJMP YKEND
NEXT3: CJNE A,#50H,NEXT4
SETB P2.0
SETB P2.2
AJMP YKEND
NEXT4: CJNE A,#60H,NEXT5
SETB P2.1
SETB P2.2
AJMP YKEND
NEXT5: CJNE A,#70H,NEXT6
SETB P2.0
SETB P2.1
SETB P2.2
AJMP YKEND
NEXT6: CJNE A,#80H,NEXT7
SETB P2.3
SETB P0.3
SETB P3.5
SETB P0.0
SETB P0.1
MOV P1,#00H
CLR P0.6
CLR P0.2
AJMP YKEND NEXT7: CJNE A,#90H,NEXT8
SETB P2.0
SETB P2.3
AJMP YKEND NEXT8: CJNE A,#0A0H,NEXT9
SETB P2.1
SETB P2.3
AJMP YKEND NEXT9: CJNE A,#0B0H,NEXT10
SETB P2.0
SETB P2.1
SETB P2.3
AJMP YKEND NEXT10:CJNE A,#0C0H,NEXT11
SETB P2.2
SETB P2.3
AJMP YKEND NEXT11:CJNE A,#0D0H,NEXT12
SETB P2.0
SETB P2.2
SETB P2.3
AJMP YKEND
NEXT12:CJNE A,#0E0H,NEXT13
SETB P2.1
SETB P2.2
SETB P2.3
AJMP YKEND NEXT13:CJNE A,#0F0H,YKEND
SETB P2.0
SETB P2.1
SETB P2.2
SETB P2.3 YKEND: SETB EX
RETI
BH: MOV R0,#20H
MOV R7,#11
CLR P0.3
SETB P3.3
ACALL DELAY1
ACALL DELAY1
ACALL DELAY1
SETB P0.6
CLR P1.7
CLR P1.4
MOV P1,#2BH
SETB P1.4
NOP
NOP
CLR P1.4
NOP
NOP
MOV P1,#20H
SETB P1.4
NOP
NOP
CLR P1.4 BH1: MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A BH2: SETB P1.4
NOP
NOP
CLR P1.4
NOP
JB P3.3,BH2
CLR P1.7
SETB P1.6
SETB P1.5
CLR P1.4
NOP
NOP
SETB P1.4
NOP
NOP
CLR P1.4
INC R0
SETB P0.2
ACALL DELAY1
CLR P0.2
ACALL DELAY1
DJNZ R7,BH1
CLR P3.3
RET
FM: CLR P0.7
ACALL DELAY1
SETB P0.7
RET
DELAY1:MOV 40H,#9FH //100mS LP0: MOV 41H,#9BH
LP1: DJNZ 41H,LP1
DJNZ 40H,LP0
RET
TAB: DB 05H,08H,04H, //0,1,2
DB 0CH,02H,0AH //3,4,5
DB 06H,0EH,01H //6,7,8
DB,09H,0DH,03H //9,*,#