📄 idwrackey.asm
字号:
MOV M_LEDdigram,#n_TMPset
CALL !DSP3sec
MOV C_RMT1s,#n_2s125
BTJF f_DEGREEf,DNdegreeC
CP D_TMPset,#60+n_TMPdsp+2 ;66`F
JRUGE $+2+1
RET
;------------------------------------------------------------------------
BF f_SLEEP,$ENDslpDN
CMP C_SLPstp,#2
BZ $ENDslpDN
MOV A,D_TMPrun
MOV D_TMPset,A
ENDslpDN:
;------------------------------------------------------------------------
call !BEEP1tms
SUB D_TMPset,#1
skipDOWN:
MOV A,D_TMPset
CALL !degreeF2C
LD D_TMPcset,A
MOV C_SLPstp,#2 ;sleep set to 7 step. each step count to 7min 掉电后睡眠重计时
MOV C_SLP1h,#n_1h1m ;count source 1min
RET
DNdegreeC:
LD A,D_TMPcset
CP A,#16+n_TMPdsp+1 ;(16+40)
JRUGE $+2+1
RET
;------------------------------------------------------------------------
BF f_SLEEP,$ENDslpDN1
CMP C_SLPstp,#2
BZ $ENDslpDN1
MOV A,D_TMPcRUN
MOV D_TMPcset,A
ENDslpDN1:
;------------------------------------------------------------------------
DEC A
LD D_TMPcset,A
CALL !degreeC2F
LD D_TMPset,A
call !BEEP1tms
MOV C_SLPstp,#2 ;sleep set to 7 step. each step count to 7min 掉电后睡眠重计时
MOV C_SLP1h,#n_1h1m ;count source 1min
RET
;------------------------------------------------------------------------
TonSETdown:
Call !BEEP1tms
MOVW HL,#D_TMRon
BRA TMRdown
ToffSETdown:
Call !BEEP1tms
MOVW HL,#D_TMRoff
TMRdown:
MOV A,[HL]
DEC A
CMP A,#0FFH
BC $$+2+3
mov A,#24
MOV [HL],A
CALL !DSP10sec
MOV C_TMRmin,#n_1h1m-1
RET
;========================================================================
KEYroll:
mov C_RMTroll,#n_300ms3125
; MOV A,#2
; BTJT f_SYStest,$+4+3
MOV A,#10
CMP C_KEYroll,#0
BNE NOroll
MOV C_KEYsame,A
RET
NOroll:
DEC C_KEYroll
ROL A,1
MOV C_KEYsame,A
RET
;========================================================================
KEYon:
call !BEEP1tms
BTJF f_PWRon,keyOFF2ON1
CALL !ON2OFF
RET
;------------------------------------------------------------------------
keyOFF2ON1:
BF f_PWRon,$$+4+1
RET
call !OFF2ON
RET
;========================================================================
;if change the mode, didn't clear the money save flag
;------------------------------------------------------------------------
KEYmod:
BT f_PWRon,$$+4+1
RET
call !BEEP1tms
; CLR1 f_SLEEP
MOV C_RMT1s,#n_2s125
BT f_COOLquick,$entCOOL
CLR1 f_COOLquick
mov A,#n_Mheat+1
xch A,X
bt f_MODmoney,$BACKautoM
MOV A,M_MODset
INC A
; CMP A,#n_Mdry
; BNE $+2+1
; INC A
BF f_COOLonly,$$+4+1
dec X
CMP A,X
BNE FANnoMONEY
MOV M_MODset,#n_Mcool ;1
SET1 f_MODmoney ;modify for spec change mode key
MOV M_FANset,#n_FANhigh
BR MfanTset
; BR FANnoMONEY ;
BACKautoM:
MOV A,#n_Mauto
CLR1 f_MODmoney ;
FANnoMONEY:
CMP M_FANset,#n_FANauto
BNE $+2+3
lowFANmode:
MOV M_FANset,#n_FANlow
MOV M_MODset,A
cmp A,#n_Mdry
BNE $+2+3
MOV M_FANset,#n_FANlow
cmp A,#n_Mfan
BEQ MfanTset
ret
entCOOL:
CLR1 f_COOLquick
MOV A,#n_Mcool
MOV M_MODset,A
RET
MfanTset:
mov D_TMPset,#72+n_TMPdsp
mov D_TMPcset,#22+n_TMPdsp
CLR1 f_SLEEP
ret
;========================================================================
KEYfansp:
MOV X,#n_FANhigh+1 ;[HIS-002]
KEYrmtSP:
BT f_PWRon,$$+4+1
RET
cmp M_MODset,#n_Mauto
BNE $+2+1
ret
cmp M_MODset,#n_Mdry
BNE $+2+1
ret
bt f_COOLquick,$endFANset
call !BEEP1tms
MOV C_RMT1s,#n_2s125
; CMP M_LEDdigram,#n_FANset
; BNE DSPfanSP
LD A,M_FANset
CMP A,#n_FANlow
BNE $+2+2
MOV A,X
dec A ;[HIS-002]
LD M_FANset,A
;DSPfanSP:
; MOV M_LEDdigram,#n_FANset
; CALL !DSP10sec
endFANset:
ret
;========================================================================
;========================================================================
KEYmoney:
BT f_PWRon,$$+4+1
RET
;------------------------------------------------------------------------
;[HIS-009]
cmp M_MODset,#n_Mdry
BEQ SEThighF
CMP M_MODset,#n_Mfan
BNE noFAN2money
SEThighF:
mov M_FANset,#n_FANhigh
MOV D_TMPset,#72+n_TMPdsp
LD D_TMPcset,#22+n_TMPdsp
noFAN2money:
;------------------------------------------------------------------------
mov M_MODset,#n_Mcool
Call !BEEP1tms
MOV C_RMT1s,#n_2s125
; BSET f_SYSsave
BT f_MODmoney,$CLRmoney
SET1 f_MODmoney
bt f_COOLquick,$$+4+1
ret
CLR1 f_COOLquick
mov M_FANset,#n_FANhigh
MOV D_TMPset,#72+n_TMPdsp
LD D_TMPcset,#22+n_TMPdsp
RET
CLRmoney:
CLR1 f_MODmoney
MOV D_TMPset,#72+n_TMPdsp
LD D_TMPcset,#22+n_TMPdsp
MOV M_FANset,#n_FANhigh ;[HIS-007]
RET
;------------------------------------------------------------------------
;------------------------------------------------------------------------
KEYquick:
BF f_PWRon,$noQUICK
; CMP M_MODset,#n_Mcool
; BEQ $+2+1
; RET
; bt f_MODmoney,$CLTquick
; BT f_GOODman,$KEYsleep
call !BEEP1tms
BT f_COOLquick,$CLTquick
MOV A,#72+n_TMPdsp
MOV D_TMPset,A
CALL !degreeF2C
LD D_TMPcset,A
MOV M_FANset,#n_FANhigh
MOV M_MODset,#n_Mcool
SET1 f_COOLquick
CLR1 f_MODmoney
CLR1 f_SLEEP
MOV C_QUCIK30min,#n_30m1m
RET
CLTquick:
CLR1 f_COOLquick
noQUICK:
RET
;------------------------------------------------------------------------
KEYsleep:
BF f_PWRon,$CLRsleep
bt f_COOLquick,$CLRsleep
CMP M_MODset,#n_Mcool
BEQ ENsleep
CMP M_MODset,#n_Mheat
BEQ ENsleep
CMP M_MODset,#n_Mdry
BEQ ENsleep
CMP M_MODset,#n_Mauto
BEQ ENsleep
ret
ENsleep:
call !BEEP1tms
bt f_SLEEP,$CLRsleep
SET1 f_SLEEP
MOV C_SLPstp,#2
MOV C_SLP1h,#60
RET
CLRsleep:
CLR1 f_SLEEP
RET
;------------------------------------------------------------------------
;========================================================================
KEYtmr:
CALL !BEEP1tms
CMP M_LEDdigram,#n_DSPtonSET
BEQ TMRset
CMP M_LEDdigram,#n_TOFFset
BEQ TMRset
BT f_PWRon,$KEYtmOFF
KEYtmON:
BT f_TMRset,$clrTMR
CALL !DSP10sec
MOV M_LEDdigram,#n_DSPtonSET
RET
KEYtmOFF:
BT f_TMRset,$clrTMR
CALL !DSP10sec
MOV M_LEDdigram,#n_TOFFset
RET
TMRset:
TMRset10s:
CMP D_TMRon,#0
BEQ clrTMR
BT f_TMRset,$noINITtmr
SET1 f_TMRset
MOV C_TMRmin,#n_1h1m-1
MOV C_TMRsec,#n_1m1s-1
mov A,D_TMRon
mov D_TMRset,A
noINITtmr:
mov M_LEDdigram,#n_TMPrm
ret
clrTMR:
CLR1 f_TMRset
mov D_TMRon,#0
mov M_LEDdigram,#n_TMPrm
RET
;========================================================================
;========================================================================
; key filter check
;========================================================================
KEYfilter:
CALL !BEEP1tms
CLR1 f_FILTER
MOVW AX,#1080
MOVW C_FLThour,AX
LD C_FLTmin,#30 ;每30min record
RET
;========================================================================
; key swing setting
;========================================================================
KEYswing:
BT f_PWRon,$$+4+1
RET
call !BEEP1tms
BT f_SWGset,$CLRswg
setSWG:
SET1 f_SWGset
RET
CLRswg:
CLR1 f_SWGset
RET
;========================================================================
DSP10sec:
MOV C_DSP10sec,#20
RET
DSP3sec:
MOV C_DSP10sec,#7
RET
;========================================================================
degreeF2C:
CLR1 CY
; RORC A,1
SUB A,#n_TMPdsp+32
MOV X,A
MOV A,#0
ADDW AX,#TAB_F2C
MOVW HL,AX
MOV A,[HL]
ADD A,#n_TMPdsp
CLR1 CY
; ROLC A,1
RET
TAB_F2C:
DB 0 ;32
DB 1 ;33
DB 1 ;34
DB 2 ;35
DB 2 ;36
DB 3 ;37
DB 3 ;38
DB 4 ;39
DB 4 ;40
DB 5 ;41
DB 6 ;42
DB 6 ;43
DB 7 ;44
DB 7 ;45
DB 8 ;46
DB 8 ;47
DB 9 ;48
DB 9 ;49
DB 10 ;50
DB 11 ;51
DB 11 ;52
DB 12 ;53
DB 12 ;54
DB 13 ;55
DB 13 ;56
DB 14 ;57
DB 14 ;58
DB 15 ;59
DB 16 ;60
DB 16 ;61
DB 17 ;62
DB 17 ;63
DB 18 ;64
DB 18 ;65
DB 19 ;66
DB 19 ;67
DB 20 ;68
DB 21 ;69
DB 21 ;70
DB 22 ;71
DB 22 ;72
DB 23 ;73
DB 23 ;74
DB 24 ;75
DB 24 ;76
DB 25 ;77
DB 26 ;78
DB 26 ;79
DB 27 ;80
DB 27 ;81
DB 28 ;82
DB 28 ;83
DB 29 ;84
DB 29 ;85
DB 30 ;86
DB 31 ;87
DB 31 ;88
DB 32 ;89
DB 32 ;90
DB 33 ;91
DB 33 ;92
DB 34 ;93
DB 34 ;94
DB 35 ;95
DB 36 ;96
DB 36 ;97
DB 37 ;98
DB 37 ;99
DB 38 ;100
DB 38 ;101
;************************************************************************
degreeC2F:
SUB A,#n_TMPdsp
; CLR1 CY
; RORC A,1
MOV X,A
MOV A,#0
ADDW AX,#TAB_C2F
MOVW HL,AX
MOV A,[HL]
CLR1 CY
; ROLC A,1
ADD A,#n_TMPdsp
RET
TAB_C2F:
DB 32 ;0
DB 34 ;1
DB 36 ;2
DB 37 ;3
DB 39 ;4
DB 41 ;5
DB 43 ;6
DB 45 ;7
DB 46 ;8
DB 48 ;9
DB 50 ;10
DB 52 ;11
DB 54 ;12
DB 55 ;13
DB 57 ;14
DB 59 ;15
DB 61 ;16
DB 63 ;17
DB 64 ;18
DB 66 ;19
DB 68 ;20
DB 70 ;21
DB 72 ;22
DB 73 ;23
DB 75 ;24
DB 77 ;25
DB 79 ;26
DB 81 ;27
DB 82 ;28
DB 84 ;29
DB 86 ;30
DB 88 ;31
DB 90 ;32
DB 91 ;33
DB 93 ;34
DB 95 ;35
DB 97 ;36
DB 99 ;37
DB 99 ;38
DB 99 ;38
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -