发射检测程序及主程序:
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
我要赚赏金打赏帖 |
|
|---|---|
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
| OK1126B-S开发板下多时段语音提示型电子时钟被打赏¥27元 | |
| OK1126B-S开发板下函数构建及步进电机驱动控制被打赏¥25元 | |
| 【S32K3XX】LPI2C 参数配置说明被打赏¥20元 | |
| OK1126B-S开发板的脚本编程及应用设计被打赏¥27元 | |
| 5v升压8.4v两节锂电池充电芯片,针对同步和异步的IC测试被打赏¥35元 | |
| 【S32K3XX】S32DS LPI2C 配置失败问题解决被打赏¥22元 | |
| 【S32K3XX】FLASH 的 DID 保护机制被打赏¥19元 | |
我要赚赏金
