📄 t_pulse.asm
字号:
;************************************************************
;文档类型:
;项目编号:
;文档编号:
;修订版本:
;生成日期:
;文档作者:
;审 核:
;************************************************************
;相关文档: 系统初始化
;文档编号 说明
;************************************************************
;修订版本:
;修订版本:
;************************************************************
$INCLUDE (RAML128.INC)
$INCLUDE (RAMH128.INC)
$INCLUDE (IO.INC)
$INCLUDE (PL3105.INC)
$INCLUDE (CONST.INC)
CODE_REG SEGMENT CODE
RSEG CODE_REG
PUBLIC T_PULSE
;************************************************************
T_PULSE:
NOP
NOP
NOP
PUSH ACC
MOV A,R0
PUSH ACC
MOV TH0,#BASETIM0_H ;重装计数初值
MOV TL0,#BASETIM0_L
JNB SOFT_DOG,TTT0 ;喂狗
CLR SOFT_DOG
MOV WDI,#0A1H
TTT0: ;载波冗余处理
DJNZ TMR_ZB,TTT2
MOV TMR_ZB,#20
MOV EXT_CFG,#01H ;使能载波通信
CLR PLM_RS ;接收状态
MOV PLM_RS0,#0
SETB IT2 ;外部中断2为下降沿触发
MOV ZB_RC_SIGN,#0
MOV ZB_OK,#0
MOV FS_WS,#ZTS ;载波帧头发送1的个数
TTT2: ;串口冗余处理
DJNZ TMR_UART,TTT3
MOV TMR_UART,#15
MOV TH1,#BAUD1200_H ;设置BTL.1200BPS,HW
MOV TMOD,#21H ;T1工作于方式2,T0工作于方式1
MOV PCON,#11000000B ;串口0波特率加倍
MOV RS485_CN,#0
TTT3:
MOV R0,#TMR_INIT0
DEC @R0
MOV A,@R0
JNZ TTT_END
MOV R0,#TMR_INIT0
MOV @R0,#200
MOV R0,#TMR_INIT1
DEC @R0
MOV A,@R0
JNZ TTT4 ;
MOV ZB_HW,#0 ;清载波直抄表命令标志
TTT4:
DJNZ TMR_M1,TTT_END
MOV R0,#RD_BH_TIME
MOV @R0,#3
MOV TMR_M1,#3 ;每3分钟读取本表表号及继电器状态一次
MOV R0,#MINUTE_OK
MOV @R0,#55H ; LIHENG 07-5-12
MOV R0,#MINUTE
MOV @R0,#55H ;置读取表号及继电器状态总标志
MOV R0,#BH_JDQ ;置标志BH_JDQ读取本表表号
MOV @R0,#00H ;置标志BH_JDQ读取本表继电器状态 liheng 07-5-12
MOV HW_OK,#0 ; 07-5-12 LIHENG
MOV ZB_HW,#0
MOV ZB_OK,#0
TTT_END:
POP ACC
MOV R0,A
POP ACC
NOP
NOP
NOP
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -