?? gb_bh.asm
字號:
;************************************************************
;文檔類型: 原代碼
;項目編號:
;文檔編號:
;修訂版本:
;生成日期:
;文檔作者:
;審 核:
;************************************************************
;相關文檔:
;文檔編號
;************************************************************
;修訂說明
;修訂版本
;************************************************************
$INCLUDE (RAML128.INC)
$INCLUDE (PL3105.INC)
$INCLUDE (IO.INC)
CODE_REG SEGMENT CODE
RSEG CODE_REG
PUBLIC GB_BH
EXTRN CODE (CLR_ZB)
;--------------------------------------------------------------
;強制鍵按下時通過載波發送本表表號
GB_BH:
NOP
NOP
NOP
MOV R0,#ZB_OK
MOV A,@R0
CJNE A,#'O',GB_BH_RET ; 07-3-23 LIHENG 必須有載波命令才可載波響應
JB READ_BH,GB_BH_RET ; 07-3-23 LIHENG 必須短接才可載波響應
CALL CLR_ZB ;清載波緩存
MOV ZB_09H,#09H
MOV ZB_AFH,#0AFH
MOV R0,#TAR_ADDR0 ;集中器地址
MOV R5,#3
GB_BH_ADDR:
MOV A,#0BBH
MOV @R0,A
INC R0
DJNZ R5,GB_BH_ADDR
MOV ZB_CTR,#81H ;控制碼
MOV ZB_L,#12 ;數據域長度
MOV FS_L,#21 ;發送數據長度
MOV FS_JYL,#17 ;校驗數據長度
MOV ZB_DI0,#32H
MOV ZB_DI1,#0C0H ;標識碼
MOV R0,#ZB_BUF2 ;主叫表號
MOV R1,#BH_0
MOV R5,#3
GB_BH_ADDR0:
MOV A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R5,GB_BH_ADDR0
MOV ZB_BUF5,B_STATE ;繼電器狀態
MOV R0,#ZB_BUF6 ;表號
MOV R1,#BH_0
MOV R5,#6
GB_BH_ADDR1:
MOV A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R5,GB_BH_ADDR1
MOV R0,#TAR_ADDR0 ;數據校驗
MOV R6,#0
MOV R7,#0
GB_ZB_JY0:
MOV A,@R0
INC R0
ADD A,R6
MOV R6,A
MOV A,R7
ADDC A,#0
MOV R7,A
DJNZ FS_JYL,GB_ZB_JY0
MOV A,R6
MOV @R0,A ;存低字節數據校驗
INC R0
MOV A,R7 ;存高字節數據校驗
MOV @R0,A
MOV A,FS_L
ADD A,#2 ;多發送2字節
MOV FS_L,A
JB READ_BH,GB_BH_RET ; 07-3-23 LIHENG 必須短接才可載波響應
MOV EIE,#1
MOV EXT_CFG,#01H ;//070131, 置位 PLM_SSC ,同時使其他位為0
; SETB PLM_SSC ;//防止誤出現紅外使能,是串口0無法工作
SETB PLM_RS
MOV PLM_RS0,#'F'
GB_BH_RET:
MOV HW_OK,#0
MOV ZB_HW,#0
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -