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

📄 sanyo5.asm

📁 分体空调的说明文件 名厂机型 几W台量 有PG电机 遥控 马达
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        LD      (PRSTMP),A
        LD      HL,ADTABL
        LD      A,(PRSTMP)
        ADD     A,(MDFTMP)                 ; Becouse the tmp form -10c
        LD      C,A
        LD      (PRSVAL),(HL+C)
        RET
;
;***************** FOR COMPRESSOR ON ********************
FCMPON:
        TEST    (FLAG1).DLY3M
        JR      F,CMPNTO
        TEST    (P0).7
        JR      F,CMPNTO
        SET     (P0).7               ; SET THE CMP
;/        SET     (P0).6               ; SET THE OUTFAN
        TEST    (FLAG2).ISHTFLG
        JR      T,CMPNTO
        SET     (P7).2               ; SET THE VALVE

CMPNTO:
        RET
;

;******************** FOR AD CONVERTER ****************
FORAD:
        TEST    (FLAG1).ADON
        JR      F,ADFLW
        RET
;
ADFLW:

        TEST    (YKRTMP).5         ; TEST THE FLG OF SENSOR ROOM/REMOTE
        JR      F,FADFRM

        CMP     (YKTMIN),0XA        ; IF HAV 10MINS NO REMOTE CODE
        JR      CS,FADFOUT

        SET     (YKRTMP).5           ; MAKE SENSOR IS ROOM

FADFRM:
        CLR     (ADCCR).4
        LD      (ADCCR),0Y00000101       ; FOR RM AD   AN5  
        CALL    DLY100U
        CALL    AD1

FADFOUT:
        TEST    (FLAG2).ISDLFLG
        JR      F,FADNOUT
        CLR     (ADCCR).4
        LD      (ADCCR),0Y00000000      ; FOR OTP AD   AN2  (25PIN)
        CALL    DLY100U
        CALL    AD1

FADNOUT:

        CLR     (ADCCR).4
        LD      (ADCCR),0Y00000100      ; FOR RMP AD    AN4  
        CALL    DLY100U
        CALL    AD1

        CLR     (FLAG1).ADON

        RET
;
;***************************************************
AD1:
        SET     (ADCCR).6
        NOP
        NOP
ADWTAD:
        NOP
        TEST    (ADCCR).7
        JRS     T,ADWTAD
        NOP
        LD      (ADVAL),(ADCDR)
        CMP     (ADVAL),0X8
        JR      CS,CHKERR
        CMP     (ADVAL),0X2C              ; CMP WITH -10C
        JR      CS,LOW10
        CMP     (ADVAL),0XF0
        JR      CC,CHKERR
        CMP     (ADVAL),0XDA              ; CMP WITH THE MAX TMP 79C
        JR      CC,HIGDF
        CLR     (ADTMP)
        LD      HL,ADTABL+1
CHKCNT:
        LD      A,(HL)
        CMP     A,(ADVAL)
        JR      CC,CHKOK
        INC     HL
        INC     (ADTMP)
        JP      CHKCNT
;
HIGDF:
        LD      (ADTMP),0X4F                ; 79C
        JP      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
        JP      ADEND
;
LOW10:
        LD      (ADTMP),0                   ; IF ADTMP LOW0 THEN =0
        JP      ADEND
;
CHKERR:
        LD      A,(ADCCR)
        AND     A,0XF
        CMP     A,0X0
        JR      EQ,OTPERR    
        CMP     A,0X5
        JR      EQ,RMERR
        SET     (FLAG1).RMPWRN
        RET
;
OTPERR:
        SET     (FLAG1).OTPWRN
        RET
;
RMERR:
        SET     (FLAG1).RMWRN
        RET
; 
ADEND:
        LD      A,(ADCCR)
        AND     A,0XF
        CMP     A,0X0
        JR      EQ,ISOTPIP  
        CMP     A,0X5
        JR      EQ,ISRMTMP
        CLR     (FLAG1).RMPWRN
        LD      (RMPTMP),(ADTMP)         ; ISRMPTMP
        LD      (RMPVAL),(ADVAL)
        RET
;
ISOTPIP:
        CLR     (FLAG1).OTPWRN
        LD      (OTPTMP),(ADTMP)
        LD      (OTPVAL),(ADVAL)
        RET
;
ISRMTMP:
        CLR     (FLAG1).RMWRN
;/        CLR     (FLAG4).FDS50

        LD      (RMTMP),(ADTMP)
        LD      (RMVAL),(ADVAL)
        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  4.19M/2^10
        RETI

LEADA:
        LD     (TC3CR),0Y01010100
        NOP
        NOP
        LD     A,(TREG3B)
        CMP    A,0X1E                ; 7 MS TO  9.5MS
        JR     CS,ERROR
        CMP    A,0X27
        JR     CC,ERROR
        INC    (MODEP)
        LD     (TC3CR),0Y00001000    ; STOP & COUNTER CLEAR
        LD     (TREG3A),0XC0
        SET    (EINTCR).1            ; SET INT1 FOR FALLING EDGE
        LD     (TC3CR),0Y00011000    ; RESTART TC3  4.19M/2^7
        RETI
;
LEADB:
        LD     (TC3CR),0Y01011000
        LD     A,(TREG3B)           ; 
        CMP    A,0X69               ; HIGH TIME IS 3.2MS TO 5 MS
        JR     CS,ERROR
        CMP    A,0XA5
        JR     CC,ERROR
        LD     HL,WORK              ; CLEAR WORK
        LD     C,0X8
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,0X10                  ; 0.5MS TO 2.5MS IS RIGHT
        JR    CS,ERROR
        CMP   A,0X52
        JR    CC,ERROR
        CMP   A,0X31            ; IF >1.5MS THEN TO "1" <1MS TO "0"
        JR    CC,SET1
        CLR   CF

        JR    DTCDF
;
SET1:
        SET   CF

DTCDF:
        LD    HL,WORK+8
        LD    C,0X8              ; 9 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
        NOP
        NOP
        CMP     (RCVNUM),0X48        ; 72 BITS
        JR      NE,ERROR
        CMP     (WORK),0X6A          ; GUEST CODE
        JR      NE,ERROR

        LD      HL,0X81
        LD      C,0
        LD      A,0

INTJYCD:

        LD      W,(HL+C)
        AND     W,0XF
        ADD     A,W
        LD      W,(HL+C)
        AND     W,0XF0
        SWAP    W
        ADD     A,W
        INC     C
        CMP     C,0X8
        JR      CS,INTJYCD

        CMP     A,(0X89)                 ; TEST THE JYCODE
        JR      NE,ERROR

        TEST    (FLAG4).ISOFF
        JR      F,ERROR

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

        LD      A,(0X85)
        AND     A,0X30
        CMP     A,0X10
        JR      EQ,ERRZZ

RECNDL:

        SET     (FLAG1).RCVNEW
        TEST    (0X83).6           ; TEST IF AUTO SEND OR SEND BY HAND
        JR      T,ERRZZ

        SET     (FLAG3).BUZZEN

        LD      (BUZ),0XC

ERRZZ:           
        JP      ERROR

;
;******************* THE TIMER ******************************
;
;          internal clock fc/2^7
;
;************************************************************

PINTTC1:
        
        TEST   (FLAG6).CUTCF
        JR     F,PTCTCF

        SET    (P7).4

        SET    (FLAG6).CUTCF
        LD     (TREG1AL),0X20         ;  1MS 
        LD     (TREG1AH),0X0

        LD     (TC1CR),0Y00010100    ;  RESTART THE TC1 
        RETI
;
PTCTCF:
        CLR    (P7).4

        CLR    (FLAG6).CUTCF
        LD     (TC1CR),0Y00000100    ; STOP TC1  
        RETI
;

;***************** THE TC2 INT *************************

PINTTC2:
        LD      RBS,1

        TEST    (FLAG2).RSTSTP            ; IF HIGH SPEED
        JR      F,STHSPD
        TEST    (FLAG2).STPFKJ
        JR      F,STHSPD

        LD      A,(KGVAN)          ; TEST IF SWING
        AND     A,0XF
        CMP     A,0X0
        JR      EQ,NTRCVF

        TEST    (FLAG4).HAVSTP
        JR      F,STHSPD
;
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

        TEST    (FLAG2).ISHTFLG
        JR      T,STPISCL
        CMP     (STPSPD),0X3
        JR      CS,NTSPZZ
        JR      STPCNGG
;

STPISCL:
        CMP     (STPSPD),0X5
        JR      CS,NTSPZZ

STPCNGG:

        CLR     (STPSPD)
        INC     (STPSWN)             ; 20MS(COOL,CHSH), OR 12MS(HEAT)

INSTSWM:

;/        INC     (FDRMMS)
;/        CMP     (FDRMMS),0XFA              ; 250 * 3 * 4MS = 3 SECONDS
;/        JR      CS,FSTPDS2
;/        CLR     (FDRMMS)
;/        INC     (FDRSEC)
;/        CMP     (FDRSEC),0X14               ; 20 * 3S = 1MIN
;/        JR      CS,FSTPDS2
;/        CLR     (FDRSEC)
;/        INC     (FDRMIN)
;/        CMP     (FDRMIN),0X3C               ; CMP WITH 60 MINUTES
;/        JR      CS,FSTPDS2
;/
;/        CLR     (FDRMIN)
;/        SET     (FLAG2).STPFKJ
;/        CLR     (FLAG2).STPCLS
;/        CLR     (FLAG4).HAVSTP

;/        LD      A,(VANFAN)
;/        AND     A,0XC7
;/        LD      (VANFAN),A

;/FSTPDS2:


        TEST    (FLAG4).HAVSTP
        JR      T,NTSPZ2
        CLR     (STPSWN)
        JP      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)

        JP      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),0X30
        JR      CS,NTSTEPZ
        SET     (FLAG2).STPCLS
        CMP     (STPNUM2),0X60
        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

        CMP     A,(STEPCL)
        JR      CS,NTSTEP
        CLR     (STPNUM2)

        CLR     (FLAG2).STPCLS
        CLR     (FLAG4).HAVSTP
        JP      NTSTEP
;
FSTPOPN:
        CMP     A,(STEPOP)
        JR      CS,NTSTEP
        CLR     (STPNUM2)
        CLR     (FLAG4).HAVSTP
        JP      NTSTEP
;
STFKJ:
        CMP     (STPNUM2),0X30                ; OPEN 145 DU
        JR      CS,NTSTEP
        SET     (FLAG2).STPCLS               ;
        LD      A,(STPNUM2)
        CMP     A,(STEPDW)
        JR      CS,NTSTEP
        LD      (VANBUF),(STEPDW)
        CLR     (STPNUM2)
        CLR     (FLAG2).STPFKJ
        CLR     (FLAG2).STPCLS
        JP      NTSTEP
;

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

INCMMS:
        CLR     (MMMS)

        INC     (JGKMS)



        TEST    (FLAG5).ISSHORT
        JR      T,MSNSHT
        ADD     (MMS),0XA           ; ?????

        ADD     (STPMMS),0XA

        ADD     (FLSMMS),0XA

        JP      MSISHT
;
MSNSHT:
        INC     (MMS)
        INC     (STPMMS)
        INC     (FLSMMS)


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),0X3
        JR      CC,FFKFLW
        INC     (IFFK)

⌨️ 快捷键说明

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