📄 main.a74.bak
字号:
.ORG 0000H
.byte 'M38503M4A-'
;赏屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?
;? Main Program ?
;? emory size Rom 16K bytes ?
;? Ram 640 bytes ?
;韧屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯?
.INCLUDE SFRDEF.INC
.INCLUDE Initdef.inc
.SECTION ROM
.ORG 0C080H
.procmain
main:
clt
cld
clc
[CPUM] = InitCPUM ;hight-speed mode ;0c
fst
nop
ldx #0FFH ;init stact point
txs
SEI
X=0FFH ;INI Stack
S=X
nop
nop
; if [Out_watchdog]==1
; seb Out_watchdog
;else
;clb Out_watchdog
; endif
NOP
JSR Init_Sfr
JSR Init_Variable ;Add Zhang 99.11.29
[mStartSwingStep] = 4eH;50H;60H
NOP
;________________________________________________________________________
CLB Start_timerX ;Timer X count Start
CLB Start_timerY ;Timer y count Start
CLI ;Interrput Enable
NOP
NOP
NOP
NOP
SEB b_Bezzon
LDM #00H,soundtime
clB Start_timerX
;[m_Rxdcount] = 00H ;chen
[WDTCON] = InitWDTCON ;001EH Watchdog timer control register zanshi
jsr InitEEPROM
mainloop:
[WDTCON] = InitWDTCON ;001EH Watchdog timer control register zanshi
jsr Fun_Watdog
JSR AD_Convert
clRbuff:
;CLB b_RSTART
;[m_Rxdcount] = 00H
;[ICON2] = CommRxdCON2 ;20041207
JSR FUN_Receive
;JSR e2processsub ;20040926
;IF [M_TxdEndMsec] >= 1 ;chen
;[ICON2] = CommRxdCON2
;CLB b_TxdEndFlag
;LDM #00H,M_TxdEndMsec
;LDM #00H,m_TxdCount
;endif
if [ir_onoff] == 1
;if [Comp]== 1 || [Comp_Iflag] == 1
; JSR CompItest
;endif
JSR Fun_Action
else
jsr Fun_SystemStop
;**********************************************************************20050914
;if [M_RoomTemp] > 1Ah ;RUN_COOL
;[settempvaldis] = 1ah
;endif
;if [M_RoomTemp] >= 20 && [M_RoomTemp] <= 26 ; RUN_DRY
;[settempvaldis] = 18h
;endif
;if [M_RoomTemp] < 20
; RUN_HEAT
;RUN_FAN
;[settempvaldis] = 14h
; endif
;***********************************************************************
endif
if [Type_electtemp] == 0
[Type_electcount1] = 0
[Type_electcount] = [Type_electcount] + 1
else
[Type_electcount] = 0
[Type_electcount1] = [Type_electcount1] + 1
endif
if [Type_electcount] >= 150
[Type_elect] = 1 ; LINSHI
else
if [Type_electcount1] >= 150
[Type_elect] = 0 ; LINSHI
endif
endif
;lif [rongliangselsec] <= 1 ;20050728
if [select_onepulltwo] == 1
[b_onepulltwo] = 1
else
[b_onepulltwo] = 0
endif
if [hrp_yeah] == 1
[b_hrp] = 1
else
[b_hrp] = 0
endif
if [Type_elect] == 0
[bMCU2535flag] = 1
;[mStartSwingStep]= 4DH;4DH;60h;96
if [ir1_swing] == 1
if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
[SwingtoD] = 4AH
[SwingtoL] = 28H
ELSE
[SwingtoD] = 3EH
[SwingtoL] = 26H
ENDIF
else
if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
[SwingtoD] = 4AH
[SwingtoL] = 3CH
else
[SwingtoD] = 3EH
[SwingtoL] = 2fH
endif
endif
else
[bMCU2535flag] = 0
;[mStartSwingStep]=42H;4DH;60H;
if [ir1_swing] == 1
if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
[SwingtoD] = 42H
[SwingtoL] = 1EH
ELSE
[SwingtoD] = 3CH
[SwingtoL] = 1EH
ENDIF
else
if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
[SwingtoD] = 42H
[SwingtoL] = 3cH
else
[SwingtoD] = 3CH
[SwingtoL] = 2eH
endif
endif
endif
;else
;if [ir1_swing] == 1
; if [Type_elect] == 1
;if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
; [SwingtoD] = 4AH
;[SwingtoL] = 28H
; ELSE
;[SwingtoD] = 3EH
;[SwingtoL] = 26H
;ENDIF
; else
;if [run_mode] == RUN_HEAT || [m_AutoMode] == RUN_HEAT
;[SwingtoD] = 42H
;[SwingtoL] = 1EH
;ELSE
;[SwingtoD] = 3CH
;[SwingtoL] = 1EH
;ENDIF
;endif
;endif
;endif
;________________________________________________________________________
maincon1:
;jsr Fun_Display
if [b_flag200ms]==1 ;200ms?
[b_flag200ms]=0
IF [lighttime] <= 10 ;20040915
[lighttime] = [lighttime] + 1
else
[light2s] = 0
[lightok] = 0
ENDIF
JSR Fun_OnoffKey
if [remote_end] == 1
JSR Fun_Remote
[remote_end] = 0
endif
if [bTestForce] == 1
LDM #00H,settempval
endif
JSR Fun_Display
JSR FUN_ActTimer
JSR e2processsub
;jsr buzzerselc
JSR Fun_RoomFanspeed ;20040918
endif
if [m_100mscount] >= 10 ;20040915
jsr Dispspeed
;JSR Fun_Display ;20040916
endif
if [ir_onoff] == 0
ldm #00H,m_sysOffCount
ldm #00h,M_LVCCount
CLb b_firstdry
clb TxdCompIflag ;04.5.8
endif
;IF [TxdCheck10MS] >= 1;100
;[TxdCheck10MS] = 00H
;[TxdCheck] = 0
;JSR Fun_TxdCheckSum
;[ICON2] = CommTxdCON2
;if [m_TxdCount] == 00H
;[TB_RB] = 08H
;inc m_TxdCount
;endif
;ENDIF
NOP
JMP mainloop
NOP
NOP
.endproc
save_mode:
[oldmode] = [Run_mode3]
if [Run_mode3] == 0
[oldmode] = [m_AutoMode]
[au_mode2] = [m_AutoMode]
else
[m_AutoMode] = [Run_mode3]
endif
rts
Fun_Actorder:
[Run_mode3] = [m_irmode] & 07H
[m_irelse] = [m_ir1else]
[m_irfantem] = [m_ir1fantem]
[m_irmode] = [m_ir1mode]
if [ir_onoff] == 1
[Auto_keyon] = 1 ;20040901
[key_first] = 1
[run_mode] = [m_irmode] & 07H ;2000.8.3
endif
;*******************************************************20050910
if [m_irmode] & 07H != RUN_AUTO
[m_savebyteH] = [m_irfantem] & 0Fh
[m_savebyteH] = [m_savebyteH] + 16
if [m_savebyteH] >=16 && [m_savebyteH] <= 30
[settempval] = [m_savebyteH]
else
[settempval] = [old_Temp]
endif
endif
if [old_Temp] != [settempval]
[old_Temp] = [settempval]
endif
;******************************************************************
; if [run_mode] == RUN_DRY
; [M_RoomFan] = 10H
; else
LDA m_irfantem
AND #00110000B
STA M_RoomFan
; endif
if [Run_mode3] != [run_mode] && [ir_onoff] == 1
JSR save_mode
jsr turnweit
endif
if [ir_onoff] == 0
[Auto_keyon] = 0 ;20040901
if [Run_mode3] == 0
[oldmode] = [m_AutoMode]
[au_mode2] = [run_mode]
ldm #0F0h,m_AutoADtime
else
[oldmode] = [Run_mode3]
endif
jsr turnweit
endif
RTS
FUN_ClockRun:
LDM #00H,mClock20mSec
INC mClockSecond
if [ir1_onoff] == 1
if {rongliangselsec] < 2
inc rongliangselsec
endif
else
{rongliangselsec] = 0
endif
if [m_start3sec]<= 16
inc m_start3sec ;2004.09.14
endif
if [mClockSecond] >= [SECONDUP]
LDM #00H,mClockSecond
INC mClockMinute
if [mClockMinute] >= [SECONDUP]
[mClockMinute]=0 ;LDM #00H,mClockMinute
inc mClockHour
if [mClockHour] >= 24
[mClockHour]=0 ;LDM #00H,mClockHour
endif
ENDIF
JSR Fun_TimerAct
[m_Rxdcount] = 00H
[ICON2] = CommRxdCON2 ;20041207
ENDIF
RTS
Fun_TimerAct:
if [b_TimerOnFlag] == 1
if [ir1_onoff] == 0
if [mClockHour] == [mTimerOnHour]
if [mTimerOnMinute] == [mClockMinute]
SEB ir1_onoff
JSR FunExec_KeyPower
;JSR Fun_Remote ;20050121
if [ir1_swing] == 1
SEB bStepperOnmFanStatus
else
CLB bStepperOnmFanStatus
endif
[bTestForce] = 0
[b_remamber] = 1
endif
endif
endif
endif
if [b_TimerOffFlag] == 1
if [ir1_onoff] == 1
if [mClockHour] == [mTimerOffHour]
if [mClockMinute] == [mTimerOffMinute]
if [ir1_sleep] == 1
[settempval] = [sleeptemp]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -