;----------------------------------------------
;***********对HT-12D发码子程序*****************
;----------------------------------------------HT12DOUT: BS P6,0
MOV A,@8 ;设定连发6 次
MOV CON4,A
HT12OUT:
BC R3,0
BS P6,1
CALL TMS
BC P6,1
;以下发送8位地址
MOV A,@8
MOV CON5,A
HT2:
RRC ROOM1
JBS R3,0
JMP HT0
JMP HT1
HT4:
BC P6,1
DJZ CON5
JMP HT2
RRC ROOM1
;以下发送4位数据
MOV A,@4
MOV CON5,A
BC R3,0
HT3:
RRC ROOM2
JBS R3,0
JMP HT5
JMP HT6
HT7:
BC P6,1
DJZ CON5
JMP HT3
RRC ROOM2
RRC ROOM2
RRC ROOM2
RRC ROOM2
RRC ROOM2
CALL STOPTIMES
DJZ CON4
JMP HT12OUT
BC P6,1
JMP MINN
;________________________
HT0:
BC P6,1 ;OUTPUT 0
CALL TMS
BS P6,1
CALL TMS
CALL TMS
JMP HT4
HT1:
CALL TMS ;OUTPUT 1
CALL TMS
BS P6,1
CALL TMS
JMP HT4
;__________________________
HT5:
BC P6,1 ;OUTPUT 0
CALL TMS
BS P6,1
CALL TMS
CALL TMS
JMP HT7
HT6:
CALL TMS ;OUTPUT 1
CALL TMS
BS P6,1
CALL TMS
JMP HT7
;============= 1 WORD 的间隔时间
STOPTIMES:
MOV A,@33
MOV CON3,A
STOP1:
CALL TMS
DJZ CON3
JMP STOP1
RET
;============= HT-12D 编码的间隔时间
TMS:
MOV A,@0X02
MOV CON1,A
TMS1:
MOV A,@0X4F
MOV CON2,A
WDTC
TMS2:
DJZ CON2
JMP TMS2
DJZ CON1
JMP TMS1
RETL @0