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

📄 main.a74.bak

📁 使用三菱芯片开发的空调程序,具有低压保护功能
💻 BAK
📖 第 1 页 / 共 3 页
字号:
                   .ORG       0000H
                 .byte   'M38503M4A-'
;赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?
;?                     Main Program                                     ?
;?   emory size        Rom  16K bytes                                   ?
;?                     Ram  640 bytes                                   ?
;韧屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?
        .INCLUDE         SFRDEF.INC
        .INCLUDE         Initdef.inc

	.SECTION         ROM
        .ORG             0C080H
	.procmain
main:
	clt
        cld
        clc
        [CPUM] = InitCPUM      ;hight-speed mode ;0c
        fst
        nop
        ldx     #0FFH          ;init stact point
        txs
        SEI
        X=0FFH                 ;INI Stack
	S=X
        nop
	nop
       ; if [Out_watchdog]==1
             ;  seb     Out_watchdog
        ;else
               ;clb     Out_watchdog
       ; endif
        NOP
        JSR     Init_Sfr
        JSR     Init_Variable   ;Add Zhang   99.11.29
        [mStartSwingStep] = 4eH;50H;60H
	NOP
;________________________________________________________________________
	CLB     Start_timerX        ;Timer X count Start
        CLB     Start_timerY        ;Timer y count Start
        CLI                     ;Interrput Enable
        NOP
        NOP
        NOP
        NOP
        SEB     b_Bezzon
        LDM     #00H,soundtime
        clB     Start_timerX

        ;[m_Rxdcount] = 00H           ;chen
	[WDTCON]  = InitWDTCON       ;001EH   Watchdog timer control register   zanshi
        jsr       InitEEPROM




mainloop:
        [WDTCON]  = InitWDTCON       ;001EH   Watchdog timer control register   zanshi
        jsr     Fun_Watdog
        JSR     AD_Convert
clRbuff:
        ;CLB     b_RSTART
        ;[m_Rxdcount] = 00H
        ;[ICON2]   =   CommRxdCON2      ;20041207


        JSR     FUN_Receive
        ;JSR     e2processsub                    ;20040926
        ;IF [M_TxdEndMsec] >= 1                ;chen
                ;[ICON2]   =   CommRxdCON2
                ;CLB     b_TxdEndFlag
                ;LDM     #00H,M_TxdEndMsec
                ;LDM     #00H,m_TxdCount
        ;endif
        if [ir_onoff] == 1
                ;if [Comp]== 1 || [Comp_Iflag] == 1
                       ; JSR    CompItest
                ;endif
                JSR      Fun_Action
        else

                jsr     Fun_SystemStop
 ;**********************************************************************20050914
                ;if  [M_RoomTemp] > 1Ah                      ;RUN_COOL
                      ;[settempvaldis] = 1ah
                ;endif
                ;if    [M_RoomTemp] >= 20 && [M_RoomTemp] <= 26   ; RUN_DRY
                      ;[settempvaldis] = 18h
                ;endif
                ;if    [M_RoomTemp] < 20
                      ; RUN_HEAT
                      ;RUN_FAN
                      ;[settempvaldis] = 14h

               ; endif
 ;***********************************************************************

        endif

       if [Type_electtemp] == 0
            [Type_electcount1] = 0
            [Type_electcount] = [Type_electcount] + 1
       else
            [Type_electcount] = 0
            [Type_electcount1] = [Type_electcount1] + 1
       endif

       if   [Type_electcount] >= 150
            [Type_elect] = 1                  ; LINSHI
       else
           if  [Type_electcount1] >= 150
                [Type_elect] = 0                ; LINSHI
           endif
       endif

       ;lif   [rongliangselsec] <= 1               ;20050728
              if    [select_onepulltwo] == 1
                     [b_onepulltwo] = 1
              else
                     [b_onepulltwo] = 0
              endif
              if     [hrp_yeah] == 1
                     [b_hrp] = 1
              else
                     [b_hrp] = 0
              endif
              if    [Type_elect] == 0

                       [bMCU2535flag] = 1
                       ;[mStartSwingStep]= 4DH;4DH;60h;96
                  if  [ir1_swing] == 1
                       if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                              [SwingtoD] = 4AH
                              [SwingtoL] = 28H
                       ELSE
                              [SwingtoD] = 3EH
                              [SwingtoL] = 26H
                       ENDIF
                  else
                       if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                              [SwingtoD] = 4AH
                              [SwingtoL] = 3CH
                       else
                              [SwingtoD] = 3EH
                              [SwingtoL] = 2fH
                       endif
                  endif

              else
                         [bMCU2535flag] = 0
                         ;[mStartSwingStep]=42H;4DH;60H;
                   if  [ir1_swing] == 1
                       if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                               [SwingtoD] = 42H
                               [SwingtoL] = 1EH
                       ELSE
                               [SwingtoD] = 3CH
                               [SwingtoL] = 1EH
                       ENDIF
                   else
                       if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                              [SwingtoD] = 42H
                              [SwingtoL] = 3cH
                       else
                              [SwingtoD] = 3CH
                              [SwingtoL] = 2eH
                       endif
                   endif
              endif
       ;else
          ;if  [ir1_swing] == 1
             ; if    [Type_elect] == 1
                       ;if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                             ; [SwingtoD] = 4AH
                              ;[SwingtoL] = 28H
                      ; ELSE
                              ;[SwingtoD] = 3EH
                              ;[SwingtoL] = 26H
                       ;ENDIF
             ; else
                       ;if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                               ;[SwingtoD] = 42H
                               ;[SwingtoL] = 1EH
                       ;ELSE
                               ;[SwingtoD] = 3CH
                               ;[SwingtoL] = 1EH
                       ;ENDIF
              ;endif
          ;endif
       ;endif

