?? irsend.asm
字號:
RSEG ?CO?IRSEND
IRData: //要發送數據格式按6121
DB 000H //用戶碼
DB 0FFH //用戶碼反碼
DB 025H //數據
DB 0DAH //數據反碼
RSEG ?PR?IR_send?IRSEND
IR_send:
USING 0
CLR EA
;//發射引導碼
MOV R5,#035H
MOV R4,#02H
MOV R7,#054H
MOV R6,#01H
LCALL _IR_carry
CLR A
MOV i?040,A
?C0001:
;//發射幀數據
CLR A
MOV j?041,A
?C0004:
MOV A,i?040
MOV DPTR,#IRData
MOVC A,@A+DPTR
MOV R7,A
MOV R6,j?041
MOV R0,AR6
INC R0
SJMP ?C0021
?C0020:
CLR C
RRC A
?C0021:
DJNZ R0,?C0020
JNB ACC.0,?C0007
MOV R5,#0CDH
SJMP ?C0024
?C0007:
MOV R5,#046H
?C0024:
LCALL L?0025
?C0006:
INC j?041
MOV A,j?041
CLR C
SUBB A,#08H
JC ?C0004
?C0003:
INC i?040
MOV A,i?040
CLR C
SUBB A,#04H
JC ?C0001
?C0002:
//=====================================
MOV R5,#011H
LCALL L?0025
CLR IRTX
SETB EA
RET
; END OF IR_send
; //+++++++++++++++++++++++++++++++++++++++++++++++++++++++
RSEG ?PR?_IR_carry?IRSEND
L?0025:
USING 0
MOV R4,#00H
MOV R7,#013H
MOV R6,#00H
_IR_carry:
USING 0
?C0012:
CLR IRTX
MOV R3,#08H
?C0013:
DJNZ R3,?C0013
?C0014:
SETB IRTX
MOV A,R7
DEC R7
JNZ ?C0022
DEC R6
?C0022:
DEC A
ORL A,R6
JNZ ?C0012
SETB IRTX
?C0016:
MOV A,R5
DEC R5
JNZ ?C0023
DEC R4
?C0023:
DEC A
ORL A,R4
JNZ ?C0016
?C0018:
RET
; END OF _IR_carry
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -