⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yz285.asm

📁 除湿机的说明程序文件 已经生产几十W台 出口机形 分时操作
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;

;********************** FOR PRESET TMP *************************
FPRTMP:
        LD      (WDTCR2),0X4E             ; Clears the watchdog counter

        LD      C,(CD0TMP)
        AND     C,0XF
        LD      A,0X1F                    ; 31
        SUB     A,C
        LD      (PRSTMP),A

        RET
;
;***************** FOR COMPRESSOR ON ********************
FCMPON:
        TEST    (FLAG1).DLY3M
        JR      F,CMPNTO

        TEST    (P7).4
        JR      F,CMPNTO
        SET     (P7).4
        NOP
        SET     (P7).0
        NOP
CMPNTO:
        RET
;
;******************** FOR AD CONVERTER ****************
FORAD:
        TEST    (FLAG1).ADON
        JR      F,ADFLW
        RET
;
ADFLW:

        CLR     (ADCCR).4
        LD      (ADCCR),0Y00000011        ; FOR RMP AD 

        CALL    DLY100U
        CALL    AD1

        CLR     (ADCCR).4
        LD      (ADCCR),0Y00000101        ; FOR RM AD  
        CALL    DLY100U
        CALL    AD1                     
        CLR     (FLAG1).ADON
        RET
;
;***************************************************
AD1:
        SET     (ADCCR).6
        NOP
ADWTAD:
        NOP
        TEST    (ADCCR).7
        JRS     T,ADWTAD
        NOP
        LD      (ADVAL),(ADCDR)
        CMP     (ADVAL),0X8
        JR      CS,CHKERR

        CMP     (ADVAL),0XF0
        JR      CC,CHKERR

        CMP     (ADVAL),0X2E                     ; CMP WITH -10C
        JR      CS,LOW10
        CMP     (ADVAL),0XDC                  ; CMP WITH THE MAX TMP 79C
        JR      CC,HIGDF
        CLR     (ADTMP)
        LD      HL,ADTABL2+1

CHKCNT:
        LD      A,(HL)
        CMP     A,(ADVAL)
        JR      CC,CHKOK
        INC     HL
        INC     (ADTMP)
        JR      CHKCNT
;
;
HIGDF:
        LD      (ADTMP),0X4F                ; 79C
        JR      ADEND
;
CHKOK:
        INC     (ADTMP)

        SUB     A,(ADVAL)
        LD      C,A
        LD      W,(HL-1)
        LD      A,(ADVAL)
        SUB     A,W
        CMP     A,C
        JR      CC,CKTMOK
        DEC     (ADTMP)

CKTMOK:
        CMP     (ADTMP),0XA                    ; if c > 10
        JR      CS,LOW10
        SUB     (ADTMP),0XA
        JR      ADEND
;
LOW10:
        LD      (ADTMP),0                ; IF ADTMP LOW0 THEN =0C
        JR      ADEND
;
CHKERR:
        LD      A,(ADCCR)
        AND     A,0XF
        CMP     A,0X5
        JR      EQ,RMERR    
        SET     (FLAG1).RMPWRN
        RET
;
RMERR:
        SET     (FLAG1).RMWRN
        RET
;
ADEND:
        LD      A,(ADCCR)
        AND     A,0XF
        CMP     A,0X5
        JR      EQ,ISRMTMP  
        CLR     (FLAG1).RMPWRN

        LD      (RMPTMP),(ADTMP)         ; IS RMPTMP
        LD      (RMPVAL),(ADVAL)

        RET
;
ISRMTMP:
        CLR     (FLAG1).RMWRN
        LD      (RMTMP),(ADTMP)
        RET
;
;******************* the INT1 for receive the remote ***************

PINT1:
        LD     RBS,2
        CMP    (MODEP),1                 ; MODEP=0-->LEAD
        JR     CS,LEAD           
        CMP    (MODEP),2                 ; MODEP=1-->LEADA
        JR     CS,LEADA
        CMP    (MODEP),3                 ; MODEP=2-->LEADB
        JR     CS,LEADB
        CMP    (MODEP),4                 ; MODEP=3-->DATACD
        JR     CS,DATACD
        JP     ERROR
;
LEAD:
        LD     (TC3CR),0Y00000100
        CLR    (EINTCR).1             ; SET INT1 FOR RISING EDGE
        INC    (MODEP)
        LD     (TREG3A),0X3D         ; MAKE TC3 IS 15MS
        LD     (TC3CR),0Y00010100    ; Start TC3 
        RETI

LEADA:
        LD     (TC3CR),0Y01010100
        NOP
        NOP
        LD     A,(TREG3B)
        CMP    A,0XC                ; 3.0 MS TO 4.32MS
        JR     CS,ERROR
        CMP    A,0X12
        JR     CC,ERROR
        INC    (MODEP)
        LD     (TC3CR),0Y00001000    ; STOP & COUNTER CLEAR
        LD     (TREG3A),0X60 
        SET    (EINTCR).1            ; SET INT1 FOR FALLING EDGE
        LD     (TC3CR),0Y00011000    ; RESTART TC3
        RETI
;
LEADB:
        LD     (TC3CR),0Y01011000
        LD     A,(TREG3B)           ; 
        CMP    A,0X28               ; HIGH TIME IS 1.22MS TO 2MS
        JR     CS,ERROR
        CMP    A,0X42
        JR     CC,ERROR
        LD     HL,WORK              ; CLEAR WORK
        LD     C,0XD
CLRWK:
        LD     (HL),0
        INC    HL
        DEC    C
        JR     F,CLRWK
        CLR    (RCVNUM)
        INC    (MODEP)
        LD     (TC3CR),0Y00001000
        LD     (TREG3A),0X60
        LD     (TC3CR),0Y00011000   ;RESTART TC3
        RETI
;
ERROR:
        LD      (TC3CR),0Y00000100   ;STOP THE TC3
        CLR     (MODEP)
        CLR     (RCVNUM)
        SET    (EINTCR).1            ; SET INT1 FOR FALLING EDGE

        RETI
;
DATACD:
        LD    (TC3CR),0Y01011000
        LD    A,(TREG3B)
        CMP   A,0XA                  ; 0.3MS TO 1.8MS IS RIGHT
        JR    CS,ERROR
        CMP   A,0X3B
        JR    CC,ERROR
        CMP   A,0X20            ; IF >1MS THEN TO "1" <1MS TO "0"
        JR    CC,SET1
        CLR   CF
        JR    DTCDF
;
SET1:
        SET   CF

DTCDF:
        LD    HL,WORK+13
        LD    C,0XD              ; 14 TIMES
WKSHIFT:
        LD    A,(HL)             ; RECEIVE DATA AND RESTORE IN WORK
        RORC  A
        LD    (HL),A
        DEC   HL
        DEC   C
        JR    F,WKSHIFT
        INC   (RCVNUM)
        LD    (TC3CR),0Y00001000
        LD    (TC3CR),0Y00011000         ;RESTART TC3
        RETI


;******************* THE TC3 INT ***********************

PINTTC3:
        LD      RBS,3
        CMP     (RCVNUM),0X70       ; 112 BITS
        JR      NE,ERROR
        CMP     (WORK),0X23
        JR      NE,ERROR
        CMP     (WORK+1),0XCB
        JR      NE,ERROR
        CMP     (WORK+2),0X26
        JR      NE,ERROR
        CMP     (WORK+3),0X1
        JR      NE,ERROR
        CMP     (WORK+4),0
        JR      NE,ERROR
        LD      W,0
        LD      B,0
        LD      HL,WORK
ADDJYM:
        LD      A,(HL)
        ADD     W,A
        INC     HL
        INC     B
        CMP     B,0XD                 ; 13 WORDS
        JR      CS,ADDJYM

        LD      A,(0X8E)
        CMP     A,W
        JR      NE,ERROR

        TEST    (FLAG2).ISDLFLG
        JR      T,RECNDL                ; IF DL MOD THEN NO EFFECT

        LD      A,(0X87)
        AND     A,0XF
        CMP     A,1
        JR      EQ,ERRZZ

RECNDL:

        TEST    (WORK+5).0             ; TEST IF HAVE HUANGQI
        JR      F,ERRZZ

        SET     (FLAG1).RCVNEW
        SET     (FLAG3).BUZZEN

ERRZZ:
        JP      ERROR

;
;******************* THE TC2 INT *************************
;*
;*    FOR CLOCK AND STEP MOTOR
;*
;*
;*********************************************************

PINTTC2:
        LD      RBS,1
        TEST    (FLAG2).RSTSTP            ; IF HIGH SPEED
        JR      F,STHSPD
        TEST    (FLAG2).STPFKJ
        JR      F,STHSPD

        TEST    (P7).7
        JR      F,IFSWING
        TEST    (P7).6
        JR      F,IFSWING
        TEST    (P7).5
        JR      F,IFSWING
        JR      NTSPZ2
;
IFSWING:
        LD      A,(VANFAN)            ; TEST IF SWING
        AND     A,0X38
        CMP     A,0X38
        JR      EQ,NTRCVF
;
NTSPZ2:
        LD      A,(P1)                     ; IF NO STEP THEN CLR ALL PULSE
        AND     A,0XF
        LD      (P1),A
NTSPZZ:
        JP      NTSTEP
;
NTRCVF:
        
        INC     (STPSPD)                   ; FOR STEP MOTOR
        CMP     (STPSPD),0X4
        JR      CS,NTSPZZ
        CLR     (STPSPD)

        INC     (FDRMMS)
        CMP     (FDRMMS),0XFA              ; 250 * 4 * 4MS = 4 SECONDS
        JR      CS,STPRUN
        CLR     (FDRMMS)
        INC     (FDRSEC)
        CMP     (FDRSEC),0XF               ; 15 * 4S = 1MIN
        JR      CS,STPRUN
        CLR     (FDRSEC)
        INC     (FDRMIN)
        CMP     (FDRMIN),0X3C               ; CMP WITH 60 MINUTES
        JR      CS,STPRUN
        CLR     (FDRMIN)
        CALL    STFKJFL                     ; AFTER 1 HOUR RESET STEP
        JR      STPRUN
;
STHSPD:
        INC     (STPSPD)
        CMP     (STPSPD),0X1
        JR      CS,NTSTEPZ
        CLR     (STPSPD)

STPRUN:

        TEST    (FLAG2).STPCLS            ; FOR SHUN SHI ZHEN
        JR      T,OPENDR
;
CLOSDR:
        LD      HL,STPTBL
        INC     (STEPSW)
        CMP     (STEPSW),0X8
        JR      CS,CLSDRFF
        CLR     (STEPSW)
CLSDRFF:
        LD      C,(STEPSW)
        LD      W,(HL+C)
        JR      STPOK
;

STPTBL:

        DB      0Y00010000        ; STEP 1
        DB      0Y00110000        ; STEP 2
        DB      0Y00100000        ; STEP 3
        DB      0Y01100000        ; STEP 4
        DB      0Y01000000        ; STEP 5
        DB      0Y11000000        ; STEP 6
        DB      0Y10000000        ; STEP 7
        DB      0Y10010000        ; STEP 8


OPENDR:                                   ; FOR  NI SHI ZHEN
        LD      HL,STPTBL
        CMP     (STEPSW),0
        JR      NE,OPDRFF
        LD      (STEPSW),0X8
OPDRFF:
        DEC     (STEPSW)
        LD      C,(STEPSW)
        LD      W,(HL+C)

STPOK:
        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),0X2E           ; 135DU
        JR      CS,NTSTEPZ
        SET     (FLAG2).STPCLS
        CMP     (STPNUM2),0X5C
        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,STPCLSHT
        CMP     A,0X12                       ;  FOR CLOSE 54DU
        JR      CS,NTSTEP
        JR      STPCLSOK