;________________________________________________________________________
maincon1:


	;jsr     Fun_Display

        if [b_flag200ms]==1               ;200ms?
                [b_flag200ms]=0
                IF  [lighttime] <= 10                ;20040915
                   [lighttime] = [lighttime] + 1
                else
                   [light2s] = 0
                   [lightok] = 0
                ENDIF
                JSR     Fun_OnoffKey
                if  [remote_end] == 1
                        JSR     Fun_Remote
                        [remote_end] = 0
                endif
                if [bTestForce] == 1
                        LDM     #00H,settempval
                endif
                JSR  Fun_Display
                JSR     FUN_ActTimer
                JSR     e2processsub
                ;jsr     buzzerselc
                JSR     Fun_RoomFanspeed                  ;20040918
        endif
        if   [m_100mscount] >= 10                    ;20040915
                jsr  Dispspeed
                ;JSR  Fun_Display                     ;20040916

        endif

        if [ir_onoff] == 0
                ldm     #00H,m_sysOffCount
		ldm     #00h,M_LVCCount
                CLb     b_firstdry
                clb     TxdCompIflag          ;04.5.8

        endif
        ;IF  [TxdCheck10MS] >= 1;100
                ;[TxdCheck10MS] = 00H
                ;[TxdCheck] = 0
                ;JSR     Fun_TxdCheckSum

                ;[ICON2]  = CommTxdCON2
                ;if [m_TxdCount] == 00H
                          ;[TB_RB] = 08H
                          ;inc    m_TxdCount
                ;endif
        ;ENDIF
        NOP
        JMP     mainloop
        NOP
        NOP
        .endproc
save_mode:
	[oldmode] = [Run_mode3]
        if [Run_mode3] == 0
		[oldmode]  = [m_AutoMode]
                [au_mode2] = [m_AutoMode]
        else
                [m_AutoMode] = [Run_mode3]
        endif
        rts


Fun_Actorder:
        [Run_mode3] = [m_irmode] & 07H
        [m_irelse]      =  [m_ir1else]
        [m_irfantem]   =   [m_ir1fantem]
        [m_irmode]     =   [m_ir1mode]
        if [ir_onoff] == 1
                [Auto_keyon] = 1                       ;20040901
                [key_first] = 1
                [run_mode] = [m_irmode] & 07H     ;2000.8.3
	endif
	;*******************************************************20050910
	  if  [m_irmode] & 07H != RUN_AUTO
                 [m_savebyteH] = [m_irfantem] & 0Fh
                 [m_savebyteH] = [m_savebyteH] + 16
                 if  [m_savebyteH] >=16 && [m_savebyteH] <= 30
                        [settempval]  = [m_savebyteH]
                 else
                        [settempval]  = [old_Temp]
                 endif
        endif
        if [old_Temp] != [settempval]
                [old_Temp] = [settempval]

        endif
        ;******************************************************************
;        if [run_mode] == RUN_DRY
;                [M_RoomFan]  = 10H
;        else
                LDA     m_irfantem
                AND     #00110000B
                STA     M_RoomFan
;       endif

        if [Run_mode3] != [run_mode] && [ir_onoff] == 1
                JSR     save_mode
                jsr     turnweit
        endif
        if  [ir_onoff] == 0
                [Auto_keyon] = 0                      ;20040901
		if  [Run_mode3] == 0
                        [oldmode]  = [m_AutoMode]
			[au_mode2] = [run_mode]
                        ldm     #0F0h,m_AutoADtime
                else
                        [oldmode] = [Run_mode3]
                endif
                jsr    turnweit
        endif
        RTS

FUN_ClockRun:
        LDM     #00H,mClock20mSec
        INC     mClockSecond
        if      [ir1_onoff] == 1
            if      {rongliangselsec] < 2
               inc     rongliangselsec
            endif
        else
            {rongliangselsec] = 0
        endif
        if      [m_start3sec]<= 16
                 inc     m_start3sec                      ;2004.09.14
        endif
        if [mClockSecond]  >= [SECONDUP]
                LDM   #00H,mClockSecond
                INC   mClockMinute
                if [mClockMinute] >= [SECONDUP]
                      [mClockMinute]=0 											;LDM     #00H,mClockMinute
                        inc     mClockHour
                        if [mClockHour]  >= 24
                               [mClockHour]=0 ;LDM     #00H,mClockHour
                        endif
                ENDIF
                JSR     Fun_TimerAct
                [m_Rxdcount] = 00H
                [ICON2]   =   CommRxdCON2      ;20041207

         ENDIF

         RTS

Fun_TimerAct:
        if [b_TimerOnFlag] == 1
                if [ir1_onoff] == 0
                        if [mClockHour] == [mTimerOnHour]
                                if [mTimerOnMinute] == [mClockMinute]
                                        SEB     ir1_onoff
                                        JSR     FunExec_KeyPower
                                        ;JSR     Fun_Remote               ;20050121
                                        if [ir1_swing] == 1
                                               SEB     bStepperOnmFanStatus
                                        else
                                               CLB     bStepperOnmFanStatus
                                        endif
                                        [bTestForce] = 0
                                        [b_remamber] = 1
                                endif
                        endif
                endif
          endif
          if [b_TimerOffFlag] == 1
                if [ir1_onoff] == 1
                        if [mClockHour] == [mTimerOffHour]
                                if  [mClockMinute] == [mTimerOffMinute]
                                        if  [ir1_sleep] == 1
                                            [settempval] = [sleeptemp]

⌨️ 快捷键说明

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