📄 发射.asm
字号:
ORG 0000H
AJMP LOOP0
ORG 0030H
LOOP0: MOV SCON, #0D0H ;设定串口工作为方式3
MOV TMOD, #20H ;T1工作为方式2
MOV PCON, #00H ;波特率设置
MOV TL1, #0F4H ;定时初始值F4送TL1
MOV TH1, #0F4H ;定时初始值F4送TH1
;*************************************************
CP: JB P1.0, CP ;判断遥控按键P1.0是否按下
LCALL PP ;调用延时
JB P1.0,CP
SETB TR1 ;启动定时器T1
MOV 50H, #5FH ;将立即数5FH送50H存储单元
MOV R0, #50H ;将立即数50H送R0寄存器
MOV R1, #05H ;将立即数05HR1寄存器
TND: MOV A,@R0 ;将50H中的5F送累加器A
MOV C, P
MOV TB8,C
MOV SBUF, A ;将要发送数据5F送串口数据缓冲器
AAA: JNB P1.1,ON1 ;P1.1是0电瓶时转至调制程序
BBB: JB P1.1,CCC ;p1.1是1电平时等待
AJMP AAA
CCC: JBC TI,CP ;判断发送中断标志位
SETB P1.2 ;p1.2置1
AJMP BBB
ON1: ACALL ON
AJMP AAA
PP: MOV R6,#05H ;延时子程序
LOOP3: MOV R5,#0F9H
NOP
NOP
LOOP4: DJNZ R5,LOOP4
DJNZ R6,LOOP3
RET
ON: MOV R0,#83
CPL P1.2
DJNZ R0,ON
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -