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

📄 main.a74.bak

📁 使用三菱芯片开发的空调程序,具有低压保护功能
💻 BAK
📖 第 1 页 / 共 3 页
字号:
                                            [m_ir1fantem] = [sleepm_ir1fantem]
                                        endif
                                        CLB     ir1_onoff
                                        JSR     FunExec_KeyPower
                                        [bTestForce] = 0
                                        [b_remamber] = 1                                       
                                endif
                        endif
                endif
          endif
          RTS
Fun_ChuckSum:                        ;JIE MA
        LDA     M_RxdAdress0
        AND     #0FH
        STA     M_RxdBuffer
        RRF     M_RxdBuffer
        LDA     M_RxdAdress1
        AND     #0FH
        ORA     M_RxdBuffer
        STA     M_CheckAdress0
        LDA     M_RxdAdress2
        AND     #0FH
        STA     M_RxdBuffer
        RRF     M_RxdBuffer
        LDA     M_RxdAdress3
        AND     #0FH
        ORA     M_RxdBuffer
        STA     M_CheckAdress1; two address
        [M_SetAdress0] = [M_CheckAdress0]    ;20041207
        [M_SetAdress1] = [M_CheckAdress1]
;---------------------------------------------------2address
        LDA     M_RxdRemote0
        AND     #0FH
        STA     M_RxdBuffer
        RRF     M_RxdBuffer
        LDA     M_RxdRemote1
        AND     #0FH
        ORA     M_RxdBuffer
        STA     ir3mode
;-----------------------------------------------------ir3mode
        LDA     M_RxdRemote2
        AND     #0FH
        STA     M_RxdBuffer
        RRF     M_RxdBuffer
        LDA     M_RxdRemote3
        AND     #0FH
        ORA     M_RxdBuffer
        STA     ir3fantem
;-------------------------------------------------------ir3fantem
        LDA     M_RxdRemote4
        AND     #0FH
        STA     M_RxdBuffer
        RRF     M_RxdBuffer
        LDA     M_RxdRemote5
        AND     #0FH
        ORA     M_RxdBuffer
        STA     ir3timer
;--------------------------------------------------------ir3timer
        LDA     M_RxdRemote6
        AND     #0FH
        STA     M_RxdBuffer
        RRF     M_RxdBuffer
        LDA     M_RxdRemote7
        AND     #0FH
        ORA     M_RxdBuffer
        STA     ir3else
;-------------------------------------------------------ir3else
        LDA     M_CheckAdress0
        EOR     M_CheckAdress1
        EOR     ir3else
        EOR     ir3timer
        EOR     ir3fantem
        EOR     ir3mode
        STA     M_CheckSum  ;after eor ---M_CHECKSUM
;-------------------------------------------------------chen jiaoyan
        LDA     M_RxdChuck0
        AND     #0FH
        STA     M_RxdBuffer
        RRF     M_RxdBuffer
        LDA     M_RxdChuck1
        AND     #0FH
        ORA     M_RxdBuffer
        STA     M_RxdBuffer;
        if [M_RxdBuffer] ==  [M_CheckSum]
                SEB     b_RxdChuckflag
        endif
        RTS
;------------------------------------------------------compare
FUN_CommRun:
        IF [b_RxdChuckflag] == 1
                if [b_Commchang] == 1
                      CLB    b_LVCDispflag

                     if [b_SigerCool] == 1		;2004.5.22 add
				if [ir3mode] & 00001111b == 00001100b
				    CLB     b_Rxdflag              ;2004.5.23
                                    CLB     b_RxdChuckflag
					rts
				endif
		     endif
                        [m_ir1mode]  = [ir3mode]
                        ;LDA   ir3mode
                        ;AND   #0FH
                        ;STA   M_RxdBuffer
                        ;;LDA   m_ir1mode
                        ;AND   #F0H
                        ;ORA   M_RxdBuffer
                        ;STA   m_ir1mode              ;mode


                        ;[m_ir1else]  = [ir3else]
                        ;LDA   ir3else
                        ;AND   #33H
                        ;STA   M_RxdBuffer
                        ;LDA   m_ir1else
                        ;AND   #0CCH
                        ;ORA   M_RxdBuffer
                        ;STA   m_ir1else
                        [ir3else] = [ir3else]&02H
                        IF  [ir3else] == 02H
                             [ir1_light] = 1
                        ELSE
                             [ir1_light] = 0
                        ENDIF


                       ;[ir1timer] = [ir3timer]
                        ;RRF ir3fantem
                        [m_ir1fantem]= [ir3fantem]
                        RRF   m_ir1fantem

                        [remote_end] = 1
                        seb     Comm_end
                        SEB     b_Bezzon         ; 2002,8,9 for eeprom
                        seb     bstart_timerx
                        [soundtime] = 00h
                        clB     Start_timerX

                         [e2enwrite] = 1             ;040510

                endif
                CLB     b_Rxdflag
                CLB     b_RxdChuckflag
        endif

	;CLB    b_LVCDispflag   		;2004.5.7
        [bTestForce] = 0
        JSR     FunExec_KeyPower

        RTS
FUN_Receive:
           ;[b_RxdChuckflag] = 1;
           ;[b_Rxdflag] = 1
           ;[M_RxdStart] = 06H
        if [b_Rxdflag] == 1
                JSR         Fun_ChuckSum

                if [b_RxdChuckflag] == 1

                         jsr    choose_head
                         [m_Rxdcount] = 00H
                         CLB     b_Rxdflag
                else
                        [m_Rxdcount] = 00H
                        CLB     b_Rxdflag

                endif
         endif
         RTS
choose_head:
            lswitch  [M_RxdStart]
                                case    05H        ; 0
                                        JSR     FUN_CommRun
                                        ;[TxdCheck] = 1
                                        JSR     Fun_TxdCheckSum
                                        [ICON2]  = CommTxdCON2
                                                 nop
                                                 nop
                                        if [m_TxdCount] == 00H
                                                   [TB_RB] = 08H
                                                   inc    m_TxdCount
                                        endif

                                break
                                case    06H        ; 0
                                        ;[TxdCheck] = 1
                                        JSR     Fun_TxdCheckSum
                                        [ICON2]  = CommTxdCON2
                                                 nop
                                                 nop
                                        if [m_TxdCount] == 00H
                                                   [TB_RB] = 08H
                                                   inc    m_TxdCount
                                        endif
                                break
                                case    07H        ; 0
                                        ;if [M_CheckAdress0] == [M_SetAdress0] && [M_CheckAdress1] == [M_SetAdress1];  20041207
                                                JSR     FUN_CommRun
                                                ;[TxdCheck] = 1
                                                JSR     Fun_TxdCheckSum
                                        [ICON2]  = CommTxdCON2
                                        [m_TxdCount] = 00h


                                        if [m_TxdCount] == 00H
                                                   [TB_RB] = 08H
                                                   inc    m_TxdCount
                                        endif

                                        ;endif
                                break
                                ;case    0BH                     ;20040530
                                        ;JSR    Fun_TxdCheckSum
                                        ;[ICON2]  = CommTxdCON2
                                        ;if [m_TxdCount] == 00H
                                                  ;  [TB_RB] = 08H
                                                  ;  inc    m_TxdCount

                                        ;ENDIF
                               ; BREAK
                                case    0AH        ; 0
                                        [M_SetAdress0] = [M_CheckAdress0]
                                        [M_SetAdress1] = [M_CheckAdress1]
                                        JSR     FUN_CommRun
                                        ;[TxdCheck] = 1
                                        JSR     Fun_TxdCheckSum
                                        [ICON2]  = CommTxdCON2
                                                 nop
                                                 nop
                                        if [m_TxdCount] == 00H
                                                   [TB_RB] = 08H
                                                   inc    m_TxdCount
                                        endif
                                break
                                default
                                break
                         ends
RTS

IntVect_Rxd:
         pha
         txa
         pha
	 A = X
         pha
         CLI
         CLD
         CLT

         CLB     Rxd_request
         if [b_RSTART]==0
            if [TB_RB]==05H
              SEB  b_RSTART
            ENDIF
            if [TB_RB]==06H
              SEB  b_RSTART
            ENDIF
            if [TB_RB]==07H
              SEB  b_RSTART
            ENDIF
            if [TB_RB]==0AH
              SEB  b_RSTART
            ENDIF
          ENDIF


         if [b_Rxdflag] == 0
             IF  [b_RSTART]==1
                LDX     m_Rxdcount
                [M_Buffer,X] = [TB_RB]
                if [m_Rxdcount] >= 18
                        [m_Rxdcount] = 00H
                        CLB     b_RSTART      ;20040605
                else
                        INC     m_Rxdcount
                endif
             ENDIF
          ENDIF
          if [TB_RB] == 0DH && [m_Rxdcount] == 16
                SEB     b_Rxdflag
                CLB     b_RSTART
                [m_Rxdcount] = 00H
          endif
         pla
         X = A
         pla
         tax
         pla
         RTI

Fun_TxdCheckSum:
        LDM     #00H,m_TxdStatue1
        LDM     #00H,m_TxdStatue2
        LDM     #00H,m_TxdStatue3          ;04.5.8

       ; if [irLRSwing] == 1
                ;SEB     b_TxdLRSwing
        ;endif
        if [ir_swing] == 1
                SEB     b_TxdULSwing
        endif
        if [ir1_light] == 1
                SEB     b_TxdLight
        endif
        ;if [Heat] ==1
                ;CLB     b_TxdHeater
        ;endif
        if [H_fan] == 1
                SEB     b_TxdHighFan
        endif
        if [M_fan] == 1
                SEB     b_TxdHighMin
        endif
        if [L_fan] == 1
                SEB     b_TxdHighLow
        endif
        if [Out_FanHigh] == 1
               SEB     b_TxdOutHigh
        endif
        if [Four_valve] == 1
                SEB     b_TxdFourvalve
        endif
        if [Comp] == 1
                SEB     b_TxdCompressor
        endif

        if [recool_flag] == 1
                SEB     b_TxdRecool
        endif
        ;if [TxdCompIflag] == 1
               ;SEB     b_TxdCompIflag
        ;endif
        ;if [b_LVCDispflag] == 1               ;20040618
               ;SEB     b_TxdCompIflag
        ;ENDIF
        ;if [b_remamflag] == 1
                SEB     b_TxdRemamber
        ;endif
        if [b_SigerCool]==1
                seb     b_TxdmodeType
        endif
translatsendnum:
        [irsmode] = [m_irmode]
        ;[irsfantem] = [ir3fantem]          ;04.05.08
        [irsfantem] = [m_ir1fantem]
        RRF    irsfantem
        [irstimer] = 00H
        IF [ir1_light] == 1
             [irselse] = 02H
        ELSE
             [irselse] = 00H
        ENDIF
        ;[M_SetAdress0] = [M_CheckAdress0]    ;20041207
        ;[M_SetAdress1] = [M_CheckAdress1]

        CLT
        LDA     M_SetAdress0
        EOR     M_SetAdress1
        EOR     irselse
        EOR     irstimer
        EOR     irsfantem
        EOR     irsmode
        EOR     M_DispRoomTemp
        EOR     m_TxdStatue1
        EOR     m_TxdStatue2

⌨️ 快捷键说明

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