老榆木家具价格及图片-家具搭配技巧

2023年4月24日发(作者:电压力锅十大名牌)处放mode资料,为bit6bit5
;_8分钟/10分钟双功能为00,带BEEP功能为01,2分钟/2分钟为10,2分钟/8分钟为11
MOVWFtGDS_STATUStt;初始化GDS状态寄存器,检测使能为不使能
CALL tGDS_CHECK01Stt;为保证继电器正常工作,上电延迟1s
;模式选择,直接跳转
BTFSStGDS_STATUS,6
GOTOtMODE8_10
MODE2_2_8
BTFSStGDS_STATUS,5
GOTOtMODE_2MIN2MIN
GOTOtMODE_2MIN8MINtt
MODE8_10
BTFSStGDS_STATUS,5
GOTOtMODE_8MIN10MIN
GOTOtMODE_BEEPttt
;*******************************************************************************
;*************************************************;
;----------------------------- PORT INITIALIZATION ---------------------------------------------;
;*************************************************;
;_2分/2分的程序开始
MODE_2MIN2MIN:
MOVLWt.39tt;平放立放均加热2分钟t
GOTOtASO_OUT
;BEEP模式开始
MODE_BEEPt
MOVLWt.20tt;一上电均加热1分钟
;ttMOVLWt.1
GOTOtASO_OUT
;*************************************************;
;_2分/8分的程序开始
MODE_2MIN8MIN:
BTFSC GDS_STATUS,0
GOTO MODE_2MIN8MIN_HIGHttt;立放,延时8分,忽略检测GDS的变化
MODE_2MIN8MIN_LOW:t
MOVLWt.39tttt;GDS为低,平放加热120s(2分)t
GOTOtASO_OUT
MODE_2MIN8MIN_HIGH:
MOVLWt.156tttt;GDS为高,立放加热8分钟t
;testttMOVLWt.6
GOTOtASO_OUT
MODE_8MIN10MIN
NOP
;*************************************************;
;_8分/30秒的程序开始
MODE_8MIN:
BTFSC GDS_STATUS,0
GOTO MODE_8MIN_HIGHttt;立放,延时8分,忽略检测GDS的变化
MODE_8MIN_LOW:t
MOVLWt.30tttt;GDS为低,平放加热90s(1分30s)t
;test
;ttMOVLWt.20
GOTOtASO_OUT
MODE_8MIN_HIGH:
;ttMOVLWt.160tttt;GDS为高,立放加热8分钟t
MOVLWt.156tttt;修正值-9s
;TESTt
;ttMOVLWt.40
GOTOtASO_OUT
;*************************************************;
;加热延时检测主程序
ASO_OUT:
MOVWFtDELAY_NS
BCF PB,BEEP_OUTtttt;加热动作开始
;ttBCF PB,LED_OUTttt
BSF PB,RL1_OUT
;ttCALLtGDS_CHECK1S
BCFttGDS_STATUS,2
CLRFtTIME0
DELAY_3S_LP:ttttttt
MOVLWt.3ttttt;延时3s,因1个检测周期是1s
MOVWFtDELAY_3S
DELAY_S_LP:
BSF PB,RL1_OUT
DELAY_S_LP_1
CALLtGDS_CHECKIN
GOTOtDELAY_S_LP_1
TIME1S_OUT
DECFSZtDELAY_3S,Fttt;延时3s时间到否
GOTOtDELAY_S_LPt
DECFSZtDELAY_NS,Fttt;加热总延时时间到否
GOTOtDELAY_3S_LP
GOTOtASO_INtttt;到,转ASO_IN,停止加热处理
;******************************************************************tt
;检测输入子程式
GDS_CHECKIN
CLRFtL_LEVEL
CLRFtH_LEVEL
GDS_CHECKIN_LP
BTFSCtGDS_STATUS,2tt;判断状态改变位是否为1
GOTOtSTATUS_CHANGEtt;改变则转状态改变处理程式
CLRWDT
BTFSCtTMR0,7
GOTOtTMR0_OUT
GOTOtGDS_CHECKIN_LP
CHECK_IT
BTFSStGDS_STATUS,7
GOTOtGDS_
BTFSC PB,GDS_IN
INCF GDS_TEMP,F
CALLtDELAY18MStt
DECFSZ CHECK_NUM,F
GOTOtGDS_CHECK_LP
MOVLWt08H
SUBWFtGDS_TEMP,0
BTFSC tSTATUS,C
BSFtGDS_STATUS,0ttt;取得GDS当前状态
BTFSStGDS_STATUS,0ttt;判断状态有否改变
GOTOtGDS_S_Ltttt;置位GDS状态改变位
BTFSStGDS_STATUS,1
BSFtGDS_STATUS,2
BTFSCtGDS_STATUS,1
BCFtGDS_STATUS,2
GOTOt$+5
GDS_S_L:tBTFSCtGDS_STATUS,1
BSFtGDS_STATUS,2
BTFSStGDS_STATUS,1
BCFtGDS_STATUS,2
BTFSStGDS_STATUS,2ttt;状态改变
GOTOt$+3tttt;把当前状态保存到oldstatus里
MOVLWt2H
XORWFtGDS_STATUS,F
BTFSStGDS_STATUS,7ttt;判断改变状态使能位
BCFtGDS_STATUS,2ttt;为0不使能,状态改变位清0t
BTFSCtGDS_STATUS,2
GOTOt$+3
DECFSZ tDELAYCK1S,F
GOTOtGDS_CHECK_STARTtt
RETLW 0Htttt;返回
;*************************************************
DELAY18MS:tttttt;延时18ms子程式
MOVLWt0EH
MOVWFtDELAY1
DELAY1_LP:tMOVLWt0FEH
MOVWFtDELAY2
NOP
DELAY2_LP:tNOP
CLRWDT
DECFSZtDELAY2,F
GOTOtDELAY2_LP
DECFSZtDELAY1,F
GOTOtDELAY1_LP
RETLW 0H
;*************************************************
GDS_CHECK125MS
BCFttGDS_STATUS,BEEP_OTP
GOTOt$+2
GDS_CHECK05S_BEEP
GDS_CHECK125MS_BEEP
BSFttGDS_STATUS,BEEP_OTP
MOVLWt.5
MOVWFtDELAYCK1S
CHECK1S_BEEP_START:
MOVLWt08H
MOVWF GDS_TEMP
BCFtGDS_STATUS,0ttt;GDS当前状态位预清0
MOVLW 7Htttt;检测7次,共125msttt
MOVWF CHECK_NUMttt;改此可改变灵敏度,需配合改变GDS_TEMP
CHECK1S_BEEP_LP:t
BTFSS PB,GDS_IN
DECF GDS_TEMP,F
BTFSC PB,GDS_IN
INCF GDS_TEMP,F
CALLtDELAY18MS_BEEPtt
DECFSZ CHECK_NUM,F
GOTOtCHECK1S_BEEP_LP
MOVLWt08H
SUBWFtGDS_TEMP,0
BTFSC tSTATUS,C
BSFtGDS_STATUS,0ttt;取得GDS当前状态
BTFSStGDS_STATUS,0ttt;判断状态有否改变
GOTOtCHECK1S_BEEP_Ltttt;置位GDS状态改变位
BTFSStGDS_STATUS,1
BSFtGDS_STATUS,2
BTFSCtGDS_STATUS,1
BCFtGDS_STATUS,2
GOTOt$+5
CHECK1S_BEEP_L:t
BTFSCtGDS_STATUS,1
BSFtGDS_STATUS,2
BTFSStGDS_STATUS,1
BCFtGDS_STATUS,2
BTFSStGDS_STATUS,2ttt;状态改变
GOTOt$+3tttt;把当前状态保存到oldstatus里
MOVLWt2H
XORWFtGDS_STATUS,F
BTFSStGDS_STATUS,7ttt;判断改变状态使能位
BCFtGDS_STATUS,2ttt;为0不使能,状态改变位清0t
BTFSCtGDS_STATUS,2
GOTOt$+3
DECFSZ tDELAYCK1S,F
GOTOtCHECK1S_BEEP_START
BCFttPB,BEEP_OUTttt
RETLW 0Htttt;返回t
;*************************************************
DELAY18MS_BEEP:tttttt;延时18ms子程式
;ttMOVLWt0EH
MOVLWt05H
MOVWFtDELAY1
DELAY18MS_BEEP_LP:tMOVLWt04DH
MOVWFtDELAY2
DELAY18MS_BEE2_LP:tNOP
;ttBTFSStTMR0,1
;ttBCFttPB,BEEP_OUT
;ttBTFSCtTMR0,1
BTFSStGDS_STATUS,BEEP_OTP
BCFttPB,BEEP_OUT
BTFSCtGDS_STATUS,BEEP_OTP
BSFttPB,BEEP_OUT
CLRWDT
DECFSZtDELAY2,F
GOTOtDELAY18MS_BEE2_LP
DECFSZtDELAY1,F
GOTOtDELAY18MS_BEEP_LP
RETLW 0H
;*************************************************
;*************************************************;
;_10分的程序开始
MODE_10MIN:
BSFtGDS_STATUS,7ttt;检测使能
GOTO MIN10_ASO_OUT
;*************************************************;
;加热延时检测主程序
MIN10_ASO_OUT:
MOVLWt.195tttt;平放立放均加热10分钟
MOVWFtDELAY_NS
;ttBSF PB,LED_OUTtttt;加热动作开始
BSF PB,RL1_OUT
MIN10_3S_LP:tt
MOVLWt.3tttt;延时3s,因1个检测周期是1s
MOVWFtDELAY_3S
MIN10_S_LP:
CALLtGDS_CHECK1S
BTFSCtGDS_STATUS,2ttt;判断状态改变位是否为1
GOTOtMIN10_ASO_OUTttt;改变则转ASO处理程式
DECFSZtDELAY_3S,Fttt;延时30s时间到否
GOTOtMIN10_S_LP
DECFSZtDELAY_NS,Fttt;加热总延时时间到否
GOTOtMIN10_3S_LP
GOTOtMIN10_ASO_INttt;到,转ASO_IN,停止加热处理
;*************************************************;
;保护ASO开动
MIN10_ASO_IN:tt
BCF PB,LED_OUTtttt;加热动作开始
BCF PB,RL1_OUTttt;ASO开
BCFtGDS_STATUS,7ttt;开继电器时延时1s检测以防误动作
CALL GDS_CHECK1S
MIN10_ASOIN_1:
BSFtGDS_STATUS,7ttt;检测使能
CLRWDT
BTFSC PB,RESTART_IN
GOTO $-2
GOTO tMIN10_ASO_OUTttt;ASO_out动作t
;*************************************************;
END
;--------------------PROGRAMME END------------------------;
;**************************************************************************************************;
虹吸马桶下水慢没有吸力-办公室设计说明范文

更多推荐
电熨斗
发布评论