📄 ylktst.asm
字号:
LD A,(P1)
AND A,0XF
OR A,W
LD (P1),A
INC (STPNUM)
CMP (STPNUM),0X22 ; (0X11) ;20 STEPS * 0.15DU = 3 DU
JR CS,NTSTEPZ
CLR (STPNUM)
INC (STPNUM2)
TEST (FLAG2).RSTSTP
JR T,NTRSTP
;/ CLR (FLAG2).STPCLS
;/ CMP (STPNUM2),0X26
;/ JR CS,NTSTEPZ
SET (FLAG2).STPCLS
CMP (STPNUM2),0X26
JR CS,NTSTEPZ
CLR (FLAG2).RSTSTP
CLR (FLAG2).STPCLS
CLR (STPNUM2)
NTSTEPZ:
JP NTSTEP
;
NTRSTP:
TEST (FLAG2).STPFKJ
JR F,STFKJ
LD A,(STPNUM2)
TEST (FLAG2).STPCLS
JR T,FSTPOPN
TEST (FLAG2).ISHTFLG
JR F,STFHTCS
CMP A,0XF ; FOR COOL CLOSE 45DU
JR CS,NTSTEP
CLR (STPNUM2)
CLR (FLAG2).STPCLS
JR NTSTEP
;
STFHTCS:
CMP A,0X14 ; FOR HEAT CLOSE 60DU
JR CS,NTSTEP
CLR (STPNUM2)
CLR (FLAG2).STPCLS
JR NTSTEP
;
FSTPOPN:
TEST (FLAG2).ISHTFLG
JR F,STHTOPN
CMP A,0XF ; FOR COOL OPEN 45DU
JR CS,NTSTEP
CLR (STPNUM2)
SET (FLAG2).STPCLS
JR NTSTEP
;
STHTOPN:
CMP A,0X14 ; FOR HEAT CLOSE 60DU
JR CS,NTSTEP
CLR (STPNUM2)
SET (FLAG2).STPCLS
JR NTSTEP
;
STFKJ:
CMP (STPNUM2),0X26 ; OPEN 115 DU
JR CS,NTSTEP
SET (FLAG2).STPCLS ;
LD A,(STPNUM2)
TEST (FLAG2).ISHTFLG
JR F,STPFHT
CMP A,0X3B ; STEP FOR COOL CLS 64DU
JR CS,NTSTEP
CLR (STPNUM2)
CLR (FLAG2).STPFKJ
CLR (FLAG2).STPCLS ; FOR NEXT OPEN
JR NTSTEP
;
STPFHT:
CMP A,0X28 ; STEP FOR HEAT CLS 6 DU
JR CS,NTSTEP
CLR (STPNUM2)
CLR (FLAG2).STPFKJ
SET (FLAG2).STPCLS ; FOR NEXT CLOSE
NTSTEP:
INC (MMMS)
CMP (MMMS),0X2
JR CC,INCMMS
RETI
INCMMS:
CLR (MMMS)
TEST (FLAG5).ISSHORT
JR T,MSNSHT
ADD (MMS),0XA
ADD (FLFMMS),0XA
ADD (FADMMS),0XA
ADD (FLSMMS),0XA
LD A,(FANMOD) ; IF NOT AUTO MOD DONT NEED INC
AND A,0X7
CMP A,0
JR NE,MSISHT
ADD (AUTMMS),0XA
JR MSISHT
;
MSNSHT:
INC (MMS)
INC (FLFMMS)
INC (FADMMS)
INC (FLSMMS)
LD A,(FANMOD) ; IF NOT AUTO MOD DONT NEED INC
AND A,0X7
CMP A,0
JR NE,MSISHT
INC (AUTMMS)
MSISHT:
TEST (FLAG4).FANON
JR T,FRBZFLZ
INC (ZSCNT)
CMP (ZSCNT),0X4B ; 600MS
JR CS,FRBZFLZ
CLR (ZSCNT)
LD (ZZZZ),(ZSBUF)
CLR (ZSBUF)
CMP (ZZZZ),0X2
JR CC,FFKFLW
INC (IFFK)
CMP (IFFK),0X19 ; 15S
JR CS,IFKERR
DEC (IFFK)
SET (FLAG4).FKERR
TEST (FLAG4).IS30JX ; IF 30JX
JR F,FNWRN30
LDW (WJTSBF),0XCB0 ; IF FAN WRN THEN LOW FAN
;
FRBZFLZ:
JP FRBZFLW
;
FNWRN30:
LDW (WJTSBF),0XC60 ; IF FAN WRN THEN LOW FAN
JP FRBZFLW
;
FFKFLW:
CLR (IFFK)
CLR (FLAG4).FKERR
IFKERR:
LD A,(ZZZZ)
CMP A,(FAN1)
JR CS,HGFNDEC
LD A,(ZZZZ)
CMP A,(FAN2)
JR CC,HGFNINC
JP FRBZFLW
;
HGFNDEC:
LD L,(WJTSBF)
LD H,(WJTSBF+1)
CMP HL,0X60
JR CS,FRBZFLW
LD A,(FAN1)
SUB A,(ZZZZ)
CMP A,0X6
JR CC,DCSB44
CMP A,0X4
JR CC,DCSB33
CMP A,0X3
JR CC,DCSB22
SUB HL,0X4
JR LDWJTSBF
;
DCSB44:
SUB HL,0X20
JR LDWJTSBF
;
DCSB33:
SUB HL,0X10
JR LDWJTSBF
;
DCSB22:
SUB HL,0X8
JR LDWJTSBF
;
HGFNINC:
LD L,(WJTSBF)
LD H,(WJTSBF+1)
CMP HL,0X1100
JR CC,FRBZFLW
LD A,(ZZZZ)
SUB A,(FAN2)
CMP A,0X5
JR CC,ICAD44
CMP A,0X3
JR CC,ICAD33
CMP A,0X2
JR CC,ICAD22
ADD HL,0X4
JR LDWJTSBF
;
ICAD44:
ADD HL,0X20
JR LDWJTSBF
;
ICAD33:
ADD HL,0X10
JR LDWJTSBF
;
ICAD22:
ADD HL,0X8
LDWJTSBF:
LD (WJTSBF),L
LD (WJTSBF+1),H
FRBZFLW:
TEST (FLAG3).BUZZEN
JR T,NOBUZZ
SET (P1).3
INC (BUZZCNT)
LD A,(BUZZCNT)
CMP A,(BUZ)
JR CS,INCHI70
CLR (BUZZCNT)
CLR (FLAG3).BUZZEN
NOBUZZ:
CLR (P1).3
INCHI70:
CMP (FADMMS),0XFA ; PER 2S AD ONCE
JR CS,FRFLSH1
CLR (FADMMS)
SET (FLAG1).ADON
FRFLSH1:
CMP (FLSMMS),0X7D
JR CS,NSTPFL
CLR (FLSMMS)
INC (FLSCNT)
;/ CMP (FLSCNT),0X8
;/ JR CS,NSTPFL
;/ CLR (FLSCNT)
NSTPFL:
CMP (AUTMMS),0X7D
JR CS,FTMSMMS
CLR (AUTMMS)
;/ TEST (FLAG2).ISATFLG
;/ JR T,NOAUTO
LD A,(FANMOD)
AND A,0X7
CMP A,0
JR NE,FTMSMMS
INC (AUTSEC)
CMP (AUTSEC),0XF0
JR CS,FTMSMMS
DEC (AUTSEC)
;/ JR FTMSMMS
;/
;/NOAUTO:
;/ CLR (AUTSEC)
FTMSMMS:
CMP (MMS),0X7D ; 125 * 8MS = 1 S
JR CC,FINCSC0
RETI
;
FINCSC0:
CLR (MMS)
INC (FLDSEC)
TEST (FLAG4).TSTRUN ; FOR TEST RUN TIME
JR T,INTNTST
INC (TSTSEC)
CMP (TSTSEC),0X3C
JR CS,INTNTST
CLR (TSTSEC)
INC (TSTMIN)
INTNTST:
TEST (FLAG2).ISHTFLG ; FOR THE HEAT MOD CS TIME
JR T,ICMNHT
INC (HTCMSEC)
CMP (HTCMSEC),0X3C ; 60S
JR CS,INCMP11
CLR (HTCMSEC)
INC (HTCMIN)
CMP (HTCMIN),0XF0
JR CS,INCMP11
DEC (HTCMIN)
JR INCMP11
;
ICMNHT:
CLR (HTCMSEC)
CLR (HTCMIN)
INCMP11:
TEST (FLAG6).LWFN ; IF LOW FAN RUN 2 MINS
JR T,NOLWFNC
INC (LWFNSEC)
CMP (LWFNSEC),0XF0
JR CS,NOLWFNC
DEC (LWFNSEC)
NOLWFNC:
TEST (FLAG4).FKERR
JR T,SNFKER
INC (FKWSEC)
CMP (FKWSEC),0X3C
JR CS,IFSHORT
CLR (FKWSEC)
INC (FKWMIN)
JR IFSHORT
;
SNFKER:
CLR (FKWSEC)
CLR (FKWMIN)
IFSHORT:
NOP
TEST (P6).6 ; IF SHORT
JR T,NTSHORT
TEST (P6).6
JR T,NTSHORT
TEST (P6).6
JR T,NTSHORT
SET (FLAG5).ISSHORT
JR IFSHRTF
;
NTSHORT:
CLR (FLAG5).ISSHORT
IFSHRTF:
TEST (P6).7 ; IF TEST
JR T,NTTEST
TEST (P6).7
JR T,NTTEST
TEST (P6).7
JR T,NTTEST
SET (FLAG4).ISTEST
JR IFTSTF
;
NTTEST:
CLR (FLAG4).ISTEST
IFTSTF:
;/ TEST (FLAG3).HI52D ; AFTER GYBH 4MIN 15S CLEAR THE HI52
;/ JR T,NO52CCC
;/ INC (HI52C)
;/ CMP (HI52C),0X3C
;/ JR CS,INCFAD
;/ CLR (HI52C)
;/ INC (H52MIN)
;/ CMP (H52MIN),0XF0
;/ JR CS,INCFAD
;/ DEC (H52MIN)
;/ JP INCFAD
;/;
;/NO52CCC:
;/ CLR (HI52C)
;/ CLR (H52MIN)
;/
;/INCFAD:
TEST (FLAG1).DLY3M ; FOR DELAY 3 MINUTES
JR T,FRSEC
INC (S3MCNT)
CMP (S3MCNT),0XB4 ; 180 SECOND = 3 MINUTES
JR CS,FRSEC
CLR (S3MCNT)
CLR (FLAG1).DLY3M
FRSEC:
TEST (FLAG3).VDLY
JR T,NOVDLY
INC (VDCNT)
CMP (VDCNT),0X78 ; After 2 minute close the valve
JR CS,NOVDLY
CLR (VDCNT)
CLR (FLAG3).VDLY
NOVDLY:
TEST (SLPDSF).7 ; TEST IF SLEEP
JR T,CLRSLP
TEST (FLAG3).GJFLG ; TEST IF OFF
JR F,CLRSLP ; IF TURN OFF BY REMOTE
INC (SLPSEC)
CMP (SLPSEC),0X78 ; 2MINS
JR CS,IFCRN
CLR (SLPSEC)
INC (SLPMIN) ; 2MINS
CMP (SLPMIN),0XFA ;
JR CS,IFTJTMP
DEC (SLPMIN)
JR IFCRN
;
IFTJTMP:
CMP (SLPMIN),0X1E ; 1HOUR
JR EQ,IF2HOUR
CMP (SLPMIN),0X3C ; 2HOUR
JR EQ,IF2HOUR
JR IFCRN
;
IF2HOUR:
TEST (FLAG3).ISCOOL ; AFTER 1 HOUR
JR T,SLIFHT
CMP (SETTMP),0X30 ; CMP WITH 30C
JR CC,CSPTH31
LD A,(SETTMP)
ADD A,1
DAA A ; COOL SLP MAKE STTMP +1C
LD (SETTMP),A
CSPTH31:
JR IFCRN
;
SLIFHT:
TEST (FLAG2).ISHTFLG
JR T,CLRSLP
LD A,(SETTMP)
CMP (SLPMIN),0X78 ; 2HOUR
JR CC,HTSLSB3
CMP A,0X18
JR CS,HSPTL16 ; IF <= 16C THEN
SUB A,0X2 ; HEAT SLP MAKE STTMP -2C
JR HTSLTZH
;
HTSLSB3:
CMP A,0X19
JR CS,HSPTL16 ; IF <= 16C THEN
SUB A,0X3
HTSLTZH:
DAS A
LD (SETTMP),A
JR IFCRN
;
HSPTL16:
LD (SETTMP),0X16
JR IFCRN
;
CLRSLP:
CLR (SLPSEC)
CLR (SLPMIN)
;
IFCRN:
TEST (P7).6
JR T,CMPOFF
CLR (OFFSEC)
CLR (OFFMIN)
INC (CMPSEC)
INC (CMPSEC2)
CMP (CMPSEC),0X3C
JR CS,INCSEC
CLR (CMPSEC)
INC (CMPMIN)
CMP (CMPMIN),0XFE
JR CS,INCSEC
LD (CMPMIN),0XFD
JP INCSEC
;
CMPOFF:
CLR (CMPSEC)
CLR (CMPMIN)
INC (OFFSEC)
CMP (OFFSEC),0X3C
JR CS,INCSEC
CLR (OFFSEC)
INC (OFFMIN)
CMP (OFFMIN),0XFE
JR CS,INCSEC
LD (OFFMIN),0XFD
INCSEC:
INC (SECOND)
CMP (SECOND),0X3C
JR CS,TMRTI
CLR (SECOND)
INC (MINUTE)
CMP (MINUTE),0X3C ; 1 HOUR
JR CS,TMRTI
CLR (MINUTE)
INC (HOUR)
TMRTI:
RETI
;
;********************** THE INT3 **************************
PINT3:
LD (TC1CR),0Y00001000 ; STOP AND CLEAR THE COUTER 1
CLR (P7).2
TEST (FLAG4).FANON
JR T,NOFAN1
CLR (FLAG6).CUTCF
LD (TREG1AL),(WJTSBF)
LD (TREG1AH),(WJTSBF+1)
NOP
LD (TC1CR),0Y00011000 ; Start TC1
NOFAN1:
RETI
;
;********************** THE INT1 FOR FAN KUI **************
PINT4:
ADD (ZSBUF),0X1
RETI
;
;*********************** FOR THE TEST OF SELF ****************
TESTSF:
NOP
CALL TWBUZZ
CLR (MMS)
CLR (SECOND)
TSTWT:
LD (WDTCR2),0X4E ; Clears the watchdog counter
CMP (SECOND),2
JR CS,TSTWT
CLR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -