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

📄 defrost.inc

📁 使用三菱芯片开发的空调程序,具有低压保护功能
💻 INC
📖 第 1 页 / 共 2 页
字号:
;*************************************************
; check into defrost condition
; called after call A/D convert over
;*************************************************

IntoDefrostCheck:
	if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
                JSR     Fun_CheckMax
                ;if   [b_stopoutfan] == 0         ;20050813
                if    [M_PipeTemp] < [TPipepot53]
                       JSR     CheckPipeTemp
                else
                       [m_Tmax]=0
                       [m_TmaxFirst]=0
                       [mPRsubval] =0
                       [m_TmaxmidFirst]=0
                       [m_Tmaxmid]=0
                       ;[CaseC2s] = 0        ;20050913
                endif
        endif
        RTS
;--------------------------------------------
Fun_CheckMax:     ;or  zui xiao
	if [ice_flag] == 1  && [m_InDefrostSec] >= 180		;find t1 == m_Tmin neiguanwendu zui di zhi
                if   [M_PipeTemp] < [m_Tmin]
                        [m_Tmin] = [M_PipeTemp]
                        LDM     #00H,m_pipeupsec
                        LDM     #00H,m_TpNodownSec
                        [m_TpNodownMin] = 00h
                        CLB     b_Pipeupflag
                endif
        endif
	if [Comp]  == 0 || [Four_valve] == 0
                RTS
        endif

	if [CompOnminute] >= 5
	         if [m_Tpipetemp]>[M_RoomTemp]
		        [mPRsubval]=[m_Tpipetemp]-[M_RoomTemp]  ;@t1 guan wen jian huan wen de cha zhi
		 else
		        [mPRsubval]=0
		 endif
		if [M_CompSumMin] >= 24
		    if  [mFanChangetime]>=180
			;if [m_Tmax] < [mPRsubval]
				[m_Tmax] = [mPRsubval]
			;endif
			jsr   Fun_TmaxAdd
                    endif
		else
			if [CompOnminute] >= 8
			    if  [mFanChangetime]>=180
				;if [m_TmaxFirst] < [mPRsubval]
					[m_TmaxFirst] = [mPRsubval]
				;endif
				jsr	Fun_TmaxAddFirst
		            endif
				jsr CompOnOver16Min
			endif
		endif
	endif

	rts

;-------------------------------------------
Fun_TmaxAdd:
              if [M_fan] == 1
                  if [m_Tmaxmid] < [m_Tmax]
	               [m_Tmaxmid] = [m_Tmax]
	          endif
	      endif
	      if [H_fan] == 1
	          [Ttemp] = [m_Tmax] + 1
	          if [m_Tmaxmid] < [Ttemp]
		        [m_Tmaxmid] = [Ttemp]     ;zhe he zhong feng dang
		  endif
	      endif
	      if [L_fan] == 1
	          if  [m_Tmax] >= 2                  ;2005-10-28 11:39
	             [Ttemp] = [m_Tmax] - 2
	          else
	             [Ttemp] = 0
	          endif
	          if [m_Tmaxmid] < [Ttemp]
		      [m_Tmaxmid] = [Ttemp]
		  endif
	      endif
	rts

;-------------------------------------------
Fun_TmaxAddFirst:


	       if [M_fan] == 1
	            if  [m_TmaxmidFirst] < [m_TmaxFirst]
	                  [m_TmaxmidFirst] = [m_TmaxFirst]
	            endif
	       endif
	       if [H_fan] == 1
	            [Ttemp] = [m_TmaxFirst] + 1
	            if  [m_TmaxmidFirst] < [Ttemp]
		         [m_TmaxmidFirst] = [Ttemp]
		    endif
	       endif
	       if [L_fan] == 1
	            if  [m_TmaxFirst] >= 2
	                 [Ttemp] = [m_TmaxFirst] - 2
	            else
	                 [Ttemp] = 0
	            endif
	            if  [m_TmaxmidFirst] < [Ttemp]
		          [m_TmaxmidFirst] = [Ttemp]
		    endif
	       endif

	rts

;-------------------------------------------
CompOnOver16Min:
	if [CompOnminute] >= 16
		if [m_TmaxFirst] > [m_Tmax]
			[m_Tmax] = [m_TmaxFirst]
			[m_Tmaxmid] =[m_TmaxmidFirst]
		endif
	endif
	RTS

;**************************************************
CheckPipeTemp:
        if [ice_flag] == 0
                if [CompOnminute] >= 5
                	if  [mFanChangetime]>=180
	                        [m_Tpipetempmid] = [m_Tpipetemp]
				if [H_fan] == 1
					[m_Tpipetempmid] = [m_Tpipetemp] +1
				endif
				if [L_fan] == 1
				    if  [m_Tpipetemp] >= 2       ;2005-10-28 13:24
					[m_Tpipetempmid] = [m_Tpipetemp] -2
			            else
			                [m_Tpipetempmid] = 0
			            endif
				endif
		        endif
                        jsr     Fun_InDefrostA
                        JSR     Fun_InDefrostB

                        if [b_FirstInHeat] == 0
                                JSR     FUN_InDefrostC
                        endif
                else
                        LDM     #00H,m_pipeLow38Sec    ;guanwen xiao yu 45du 30s jishi
                endif
        endif
        RTS

;-----------------------------------------------
Fun_InDefrostA:
        if [m_Tpipetempmid]>[M_RoomTemp]
		        [mPRsubvalA]=[m_Tpipetempmid]-[M_RoomTemp]
        else
		        [mPRsubvalA]=0
        endif
	if [CompOnminute] == 15
	        if [m_Tmax0] > [mPRsubvalA]
                        [m_Tmax0] = [mPRsubvalA]
                endif

	     rts
        endif
	if [CompOnminute] == 23
                if [m_Tmax1] > [mPRsubvalA]
                        [m_Tmax1] = [mPRsubvalA]
                endif
		rts
        endif
        if [CompOnminute] == 31
                if [m_Tmax2] > [mPRsubvalA]
                        [m_Tmax2] = [mPRsubvalA]
                endif
		rts
        endif
        if [CompOnminute] == 39
                if [m_Tmax3] > [mPRsubvalA]
                        [m_Tmax3] = [mPRsubvalA]
                endif
		jmp	DefrostAOver40
        endif
	if [CompOnminute] == 47
                if [m_Tmax4] > [mPRsubvalA]
                        [m_Tmax4] = [mPRsubvalA]
                endif
		jmp	DefrostAOver48
        endif
	if [CompOnminute] == 55
                if [m_Tmax5] > [mPRsubvalA]
                        [m_Tmax5] = [mPRsubvalA]
                endif
		jmp	DefrostAOver56
        endif
	if [CompOnminute] == 63
                if [m_Tmax6] > [mPRsubvalA]
                        [m_Tmax6] = [mPRsubvalA]
                endif
		jmp	DefrostAOver64
        endif
	if [CompOnminute] == 71
                if [m_Tmax7] > [mPRsubvalA]
                        [m_Tmax7] = [mPRsubvalA]
                endif
		jmp	DefrostAOver72
        endif


DefrostAOver72:
	if [CompOnminute] >= 72
          	if [m_Tmax7] < [m_Tmax6] && [m_Tmax6] < [m_Tmax5] && [m_Tmax5] < [m_Tmax4]
                        seb    b_defrostFlag
              	endif
              	ldm   	#40,CompOnminute
       		[m_Tmax1]	= [m_Tmax5]
       		[m_Tmax2]	= [m_Tmax6]
       		[m_Tmax3]	= [m_Tmax7]
       		[m_Tmax7]	= 0FFH
       		[m_Tmax6]	= 0FFH
       		[m_Tmax5]	= 0FFH
       		[m_Tmax4]	= 0FFH
      		jmp   	WaitFor30Sec
	endif
DefrostAOver64:
	if [CompOnminute] >= 64 && [CompOnminute] < 72
          	if [m_Tmax6] < [m_Tmax5] && [m_Tmax5] < [m_Tmax4] && [m_Tmax4] < [m_Tmax3]
                        seb    b_defrostFlag
              	endif
      		jmp   	WaitFor30Sec
	endif
DefrostAOver56:
	if [CompOnminute] >= 56 && [CompOnminute] < 64
              	if   [m_Tmax5] < [m_Tmax4] && [m_Tmax4] < [m_Tmax3] && [m_Tmax3] < [m_Tmax2]
                        seb    b_defrostFlag
              	endif
	   	jmp   	WaitFor30Sec
      	endif
DefrostAOver48:
      	if [CompOnminute] >= 48 && [CompOnminute] < 56
              	if  [m_Tmax4] < [m_Tmax3] && [m_Tmax3] < [m_Tmax2] && [m_Tmax2] < [m_Tmax1]
                        seb    b_defrostFlag
              	endif
		jmp   	WaitFor30Sec
      	endif
DefrostAOver40:
      	if [CompOnminute] >= 40 && [CompOnminute] < 48
              	if [m_Tmax3] < [m_Tmax2] && [m_Tmax2] < [m_Tmax1] && [m_Tmax1] < [m_Tmax0]
                        seb    b_defrostFlag
              	endif
		jmp   	WaitFor30Sec
      	endif
	rts

;--------------------------------------------------------------
WaitFor30Sec:
	if [b_defrostFlag] == 1 && [m_pipeLow38Sec] >= 30
		[mNowBuffer]	= [M_RoomTemp] + 18
                if [m_Tpipetempmid] <= [mNowBuffer] && [b_stopoutfan] == 0
                        SEB     ice_flag
			rts
                endif
      	endif

	RTS

;********************************************************
Fun_InDefrostB:
  lif [CompOnminute] >= 5 && [mFanChangetime] >= 180
        if [m_Tpipetempmid]>[M_RoomTemp]
              [mPRsubvalnow] = [m_Tpipetempmid] - [M_RoomTemp]
        else
              [mPRsubvalnow] = 00h
        endif
	if [m_Tmaxmid] > [mPRsubvalnow]
        	[m_PipeSubval] = [m_Tmaxmid] - [mPRsubvalnow]          ;mPRsubval -----m_Tmax
       	else
               	[m_PipeSubval] = 00H
		rts
       	endif
	if 	[M_CompSumMin] <= 40
		rts
	endif
	if [M_CompSumMin] > 40 && [M_CompSumMin] <= 50
		if [m_PipeSubval] >= 8
             		seb    b_defrostFlag
     		endif
		jmp	WaitFor30Sec
        endif
	if [M_CompSumMin] > 50 && [M_CompSumMin] <= 60

⌨️ 快捷键说明

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