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

📄 adcon1.inc

📁 使用三菱芯片开发的空调程序,具有低压保护功能
💻 INC
📖 第 1 页 / 共 2 页
字号:
;*********************************************************
; Rewriter in 2000,5,20
; AD Converter Program
;    Room Pipe Temp     AN1
;    Room_Temp          AN0
;    overcurrent        AN2
;    choose1    26/35---autokey   AN3
;    choose2    fast----cool/heat AN4
;---------------------------------------------------------
AD_Convert:

over_current:
         [p3dir] = Initp3dir

         LDM     #00H,AD1
         LDM     #00H,AD2         ; bit7=0 10bit A_D
                                  ; bit7=1 8bit A_D
         [ADCON] =  COMPCurrentcon   ; 2000.5.12
         do
                NOP
                NOP
                NOP
                NOP
         while [ADcomp] == 0
         				nop									;[AD2_buffer] =[AD2] & 00000011B
         													;CLC
        [mCompILow]  = [AD1]			;[mCompILow]  = [mCompILow] + [AD1]
         jsr Fun_CheckLowVoltage			;[mCompIhigh] = [mCompIhigh]+ [AD2_buffer] with_C;add zht 20070115
         [ADcomp] = 0

choose1_temp:
         LDM     #00H,AD1
         LDM     #00H,AD2         ; bit7=0 10bit A_D
                                  ; bit7=1 8bit A_D
         [ADCON] =  choose1Con
         do
                NOP
                NOP
                NOP
                NOP
         while [ADcomp] == 0
         [AD2_buffer] =[AD2] & 00000011B
         CLC
         [mchoose1Low]  = [mchoose1Low] + [AD1]
         [mchoose1high] = [mchoose1high]+ [AD2_buffer] with_C
         [ADcomp] = 0
choose2_temp:
         LDM     #00H,AD1
         LDM     #00H,AD2         ; bit7=0 10bit A_D
                                  ; bit7=1 8bit A_D
         [ADCON] =  choose2Con
         do
                NOP
                NOP
                NOP
                NOP
         while [ADcomp] == 0
         [AD2_buffer] =[AD2] & 00000011B
         CLC
         [mchoose2Low]  = [mchoose2Low] + [AD1]
         [mchoose2high] = [mchoose2high]+ [AD2_buffer] with_C
         [ADcomp] = 0
room_temp:
         LDM     #00H,AD1
         LDM     #00H,AD2         ; bit7=0 10bit A_D
                                  ; bit7=1 8bit A_D
         [ADCON] =   RoomADCon    ; 2000.5.12
         do
                NOP
                NOP
                NOP
                NOP
         while [ADcomp] == 0
         [AD2_buffer] =[AD2] & 00000011B
         CLC
         [mRoomLow]  =[mRoomLow] + [AD1]
         [mRoomHigh] =[mRoomHigh] + [AD2_buffer] with_C
         [ADcomp] = 0
;OPipe_Temp:
         ;LDM     #00H,AD1
         ;LDM     #00H,AD2
         ;[ADCON] = OPipeADCon
         ;do
                ;NOP
               ; NOP
               ; NOP
               ; NOP
        ; while [ADcomp] == 0
         ;[AD2_buffer] =[AD2] & 00000011B
         ;CLC
         ;[OmPipeLow]  =[OmPipeLow] + [AD1]
         ;[OmPipeHigh]=[OmPipeHigh] + [AD2_buffer] with_C
         ;[ADcomp] = 0

Pipe_Temp:
         LDM     #00H,AD1
         LDM     #00H,AD2
         [ADCON] = PipeADCon
         do
                NOP
                NOP
                NOP
                NOP
         while [ADcomp] == 0
         [AD2_buffer] =[AD2] & 00000011B
         CLC
         [mPipeLow]  =[mPipeLow] + [AD1]
         [mPipeHigh]=[mPipeHigh] + [AD2_buffer] with_C
         [ADcomp] = 0
         INC     AD_Count
