发布者:  未知     来源:网络
;直接读出家用红外线遥控器的地址码,和数据,适用于本站的 DPJ-1A DPJ-1C DPJ-1B 型实验板. 
COUNTER EQU 41H
DISPBUF EQU 45H
DIZHI EQU 56H
COUN EQU 55H
COUN1 EQU 38H
CC EQU 39H
FASH BIT 37H
FASH1 BIT 35H
ORG 0000H
AJMP START 
ORG 001BH
AJMP DISP 
ORG 30H
START: MOV SP,#5FH 
MOV DIZHI,#00H
MOV DIZHI+2,#00H 
MOV DISPBUF,#0
MOV DISPBUF+1,#0
MOV DISPBUF+2,#16
MOV DISPBUF+3,#16 
MOV DISPBUF+4,#0
MOV DISPBUF+5,#0
MOV COUN,#0
MOV COUN1,#0 
CLR FASH
CLR FASH1
MOV TMOD,#00010001B
MOV TH1,#HIGH(65536-3676) 
MOV TL1,#LOW(65536-3676) 
SETB TR1
SETB EA
SETB ET1 
LOOP: 
JB P3.2,LOOP 
MOV R6,#10 
K1: ACALL DELAY 
JB P3.2,LOOP 
DJNZ R6, K1 
JNB P3.2,$
JNB FASH1,K2
MOV R7,#100
SETB FASH1
AJMP LOOP
K2: JB P3.2,$ 
MOV R1,#DIZHI 
MOV R2,#4
K3: MOV R3,#8 
K5: JNB P3.2,$
ACALL DELAY 
MOV C,P3.2
MOV CC,C
JNC K4
JB P3.2,$
K4: MOV A,@R1 
RRC A
MOV @R1,A
DJNZ R3,K5
INC R1
DJNZ R2,K3 
SETB FASH1
SETB FASH 
MOV A,DIZHI
CJNE A,#10H,LOOP 
MOV A,DIZHI+2
CJNE A,#0C6H,EXP
AJMP KEY0
EXP: CJNE A,#0C3H,EXT 
AJMP KEY1
EXT: CJNE A,#89H,EXE
AJMP KEY2
EXE: CJNE A,#0C0H,LOOP
CPL P1.3
AJMP LOOP
KEY0: CPL P1.0
AJMP LOOP 
KEY1: CPL P1.1
AJMP LOOP
KEY2: CPL P1.2 
JNB P3.2,$
JB P3.2,$
JNB P3.2,$ 
ajmp loop
DELAY: MOV 70H,#16 ;延时1 (0.82ms)
D1: MOV 71H,#21
DJNZ 71H,$
DJNZ 70H,D1
RET
DISP: 
PUSH ACC
PUSH PSW 
PUSH CC
MOV TH1,#HIGH(65536-3676) 
MOV TL1,#LOW(65536-3676) 
JNB FASH1,F8
DEC R7 
CJNE R7,#0,F8 
CLR FASH1
F8: JNB FASH,F2
INC COUN1
MOV A,COUN1
CJNE A,#50,F2
MOV COUN1,#0
MOV A,DIZHI+2
MOV B,#16
DIV AB 
MOV DISPBUF,B
MOV DISPBUF+1,A
MOV A,DIZHI 
MOV B,#16
DIV AB
MOV DISPBUF+4,B
MOV DISPBUF+5,A
F2: MOV P2,#0FFH
MOV A,COUNTER
MOV DPTR,#BITTAB
MOVC A,@A+DPTR
MOV P2,A
MOV P0,#0FFH
MOV A,#DISPBUF
ADD A,COUNTER
MOV R0,A
MOV A,@R0
MOV DPTR,#DISPTAB 
MOVC A,@A+DPTR
MOV P0,A
INC COUNTER
MOV A,COUNTER
CJNE A,#6,D8
MOV COUNTER,#0 
D8: 
POP CC 
POP PSW 
POP ACC 
RETI
BITTAB:DB 0FBH,0F7H,0EFH,0DFH,0BFH,07FH
DISPTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0BFH
END