;
STPCLSHT:
        CMP     A,0X11                       ; FOR HEAT CLOSE 51DU
        JR      CS,NTSTEP

STPCLSOK:
        CLR     (STPNUM2)
        CLR     (FLAG2).STPCLS
        JR      NTSTEP
;
FSTPOPN:

        TEST    (FLAG2).ISHTFLG
        JR      F,STPOPFHT
        CMP     A,0X12                       ; FOR COOL OPEN 54DU
        JR      CS,NTSTEP
        JR      STPOPNOK
;
STPOPFHT:
        CMP     A,0X11                       ; FOR HEAT OPEN 51DU
        JR      CS,NTSTEP

STPOPNOK:
        CLR     (STPNUM2)
        SET     (FLAG2).STPCLS
        JR      NTSTEP
;
STFKJ:
        CMP     (STPNUM2),0X2E               ; OPEN 135 DU
        JR      CS,NTSTEP
        SET     (FLAG2).STPCLS               ;

        CMP     (STPNUM2),0X44               ; CLOSE TO 70DU
        JR      CS,NTSTEP
        CLR     (FLAG2).STPFKJ

        TEST    (FLAG2).ISHTFLG
        JR      F,OPNISHT
        LD      (STPNUM2),0X4
        JR      NTSTEP
;
OPNISHT:
        LD      (STPNUM2),0X7

NTSTEP:
        INC     (MMMS)
        CMP     (MMMS),0X2
        JR      CC,INCMMS
        RETI

INCMMS:
        CLR     (MMMS)

        TEST    (P7).7
        JR      F,OPNJHQ
        TEST    (P7).6
        JR      F,OPNJHQ
        TEST    (P7).5
        JR      F,OPNJHQ

        CLR     (P7).2                ; IF NO FAN THEN CLEAR THE JINHUAQI
        JR      FJHQOK
;
OPNJHQ:
        SET     (P7).2                   ; SET THE JINHUAQI  

FJHQOK:
        INC     (MMS)

        TEST    (FLAG3).BUZZEN
        JR      T,NOBUZZ
        SET     (P1).3
        INC     (BUZZCNT)
        CMP     (BUZZCNT),0XC
        JR      CS,INCHI70
        CLR     (BUZZCNT)
        CLR     (FLAG3).BUZZEN
NOBUZZ:
        CLR     (P1).3

INCHI70:

        TEST    (P7).1                       ; TEST THE VAL
        JR      T,NOVALTM
        INC     (VALMMS)
        CMP     (VALMMS),0XFD
        JR      CS,FIADMMS
        DEC     (VALMMS)
        JR      FIADMMS
;
NOVALTM:
        CLR     (VALMMS)

FIADMMS:
        INC     (FADMMS)
        CMP     (FADMMS),0XFA              ; PER 2S AD ONCE
        JR      CS,FRFLSH1
        CLR     (FADMMS)
        SET     (FLAG1).ADON

FRFLSH1:
        CMP     (MMS),0X7D                 ; 125 * 8MS = 1 S
        JR      CC,FINCSC0
        RETI
;
FINCSC0:
        CLR     (MMS)

        INC     (FLD2SEC)

        INC     (FLD0SEC)

        INC     (CYRSEC)
        CMP     (CYRSEC),0XF0
        JR      CS,FHTHSTM
        DEC     (CYRSEC)

FHTHSTM:

        TEST    (FLAG2).ISHTFLG
        JR      T,ICMNHT
        TEST    (P7).4                      ; TEST THE CMP
        JR      T,INCMP11
        INC     (HTCMSEC)
        CMP     (HTCMSEC),0X3C
        JR      CS,INCMP11
        CLR     (HTCMSEC)

        INC     (HTCMIN)
        CMP     (HTCMIN),0XF0
        JR      CS,INCMP11
        DEC     (HTCMIN)
        JR      INCMP11
;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -