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

📄 sanyo5.asm

📁 分体空调的说明文件 名厂机型 几W台量 有PG电机 遥控 马达
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;***********************************************************
;*
;*   MOD:      SANYO22 DL FEN TI AIR CONDITION
;*   MPU:      TMP87C846
;*   CLOCK:    4.19 MHz
;*   BY:       AIFUAN  HANGZHOU DAFENG
;*   ALL RIGHT RESERVED     
;***********************************************************
;
;************************************************************
;
;   EXTFAN   ---->    ??
;
;   COMPRESS ---->    (P0).7
;   VALVE    ---->    (P7).2
;
;   ROOM AD     ----> (P6).5
;   OUT PIP AD  ----> ??
;   ROOM PIP AD ----> (P6).4
;
;   ROOM FAN    ----> (P7).4
;
;   SHORT  -----> (P6).6      (PIN 29)
;   DL     -----> (P6).3      (PIN 33)      
;
;**********************************************
;  DEFINE THE SFR
;**********************************************
P0       EQU    0X0
P1       EQU    0X1   
P2       EQU    0X2   
P6       EQU    0X6   
P7       EQU    0X7   
P0CR     EQU    0XA
P1CR     EQU    0XB   
P6CR     EQU    0XC   
P7CR     EQU    0XD   
ADCCR    EQU    0XE   
ADCDR    EQU    0XF   
TREG1AL  EQU    0X10  
TREG1AH  EQU    0X11  
TREG1BL  EQU    0X12
TREG1BH  EQU    0X13  
TC1CR    EQU    0X14  
TC2CR    EQU    0X15  
TREG2L   EQU    0X16  
TREG2H   EQU    0X17  
TREG3A   EQU    0X18
TREG3B   EQU    0X19
TC3CR    EQU    0X1A
TREG5    EQU    0X1D
TC5CR    EQU    0X1E
SIOSR    EQU    0X20  
SIOCR1   EQU    0X20  
SIOCR2   EQU    0X21  
HSOSR    EQU    0X24
P7CR2    EQU    0X27  
WDTCR1   EQU    0X34  
WDTCR2   EQU    0X35  
TBTCR    EQU    0X36  
EINTCR   EQU    0X37  
SYSCR1   EQU    0X38
SYSCR2   EQU    0X39  
EIRL     EQU    0X3A  
EIRH     EQU    0X3B  
ILL      EQU    0X3C  
ILH      EQU    0X3D  
;***************** DFINE THE RAM ************************

MODEP     EQU    0X80
WORK      EQU    0X81
;     0X81------> 0X89
;
;     0X8A------>0X94

SETTMP    EQU    0X8A
YKRTMP    EQU    0X8B
ONEHR     EQU    0X8C
DSMDFN    EQU    0X8D
KGVAN     EQU    0X8E
SLPFLG    EQU    0X8F

;
FLAG1     EQU    0X97     ;RMB    1
;*****************************************************
RCVOK     EQU    0
DLY3M     EQU    1
ISOFBF    EQU    2
ADON      EQU    3
RMWRN     EQU    4
OTPWRN    EQU    5
RMPWRN    EQU    6
RCVNEW    EQU    7

;
RCVNUM    EQU    0X98     ;RMB    1
SECOND    EQU    0X99     ;RMB    1
MMS       EQU    0X9A     ;RMB    1
MINUTE    EQU    0X9B     ;RMB    1
S3MCNT    EQU    0X9C
STEPSW    EQU    0X9D
STPSPD    EQU    0X9E
STPNUM    EQU    0X9F
STPNUM2   EQU    0XA0
ADVAL     EQU    0XA1
ADTMP     EQU    0XA2
RMTMP     EQU    0XA3
RMPTMP    EQU    0XA4
OTPTMP    EQU    0XA5
RMVAL     EQU    0XA6
RMPVAL    EQU    0XA7
OTPVAL    EQU    0XA8
FLAG2     EQU    0XA9
;**********************************************************
CSFRST    EQU    0
STPCLS    EQU    1        ; 0 ---> CLOSE 1---> OPEN
RSTSTP    EQU    2
STPFKJ    EQU    3
CSISEND   EQU    4
ISDLFLG   EQU    5
CSLWFN    EQU    6
ISHTFLG   EQU    7
;
VANBUF    EQU    0XAA
FLSCNT    EQU    0XAB
FLSMMS    EQU    0XAC
CMPSEC    EQU    0XAD
CMPMIN    EQU    0XAE
PRSVAL    EQU    0XAF
PRSTMP    EQU    0XB0
FLAG3     EQU    0XB1
;****************************************************
VDLY      EQU    0
HI52D     EQU    1
FLDFLG    EQU    2
CHSFLG    EQU    3
HTFCHS    EQU    4
BUZZEN    EQU    5
ISCOOL    EQU    6
GJFLG     EQU    7
;
VDCNT     EQU    0XB2
MDFTMP    EQU    0XB3
CHSSEC    EQU    0XB4
CHSMIN    EQU    0XB5
HOUR      EQU    0XB6
FLAG6     EQU    0XB7
;********************************************88
LWFN      EQU    0
MDFN      EQU    1
HGFN      EQU    2
SWJWRN    EQU    3
CSSTP     EQU    4
CUTCF     EQU    5
;
FADSEC    EQU    0XB8
SLPSEC    EQU    0XB9
SLPMIN    EQU    0XBA
CMPSEC2   EQU    0XBB
FLDSEC    EQU    0XBC
CLH25M    EQU    0XBD
FKWSEC    EQU    0XBE
HTCMIN    EQU    0XBF
CLSSEC    EQU    0XC0
FKWMIN    EQU    0XC1
YKTSEC    EQU    0XC2
YKTMIN    EQU    0XC3
JGKMS     EQU    0XC4
;/C1H45M    EQU    0XC5
CLCMIN    EQU    0XC6
;/FRCSEC    EQU    0XC7
;/FRCMIN    EQU    0XC8
;/DSMIN     EQU    0XC9
MMMS      EQU    0XCA
OFFSEC    EQU    0XCB
OFFMIN    EQU    0XCC
FLAG4     EQU    0XCD
;*****************************************************
HAVBUZ    EQU    0
ISOFF     EQU    1
;/    EQU    2
ISCHSH    EQU    3
ISTEST    EQU    4
FANON     EQU    5
FKERR     EQU    6        
HAVSTP    EQU    7
;
FDRSEC    EQU    0XCE
FDRMIN    EQU    0XCF
FDRMMS    EQU    0XD0
INTCNT    EQU    0XD1
STRMIN    EQU    0XD2
BUZZCNT   EQU    0XD3
BUZ       EQU    0XD4
HI52C     EQU    0XD5
FDTM      EQU    0XD6
WJTS      EQU    0XD7
RECV      EQU    0XD8
ZSCNT     EQU    0XD9
ZSBUF     EQU    0XDA
WJTSBF    EQU    0XDB
; DC
FLAG5     EQU    0XDD
;**************************************************
SWNBUF    EQU    0
STPFLF    EQU    1
;/CLSCMP    EQU    2
;/ONCMP     EQU    3
ISSHORT   EQU    4
HTHI62    EQU    5         
;/    EQU    6
;/STPAUT    EQU    7


FAN1      EQU    0XDE
FAN2      EQU    0XDF
IFFK      EQU    0XE0
ZZZZ      EQU    0XE1
;
CLSTBF    EQU    0XE3
HTSTBF    EQU    0XE4
;/CLAMIN    EQU    0XE5
STPMMS    EQU    0XE6
FLDMIN    EQU    0XE7
CSOFFM    EQU    0XE8 
CSONM     EQU    0XE9
STEPOP    EQU    0XEA
STEPCL    EQU    0XEB
STEPDW    EQU    0XEC
VNFNBF    EQU    0XED
STPSWN    EQU    0XEE
CSSTBF    EQU    0XEF
CLH25C    EQU    0XF0
H52MIN    EQU    0XF1

;*********************************************************
CODE_1    SECTION  CODE   ABS=0XE000

;*****************PROGRAM START****************************

RESET:
        LD      SP,0X23F
        DI
        LD      RBS,0
;
        LD      (P0CR),0Y10111000
        LD      (P6CR),0Y00000000
        LD      (P1CR),0Y11111000    ; ENABLE BUZZER 
        LD      (P7CR),0Y00010000
        NOP
        NOP
        SET     (P0).5
        SET     (P0).4
        SET     (P0).3

        LD      A,0
        LD      HL,0X48
        LD      BC,0X1F7
RAMCLR:
        LD      (HL+),A
        DEC     BC
        JRS     F,RAMCLR             ; RAM CLEARED FROM OO48H TO 023FH

        LD      (WDTCR1),0Y00001101  ; Watch dog time is 62Ms
        LD      (TC2CR),0Y00001100   ; sets the TC1 mode and source clock 
        LDW     (TREG2L),0X82F       ; MAKE TC2 IS 4MS
        LD      (EINTCR),0Y0011010    ;sets the falling edge
        NOP                          ;at the INT1,INT3,INT4
        LD      (TBTCR),0Y11100010   ;sets the buzzer 8k
        SET     (EIRL).5             ;enable INT1
        SET     (EIRL).4             ;ENABLE INTTC1
        SET     (EIRH).6             ;ENABLE INTTC2
        SET     (EIRH).0             ;ENABLE INTTC3
        SET     (EIRH).3             ;ENABLE INT3
        SET     (EIRH).4             ;ENABLE INT4
        LD      (TC2CR),0Y00101100   ; Start TC2 
        EI
;
WAITMS:
        LD      (WDTCR2),0X4E       ; Clears the watchdog counter

        CMP     (MMS),0XA
        JR      CS,WAITMS

        TEST    (P0).0              ; IF HAVE 3MINS DELAY
        JR      T,IFHVDL
        TEST    (P0).0
        JR      T,IFHVDL

        SET     (FLAG1).DLY3M

IFHVDL:

;/        TEST    (P1).2                   ; Test if for dl
;/        JR      F,NOTDL
;/        CALL    DLY100U
;/        TEST    (P1).2
;/        JR      F,NOTDL

        SET     (FLAG2).ISDLFLG

        NOP
        NOP
        SET     (FLAG2).ISDLFLG
;

;/        TEST    (P6).6
;/        JR      F,BFLLFF
;/        CALL    DLY100U
;/        TEST    (P6).6
;/        JR      F,BFLLFF
;/        JP      TESTSF
;/BFLLFF:


        SET     (FLAG3).BUZZEN
        LD      (BUZ),0XC
        SET     (FLAG1).ADON
        CALL    FORAD
;
        NOP
        LD      (VANBUF),0XFE
        SET     (FLAG2).RSTSTP

;***************** THE MAIN PROGRAM *****************
MAIN:

        LD      (WDTCR2),0X4E             ; Clears the watchdog counter

        CALL    FORAD
        CALL    CMPCLS
        CALL    VALCLR

        CALL    JUGKEY

        CALL    FANCLR

        SET     (P0).3                   ; CLEAR THE LED OF RUN

        CLR     (FLAG3).FLDFLG           ; CLEAR FLG FOR COOL MOD
        CLR     (FLDMIN)

        CLR     (FLAG4).ISCHSH           ; CLEAR FLG FOR CHSH MOD
        CLR     (FLAG3).CHSFLG
        CLR     (FLAG6).CSSTP

        CLR     (FLAG3).ISCOOL
        CLR     (FLAG2).ISHTFLG

NTCLMOD:

        CLR     (FLAG3).HTFCHS         ; CLEAR FLG FOR HEAT
        CLR     (HTCMIN)
        CLR     (FLAG2).CSISEND
        SET     (FLAG2).CSFRST
        CLR     (FLAG5).HTHI62

        CLR     (FLAG6).SWJWRN
        CLR     (CLH25C)
        CLR     (CLH25M)

        
        SET     (FLAG3).GJFLG

        CLR     (FLAG4).FKERR             ; CLEAR FKERR
        CLR     (IFFK)


        TEST    (FLAG4).ISOFF
        JR      F,MNODSK

        TEST    (DSMDFN).3                ; TEST IF HAVE DSK
        JR      T,MNODSK

        CLR     (P0).5                    ; LIGHT THE TIME LED
        JR      MNNDSK
;
MNODSK:

        SET     (P0).5              ; NO DSK THEN CLEAR THE LED OF TIME

MNNDSK:

        TEST    (FLAG1).RCVNEW
        JR      T,MFNRCV

MNHVDS:

        CALL    FDS
        TEST    (KGVAN).7
        JR      T,MFNRCV

        TEST    (FLAG4).ISTEST
        JR      T,MISDSK
        TEST    (YKRTMP).6
        JR      T,MFNRCV           ; IF ON "TEST"  AUTO REMOTE NO EFFECT

MISDSK:
        CALL    FMNTKJ

        JP      FORMOD
;
MFNRCV:

        TEST    (FLAG4).ISOFF
        JR      F,MNNKEY

        TEST    (FLAG1).ISOFBF
        JR      T,MAINZ
        CLR     (FLAG1).ISOFBF

        TEST    (FLAG4).ISTEST        ; IF" OFF--> TEST "THEN NO EFFECT
        JR      F,MAINZ

;/        SET     (FLAG3).BUZZEN       ; IF " OFF ---> ON " THEN TO RUN COOL
;/        LD      (BUZ),0XC

        SET     (YKRTMP).5               ; MAKE SENSOR BY ROOM

        CMP     (SETTMP),0X60            ; TEST IF HAVE REC BEFORE
        JR      CC,MISDSK

        CALL    FMNTKJ                 ; FIRST POWER ON
        LD      (DSMDFN),0X20          ; MAKE FAN AUTO COOL MOD

        LD      (KGVAN),0X87           ; MAKE VAN 6- AND KAIJI

        LD      (SETTMP),0X74          ; MAKE SET TMP IS 24C

        JP      COOLMD
;
MNNKEY:
        SET     (FLAG1).ISOFBF
;
MAINZ:

        JP      MAIN
;

FMNTKJ:
        CLR     (FLAG4).HAVSTP
        TEST    (FLAG2).RSTSTP
        JR      T,STFKJFL
        CMP     (STPNUM2),0X30          ; IF HAV OPEN 145DU
        JR      CS,STFKNC
STFKJFL:
        CLR     (STPNUM)
        CLR     (STPNUM2)
STFKNC:
        CLR     (SLPSEC)
        CLR     (SLPMIN)
        CLR     (FLAG2).RSTSTP
        CLR     (FLAG2).STPCLS
        SET     (FLAG2).STPFKJ
        RET

;
;********************* FOR THE MODE CHANGE *********************
FORMOD:

        NOP

;********************* ALL MOD ENTER ***************************
ALLMOD:
        NOP
        LD      (WDTCR2),0X4E             ; Clears the watchdog counter
        TEST    (FLAG1).RCVNEW
        JR      T,ALNRCV
        CALL    FDS
        TEST    (KGVAN).7                   ; judge if off or on
        JR      F,ALANON

ALTOMN:
        CALL    PSTFGJ
        JP      MAIN
;
ALANON:
        JP      FORMOD
;
ISRMPWZ:
        JP      ISRMPW
;
ISOTPWZ:
        JP      ISOTPW
;
ISRMWZ:
        JP      ISRMW
;
ISFKWZ:
        JP      ISFKW
;
ISHWJWZ:
        JP      ISHWJW
;

ALNRCV:

        CALL    FORAD

        CALL    ALFSTEP

        CALL    JUGKEY

        TEST    (FLAG4).ISOFF
        JR      F,ALTOMN

        TEST    (FLAG4).FKERR
        JR      F,ISFKWZ

        TEST    (FLAG6).SWJWRN           ; IF SHIWAIJI WRN
        JR      F,ISHWJWZ

        TEST    (FLAG1).RMWRN
        JR      F,ISRMWZ

        TEST    (FLAG1).RMPWRN
        JR      F,ISRMPWZ

        TEST    (FLAG2).ISDLFLG        ; IF DL THEN NO OTPWRN
        JR      F,AOTISDL

        TEST    (FLAG1).OTPWRN
        JR      F,ISOTPWZ

AOTISDL:

        CLR     (FLSMMS)
        CLR     (FLSCNT)

        TEST    (DSMDFN).2            ; TEST IF HAVE DSG
        JR      T,ALLNDSG

        CLR     (P0).5                ; SET THE LED OF TIME

        LD      A,(HOUR)
        LD      W,(ONEHR)
        AND     W,0XF
        CMP     A,W
        JR      CS,ALHVJG

        CMP     (SECOND),0X3          ; AFTER 3S CLOSE
        JR      CS,ALHVJG

        CLR     (DSMDFN).2            ; CLEAR THE DSG FLG

        JP      ALTOMN
;
ALLNDSG:

        SET     (P0).5                   ; CLEAR THE LED OF TIME

ALHVJG:
        LD      A,(DSMDFN)
        AND     A,0X30
        CMP     A,0X20
        JR      EQ,CLMDZZ
        JP      CHSHMD

CLMDZZ:
        CLR     (FLAG2).CSLWFN       ; IS NOMAL COOL MOD NOT NEED LOWFAN
        JP      COOLMD
;
HTMDZZ:
        JP      HEATMD
;

;******************** FOR AD WRONG *********************

ISRMW:

⌨️ 快捷键说明

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