ADCon_End:
         if   [AD_Count] >= 64
               [m_RoomADval] = [mRoomHigh]
               if [m_RoomADval] <= 254
                   if [mRoomLow] >= 80H
                        [m_RoomADval]  = [m_RoomADval] + 1
                   endif
               endif
               [M_PipeTemp]   = [mPipeHigh]
               if [M_PipeTemp] <= 254
                    if [mPipeLow] >= 80H
                        INC     M_PipeTemp
                    endif
               endif
               JSR    ADCon_End1
               [mCompCurr]    = [mCompIhigh]

               ;LDM     #00h,OmPipeHigh
               ;LDM     #00h,OmPipeLow
               LDM     #00h,AD_Count
               ;****************************************
               LDM     #00h,mCompIhigh                ;20050716
               LDM     #00h,mCompILow
               ;*****************************************
               LDM     #00h,mRoomHigh
               ldm     #00h,mRoomLow
               Ldm     #00h,mPipeHigh
               Ldm     #00h,mPipeLow
               jsr     AD_RoomTemp
               jsr     AD_PipeTemp
               ;jsr     AD_OPipeTemp
               SEB     ADconend_flag
               if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                     if   [b_sencerErrorGUAN] == 0 && [b_sencerErrorHUAN] == 0           ;20050913
                             jsr	IntoDefrostCheck
                     endif
               endif
       endif
       RTS
ADCon_End1:
              [M_choose1Temp] = [mchoose1high]
               [M_choose2Temp] = [mchoose2high]
               if [M_choose2Temp]>=64H;        100
                    if [M_choose2Temp] <= 8CH;   140
                        [Fast_test] = 0
                    else
                        if [M_choose2Temp]>=0BEH;   190
                          [Fast_test] = 0    ;fast
                        else
                           [Fast_test] = 1
                        endif
                    endif
               else
                     [Fast_test] = 1
               endif

               if [M_choose2Temp]>=8CH  ;140
                   [sigercool] = 1             ;heat
               else
                   [sigercool] = 0
               endif

               if [M_choose1Temp]>=64H  ;100
                    if [M_choose1Temp] <= 8CH  ;140
                        [Auto_keytemp] = 1
                    else
                        if [M_choose1Temp]>=0BEH   ;190
                          [Auto_keytemp] = 1
                        else
                           [Auto_keytemp] = 0
                        endif
                    endif
               else
                     [Auto_keytemp] = 0
               endif
               if   [M_choose1Temp] >= 8CH   ;140
                     [Type_electtemp] = 0
               else
                     [Type_electtemp] = 1
               endif


               ;[M_OPipeTemp] = [OmPipeHigh]
               ;if [OmPipeLow] >= 80H
                        ;[M_OPipeTemp]  = [M_OPipeTemp] + 1
               ;endif

               LDM     #00h,AD_Count

               LDM     #00h,mchoose1Low
               LDM     #00h,mchoose1high

               LDM     #00h,mchoose2Low
               LDM     #00h,mchoose2high

       RTS
;****************************************************
; AD_RoomTemp Program For tempture M_RoomTemp
;                     For Display  roomtem
;
;****************************************************

AD_RoomTemp:
       if [m_RoomADval] < 3bh
                [M_RoomTemp] = 0
                jmp     outroom
       endif
       if [m_RoomADval] > 0efH
                [M_RoomTemp] = 99
                jmp     outroom
       endif
       ldx      #00h
macher:
        if [TempAD_Tab,x] < [m_RoomADval]
                [A_D]=[m_RoomADval]-[TempAD_Tab,x]
                inx
                jmp     macher
        endif
        [A_D]= [A_D] + [m_RoomADval]
        if [TempAD_Tab,x] >= [A_D]  &&  x >= 1
             dex
        endif
        stx     M_RoomTemp

           [A_D] = [M_RoomTempsel] & 0F0h         ;chen
        LDA     A_D
        LSR     A
        LSR     A
        LSR     A
        LSR     A
        X  =    A
        if A <= 6
                [M_RoomHigh]=[HexToDEC_Tab,X]
                [A_D] = [M_RoomTempsel] & 0Fh
                SED
                LDA     A_D
                CLC
                ADC     #00h
                ADC     M_RoomHigh
                CLC
                ADC     #00h
                STA     M_DispRoomTemp
                CLD
        endif

⌨️ 快捷键说明

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