📄 idwracsys.asm
字号:
;************************************************************************
; History:
;
;------------------------------------------------------------------------
RORax:
CLR1 CY
XCH A,X
RORC A,1
XCH A,X
RORC A,1
RET
;************************************************************************
;* Module Name: DEC->HEX *
;* Function: *
;* Input: A *
;* Output: A *
;* Break: A,X,B *
;* stack: *
;************************************************************************
; History:
;
;------------------------------------------------------------------------
DEC2HEX:
MOV X,A
AND A,#0FH
XCH A,X
AND A,#0F0H
ROR A,1
ROR A,1
ROR A,1
ROR A,1
MOV B,A
MOV A,#0
D2H_01:
ADD A,#0AH
DBNZ B,$D2H_01
ADD A,X
RET
;************************************************************************
;* Module Name: ROLA4 *
;* Function: A<<4 *
;* Input: A *
;* Output: A *
;* Break: A *
;* stack: *
;************************************************************************
; History:
;
;------------------------------------------------------------------------
ROLA4:
ROL A,1
ROL A,1
ROL A,1
ROL A,1
RET
;------------------------------------------------------------------------
RET
;************************************************************************
;* Module Name: *
;* Function: *
;* Input: *
;* Output: *
;* Break: *
;* stack: *
;************************************************************************
DEBUGdat:
MOV D_RMTdat,#11000000B
MOV D_RMTdat+1,#11101110B ;TIMER OFF,1 HOUR
MOV D_RMTdat+2,#0B ;
MOV D_RMTdat+3,#0B ;
MOV D_RMTdat+4,#10100101B ;costomer
RET
;*********************************************************
; module for self test
;*********************************************************
AUTtest:
MOV C_AUTstp,#n_tst88+1+2
mov D_DSPram,#0ffh
mov D_DSPram+1,#0ffh
mov D_DSPram+2,#0ffh
AUTloop:
SET1 RUN
CALL !TMcount
CALL !DELAY
CALL !DELAY
CALL !DELAY
CALL !DELAY
CALL !AUTout
CALL !SCANout
; call !outLED
CMP C_AUTstp,#0
BNZ $AUTloop
; clr1 o_FANout
RET
;*******************************************************
AUTout:
CMP C_AUTstp,#n_tst88
BNZ $AUTtest0
MOV D_DSPram,#0
MOV D_DSPram+1,#0
RET
AUTtest0:
CMP C_AUTstp,#n_tstRUN
BNZ $AUTtest1
MOV D_DSPram,#0FFH
MOV D_DSPram+1,#0FFH
RET
AUTtest1:
CMP C_AUTstp,#n_tstCchar
BNZ $AUTtest2
CLR1 f_LEDcool
RET
AUTtest2:
AUTtest4:
CMP C_AUTstp,#n_tstHEAT
BNZ $AUTtest5
SET1 f_LEDcool
CLR1 f_LEDheat
RET
AUTtest5:
AUTtest6:
AUTtest7:
AUTtest8:
CMP C_AUTstp,#n_tstCOM
BNZ $AUTtest9
SET1 o_COMon
RET
AUTtest9:
CMP C_AUTstp,#n_tstS4
BNZ $AUTtestA
CLR1 o_COMon
SET1 o_S4on
RET
AUTtestA:
CMP C_AUTstp,#n_tstHTR
BNZ $AUTtestB
CLR1 o_S4on
SET1 o_HTR1
RET
AUTtestB:
CMP C_AUTstp,#n_tstFANh
BNZ $AUTtestC
CLR1 o_HTR1
set1 o_FANhigh
RET
AUTtestC:
CMP C_AUTstp,#n_tstFANl
BNZ $AUTtestD
CLR1 o_FANhigh
SET1 o_FANlow
RET
AUTtestD:
RET
;************************************************************************
NO_USE:
INTWDT:
INTP1:
INTP2:
INTP3:
INTSR20:
INTST20:
INTWT:
INTWTI:
INTTM81:
INTTM82:
INTTM90:
INTAD0:
NOP
RETI
;
;************************************************************************
DATEchk:
cmp M_MODset,#n_Mheat+1
BNC $dataERR
cmp M_MODrun,#n_Mheat+1
BNC $dataERR
cmp M_FANset,#n_FANhigh+1
BNC $dataERR
cmp D_TMPset,#100+n_TMPdsp
BNC $dataERR
CMP D_TMPcset,#33+n_TMPdsp
BNC $dataERR
CMP C_RES2s,#17
BNC $dataERR
CLR1 TMMK80
EI
SET1 RUN
;...
RET
dataERR:
DI
NOP
NOP
BR dataERR ;WAIT FOR THE WATCHDOG
;************************************************************************
PROTECT:
mov A,f_FLGerr
cmp A,#0
BNE ERRsensor
RET
ERRsensor:
CALL !ON2OFF
ret
;************************************************************************
;************************************************************************
;************************************************************************
;* Module Name: OUTPUT *
;* Function: output the conttrol object *
;* Input: *
;* Output: *
;* Break: *
;* stack: *
;************************************************************************
; History:
;
;------------------------------------------------------------------------
OUTctrl:
CALL !OUTcom ;COMPRESSOR
CALL !OUTextFAN
CALL !OUTs4 ;outdoor fan
CALL !OUTfan ;INDOOR FAN
CALL !OUThtr ;HEATER
CALL !OUTswing
RET
;------------------------------------------------------------------------
; OUT put the f_COMon to o_COMon
;------------------------------------------------------------------------
OUTcom:
BT f_COMon,$ONcom
BT o_COMon,$COM2off
; MOV C_COM6mRUN,#n_6M5s
MOVW AX,#360
MOVW C_COM6mRUN,AX
CMP C_COM3mP,#0
BNE $+2+1
RET
MOV C_COM7mOFF,#n_4m1s
RET
ERR2com:
CLR1 f_EXTon
COM2off:
MOV C_COM3mP,#n_3m1s
CLR1 o_COMon
CALL !OFF_COM
RET
ONcom:
BF o_COMon,$COM2on
RET
COM2on:
CMP C_COM3mP,#0
BNZ $COMnotON
SET1 o_COMon
LD A,#n_2m1s
LD C_S42m,a ;
RET
COMnotON:
CALL !OFF_COM
RET
;------------------------------------------------------------------------
; OUTPUT heater
;------------------------------------------------------------------------
OUThtr:
BT f_HTR1on,$ONhtr
BF o_HTR1,$$+4+3
MOV C_HTR3mP,#n_3m1s
CLR1 o_HTR1
CLR1 o_HTR2
MOV C_HTR3mRUN,#n_3m1s
RET
ONhtr:
SET1 o_HTR1
SET1 o_HTR2
RET
;------------------------------------------------------------------------
; OUT TO FAN CONTROL
;------------------------------------------------------------------------
OUTfan:
LD A,M_FANsp
CMP A,#n_FANlow
JREQ outLOWfan
CMP A,#n_FANhigh
JREQ outHIGHfan
CMP A,#n_FANmid
JREQ outMIDfan
outOFFfan:
MOV C_FAN3s,#n_3s1s
CLR1 o_FANlow
CLR1 o_FANmid
CLR1 o_FANhigh
RET
outLOWfan:
CLR1 o_FANhigh
CLR1 o_FANmid
SET1 o_FANlow
RET
outHIGHfan:
CLR1 o_FANlow
CLR1 o_FANmid
SET1 o_FANhigh
RET
outMIDfan:
CLR1 o_FANlow
CLR1 o_FANhigh
SET1 o_FANmid
RET
;========================================================================
OUTswing:
CMP M_FANsp,#0
BEQ SWGoff
BF f_SWGset,$SWGoff
SET1 o_SWGon
ret
SWGoff:
CLR1 o_SWGon
RET
;------------------------------------------------------------------------
; OUT TO EXTEND FAN
;------------------------------------------------------------------------
OUTextFAN:
BT f_EXTon,$turnEXTon
CLR1 o_EXTon
MOV C_FAN3s,#n_3s1s
ret
turnEXTon:
SET1 o_EXTon
ret
;************************************************************************
;------------------------------------------------------------------------
OUTs4:
BT f_S4on,$ONS4
CLR1 o_S4on
RET
ONS4:
SET1 o_S4on
RET
;========================================================================
TESTctrl:
BF f_SYStest,$NOtest
mov C_S42m,#0
mov C_RMT1s,#0
MOV C_COM3mP,#0
MOV C_FRZ2m,#0
MOV C_DEFpipe,#0
CMP C_TEST90min,#0
BNE NOtest
CALL !ON2OFF
NOtest:
RET
;========================================================================
DELAY:
MOV A,#1FH
DELAYloop:
DEC A
BNZ $DELAYloop
ret
;***********************************************************
$include (IDwracCNT.ASM)
$include (IDwracRMT.ASM)
$include (IDwracMOD.ASM)
$include (IDwracDSP.ASM)
$include (IDwrackey.ASM)
$include (IDwracADC.ASM)
$include (IDwracI2C.ASM)
$include (IDwracBUZ.ASM)
$include (IDwracTMR.ASM)
$include (IDwracSTP.ASM)
$include (IDwracSLP.ASM)
$include (IDwracHOT.ASM)
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -