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

电熨斗程序
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------------------------;

;**************************************************************************************************;



虹吸马桶下水慢没有吸力-办公室设计说明范文

电熨斗程序

更多推荐

电熨斗