发射检测程序及主程序:
1、延时4秒子程序:
DELY: MOV R7,#50;
DLY0: MOV R6,#200;
DLY1: MOV R5,#200;
DJNZ R5,$;200×2us=400us=0.4ms
DJNZ R6,DLY1;0.4ms×200=80ms
DJNZ R7,DLY0;80ms×50=4000ms=4s
RET
2、检验硬件电路程序:
ORG 0000H
AJMP MAIN
ORG 0111H
MAIN:SETB P1.0;
SETB P1.1;
CLR P1.2;
SETB P1.2;
CLR P1.0;
CLR P1.1;
END
3、检验含子程序调用的程序正确性:
•程序编写是否正确
•程序烧入单片机的操作是否正确
程序格式是否正确(.bin或.hex);操作过程是否正确
ORG 0000H
AJMP MAIN
ORG 0111H
MAIN:SETB P1.0;
SETB P1.1;
CLR P1.2;
LCALL DELY
SETB P1.2;
CLR P1.0;
CLR P1.1;
AJMP LAST
DELY: MOV R7,#50;
DLY0: MOV R6,#200;
DLY1: MOV R5,#200;
DJNZ R5,$;200×2us=400us=0.4ms
DJNZ R6,DLY1;0.4ms×200=80ms
DJNZ R7,DLY0;80ms×50=4000ms=4s
RET
LAST: SJMP $;
END
4、检验能否发射红外中频信号程序:t=1ms,f=1KHz
ORG 0000H
AJMP MAIN
ORG 0111H
MAIN:SETB P1.0;
LCALL DELY
CLR P1.0;
LCALL DELY
LJMP MAIN
DELY: MOV R5,#250;
DJNZ R5,$;250×2us=500us=0.5ms
RET
END
5、检验能否发射调制红外中频信号程序:
发射010101……………
0:两个脉冲再空两个脉冲
1:两个脉冲再空四个脉冲
ORG 0000H
AJMP SEND
ORG 0111H
SEND:MOV R5,#2;
SEND1: LCALL H
DJNZ R5, SEND1
MOV R5,#2;
SEND2:LCALL L
DJNZ R5, SEND2
MOV R5,#2;
SEND3: LCALL H;
DJNZ R5, SEND3;
MOV R5,#4;
SEND4:LCALL L
DJNZ R5, SEND4
LJMP SEND
END
6、本产品主程序:
ORG 0000H
AJMP SEND
ORG 0111H
SEND: CLR P1.1
CLR P1.2
MOV A, #1H ; 红灯信号为0001
SEND1: MOV R4,#4 ;
MOV R5,#20;
GO: LCALL H ;
DJNZ R5,GO ;开始帧
GO1: RLC A ;
JC S ;
MOV R5,#20 ;
GO2: LCALL L ;
DJNZ R5,GO2;
MOV R5,#10;
GO3: LCALL H;
DJNZ R5,GO3;
LJMP NEXT ;
S: MOV R5, # 10 ;
S1: LCALL L;
DJNZ R5 ,S1 ;
MOV R5, # 10;
S2: LCALL H ;
DJNZ R5,S2 ;
NEXT: DJNZ R4 GO1;
MOV R5, #10;
NEXT1: LCALL L;
DJNZ R5 , NEXT1;
JB Acc.1 , LD ;
SETB P1.1 ; 红灯亮
LCALL YS ; 延时5s
CLR P1.1; 红灯灭
MOV A, #2H ; #2H即是0010,A先初始化(绿灯信号为0010)
LJMP SEND1;开始发射绿灯信号
LD: SETB P1.2 ;绿灯亮
LCALL YS ;延时5s
CLR P1.2 ;绿灯灭
LJMP LAST (无条件长转移)
YS: MOV R7,#50;
YS0: MOV R6,#200;
YS1: MOV R5,#200;
DJNZ R5,$;200×2us=400us=0.4ms
DJNZ R6,DLY1;0.4ms×200=80ms
DJNZ R7,DLY0;80ms×50=4000ms=4s
RET
H: SETB P1.0 ; 1us
MOV R6, #5 ; 1us
DJNZ R6, $ ; 10us
CLR P1.0 ; 1us
MOV R6, #5 ; 1us
DJNZ R6,$ ; 10us
NOP ; 1us
RET ; 1us
L : CLR P1.0 ; 1us
MOV R6 , # 12 ;1us
DJNZ R6, $ ; 24us
RET ;1us (可忽略)
LAST : SJMP $
END