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

📄 swing.inc

📁 使用三菱芯片开发的空调程序,具有低压保护功能
💻 INC
字号:
;*****************************************************************
; Swing Motor Driver Program:        Orger Yellow  Red   Blue
; Stepper motor Port Define   PORT1  bit6  bit5    bit4  bit3
;
;
;*****************************************************************
TABStepperPhase:   ; 01111000B
         .BYTE       01001000B
         .BYTE       00001000B
         .BYTE       00011000B
         .BYTE       00010000B
         .BYTE       00110000B
         .BYTE       00100000B
         .BYTE       01100000B
         .BYTE       01000000B

         .BYTE       01001000B
         .BYTE       00001000B
         .BYTE       00011000B
         .BYTE       00010000B
         .BYTE       00110000B
         .BYTE       00100000B
         .BYTE       01100000B
         .BYTE       01000000B

         .BYTE       00000000B
         .BYTE       00000000B

FunSwingStepper:
    if  [ir1_onoff] == 1                       ;20050913
        if  [ir1_swing] == 0
           if  [Re_former] == 1
              if  [Re_now] == 0
                  [bOpenDoormSwingStatus] = 1
                  [mStepperStatus] = 0
              endif
           endif
           if   [Re_former] == 0
                  if  [Re_now] == 1
                      [bOpenDoormSwingStatus] = 1
                      [mStepperStatus] = 0
                  endif

           endif
           if  [m_AutoModeold] == RUN_HEAT            ;20050903
                 if  [m_AutoMode] != RUN_HEAT
                       [bOpenDoormSwingStatus] = 1
                       [mStepperStatus] = 0
                 endif
           else
                 if  [m_AutoMode] == RUN_HEAT
                       [bOpenDoormSwingStatus] = 1
                       [mStepperStatus] = 0
                 endif
           endif
           [m_AutoModeold] = [m_AutoMode]             ;20050903
        endif
        [m_ir1modeformer] = [m_ir1mode] & 00000100
endif
        switch [mStepperStatus]
                case    0                                  ;KAIMEN
                        if [bOpenDoormSwingStatus] == 1
                                JSR     FunStepper35Open
                        endif
                break
                case    1
                        JSR     FunSwingAction
                break
                case    2
                        IF [bCloseDoormSwingStatus] == 1
                                JSR     Fun35SWingClose
                        ENDIF
                break
                Default
                        ldm     #00H,mStepperStatus
                break
        ends
        RTS
FunSteppFowardUP:


        LDA     port1
        AND     #StepperPort
        STA     mswingdrivetemp
        LDX     mStepPhote
        LDA     TABStepperPhase,X
        ORA     mswingdrivetemp
        STA     port1
        inc     mStepPhote                      ;20050728
        if [mStepPhote] >= 16                   ;
                [mStepPhote] = 0
                if [mSwingStepCon] <= 0F0H
                        INC     mSwingStepCon
                endif
        endif
        RTS
FunSteppBackUP:
        if [mStepPhote] > 00H
                DEC     mStepPhote
        else
                [mStepPhote] = 15
                if [mSwingStepCon] <= 0F0H
                        INC     mSwingStepCon
                endif
        endif
        if [mStepPhote] >= 16
                [mStepPhote]  = 0
        endif
        LDA     port1
        AND     #StepperPort
        STA     mswingdrivetemp
        LDX     mStepPhote
        LDA     TABStepperPhase,X
        ORA     mswingdrivetemp
        STA     port1

        RTS
FunSteppBackSuB:
        if [mStepPhote] > 00H
                DEC     mStepPhote
        else
                [mStepPhote]  =  15
                if   [mSwingStepCon] > 0
                        DEC     mSwingStepCon
                endif
        endif
        if [mStepPhote] >= 16
                [mStepPhote] = 0
        endif
        LDA     port1
        AND     #StepperPort
        STA     mswingdrivetemp
        LDX     mStepPhote
        LDA     TABStepperPhase,X
        ORA     mswingdrivetemp
        STA     port1
        RTS
FunSteppForwardSuB:
        inc     mStepPhote
        if [mStepPhote] >=  16
                [mStepPhote] = 0
                if [mSwingStepCon] > 0
                        DEC     mSwingStepCon
                endif
        endif
        LDA     port1
        AND     #StepperPort
        STA     mswingdrivetemp
        LDX     mStepPhote
        LDA     TABStepperPhase,X
        ORA     mswingdrivetemp
        STA     port1
        RTS






FunStepper35Open:
        if [bOpenSwingOpen] == 1
                if [mSwingStepCon] <= [SwingtoD];41H       ;48h  xiang xia kai dao zui da weizhi d
                        JSR     FunSteppFowardUP
                else
                        CLB    bOpenSwingOpen
                        SEB    bOpenSwingClose
                 endif
         endif
         if [bOpenSwingOpen] == 0
                if [bOpenSwingClose] == 1
                        if [mSwingStepCon] > [SwingtoL];20H   ;hui dao L weizhi
                                        JSR     FunSteppBackSuB
                                         if  [ir1_swing] == 1          ;20050803  linshi
                                                  CLB     bOpenDoorflag
                                                  INC     mStepperStatus
                                          endif
                        else
                              if [mSwingStepCon] < [SwingtoL]
                                      JSR     FunSteppFowardUP
                              endif
                              if [mSwingStepCon] == [SwingtoL]
                                          jsr  FunStepperStep           ;20050821
;                                          if  [ir1_swing] == 1          ;20050803  linshi
;                                                  CLB     bOpenDoorflag
;                                                  INC     mStepperStatus
;                                          endif
                              endif
                       endif
               endif
        endif
        RTS

FunSwingAction:
        LDA     port0
        AND     #RoomFAN_Enable
        BEQ     FunStepperStep                 ;ExitSwingACt

        JSR     Fun35SwingAction


ExitSwingACt:
        RTS

FunStepperStep:
        LDA     port1
        AND     #StepperPort
        STA     port1
        RTS





Fun35SwingAction:
        if [bStepperOnmFanStatus] == 1
                if [bOpenSwingOpen] == 1
                        if [bOpenSwingClose] == 0
                                if [mSwingStepCon] <= [SwingtoD]
                                        JSR     FunSteppFowardUP
                                else
                                        CLB    bOpenSwingOpen
                                        SEB     bOpenSwingClose
                                endif
                        endif
                endif
                if [bOpenSwingOpen] == 0
                        if [bOpenSwingClose] == 1
                                if [mSwingStepCon] >= [SwingtoL]
                                        JSR     FunSteppBackSuB
                                else
                                        CLB    bOpenSwingClose
                                        SEB     bOpenSwingOpen
                                endif
                        endif
                endif
        else
                JSR     FunStepperStep
        endif
        RTS



Fun35SWingClose:
        if [bCloseDoormSwingStatus] == 1
                if [mSwingStepConclose] < 55H
                        JSR     FunSteppBackSuBclose
                else
                        CLB     bCloseDoormSwingStatus
                        JSR     FunStepperStep
                        [mSwingStepCon] = 00H
                        [mSwingStepConclose] = 00H
                endif
         endif
         RTS
FunSteppBackSuBclose:
        if [mStepPhote] > 00H
                DEC     mStepPhote
        else
                [mStepPhote]  =  15
                if   [mSwingStepConclose] < 55H
                        [mSwingStepConclose] = [mSwingStepConclose] + 1

                ELSE
                     [mSwingStepCon] = 00H
                     rts

                endif
        endif
       if [mStepPhote] >= 16
              [mStepPhote] = 0
       endif
       LDA     port1
       AND     #StepperPort
       STA     mswingdrivetemp
       LDX     mStepPhote
       LDA     TABStepperPhase,X
       ORA     mswingdrivetemp
       STA     port1
        RTS






Fun35StartClose:
        if [mStartSwingStep] > 00H
                if [mStepPhote] > 00H
                        DEC     mStepPhote
                else
                        [mStepPhote] = 16;15       linshi
                        DEC     mStartSwingStep
                endif
                if [mStepPhote] > 16;>= 16
                        [mStepPhote] = 00h
                endif
                JSR     Fun_DriveStep
        else
                CLB    bCloseDoorflag
                SEB    bStartClose
                JSR     FunStepperStep
         endif
         RTS

Fun_DriveStep:
        LDA     port1
        AND     #StepperPort
        STA     mswingdrivetemp
        LDX     mStepPhote
        LDA     TABStepperPhase,X
        ORA     mswingdrivetemp
        STA     port1
        RTS

⌨️ 快捷键说明

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