📄 acm6501.asm
字号:
CALL !PRESS2S
CALL !TIMERCHECK
CALL !DOG
MAIN4: BF TIMERF,$MAIN2
CLR1 TIMERF
; BBC SVANEF,MAIN3
BT TRYRUNF,$MAIN3_0
CALL !DISVANE
MAIN3:
MAIN2: BT TRYRUNF,$MAIN3_0
CALL !VANEDO
MAIN3_0: CALL !DOG
CALL !KEYSCAN_164
BF ADKEYSTAF,$REMOTE
CLR1 ADKEYSTAF
CALL !ADKEYDEAL
REMOTE: BF RECENDF,$MAIN1
CLR1 RECENDF
; SET1 LIGHT10SF
SET1 LIGHT
MOV LIGHT10SC,#0H
CALL !RECVDEAL
MAIN1: CALL !SLEEP
; CALL !KEYSCAN
BT TRYRUNF,$NOMAINPRO
CALL !MAINPRO
NOMAINPRO:
; BBS TRYRUNF,START0
; BBC LCDCHF,START0
BF DISERRF,$NODISCH
CALL !DISERR
CALL !DOG
NODISCH: CALL !INITIAL
BF LIGHT,$NOBUZ
MOV A,#00001001B
NOBUZ1: MOV B,#09H
CALL !LCD_WRITE
MOV A,#10001000B ;IRQ EN
MOV B,#09H
CALL !LCD_WRITE
; MOV A,#00000111B ;WDT EN
; MOV B,#09H
; CALL !LCD_WRITE ;SET ON/OFF LED ON
BT LED,$NOLED
MOV A,#00001110B
NOLED1:
MOV B,#09H
CALL !LCD_WRITE
BT TRYRUNF,$START0_L
CALL !DATAW_INITIAL
MOVW HL,#LCDRAM
GORAMTOLCD: MOV A,[HL]
INC L
MOV B,#08H
CALL !LCD_WRITE
MOV A,L
CMP A,#LOW LCDRAM+12
BNZ $GORAMTOLCD
START0_L:
BR !START0
NOBUZ: MOV A,#00001000B
BR !NOBUZ1
NOLED: MOV A,#00000111B
BR !NOLED1
;*********************HOST MAIN PROGRAM*************************
SUB2 CSEG UNIT
MAINPRO:
BF SONF,$OFFMCU
BR !ONMCU
OFFMCU:
CLR1 LED ;ON/OFF LED
CLR1 SECONDF
CLR1 DISTMP5SF
MOV DISTMP5SC,#0H
; CLR1 RB.3
CLR1 SEG15.2
CLR1 AUTOSECOF
; CLR1 SETTEMPF
; CALL !CLRFLG_AUTO
CALL !CLRAUTOFAN
CLR1 DRYSECOF
CLR1 DRY30SF
MOV DRY30SC,#0H
CLR1 DRYMF
CLR1 DRY4MF
CLR1 DRY10MF
;;; LDM DRYMC,#0H
;;; LDM DRYMC+1,#0H
MOV SEG27,#0H
SET1 SEG27.3
MOV SEG25,#0H
MOV SEG23,#0H
MOV SEG21,#0H
MOV SEG19,#0H
MOV SEG17,#0H
; CLR1 RB.4
BF SSLEEPF,$NOSLEEP1
CLR1 SSLEEPF
; MOV SLEEPC,#0H
; MOV SLEEPC+1,#0H
; CALL !SLETMPLD
MOV A,SSTEMP
MOV TEMPBUF,A
NOSLEEP1: CALL !CLRFLG_COOL
CALL !CLRFLG_WARM
CLR1 VALOFF1MF
CLR1 P4F
BF STF,$NOVALOFF
SET1 VALOFF1MF
NOVALOFF: BF FANOFFF,$GOOFFMCU1
RET
GOOFFMCU1: BT SDRYF,$COOLOFF
BT SFANMF,$COOLOFF1
BT SAUTOF,$AUTOOFF
BT SCOOLF,$COOLOFF
WARMOFF: CALL !CLRFLG_AUTO
CLR1 EXTFAN
BF COMP,$FANOFF
CLR1 COMP
;;;; CLR1 EXTFAN
SET1 COMP3MF
CLR1 COMP3MY
MOV COMP3MC,#0H
FANOFF: BR $DJROFFFAN
; BF FANOFFF,DJROFFFAN
; RET
AUTOOFF: SET1 FANOFFF
BT GOWARMF,$WARMOFF
CALL !CLRFLG_AUTO
COOLOFF: BF COMP,$COOLOFF1
CLR1 COMP
CLR1 EXTFAN
SET1 COMP3MF
CLR1 COMP3MY
MOV COMP3MC,#0H
; RET
COOLOFF1: SET1 WARMFIRSTF
CLR1 DJR
CLR1 HFAN
CLR1 LFAN
CLR1 MFAN
RET
DJROFFFAN: SET1 FANOFFF
BT WARMFIRSTF,$NOOFFAN
SET1 WARMFIRSTF
BF DJR,$OFFFAN
CLR1 DJR
; CLR1 SEG27.6
SET1 FANDELAY10SF
SET1 LFAN
CLR1 HFAN
CLR1 MFAN
RET
OFFFAN: BT PIPERRF,$PIPERRFAN20S
CMP PIPTEMP,#0F0H
BNC $NOOFFAN
;;;; LDA PIPTEMP
CMP PIPTEMP,#28
BC $NOOFFAN
CMP PIPTEMP,#33
BC $OFFCUIYURE
PIPERRFAN20S: SET1 FANDELAY20SF
RET
;DEFROOFF: CLR1 DEFROSTF
; CLR1 SEG5.6
; BR OFFFAN
OFFCUIYURE: SET1 LFAN
CLR1 HFAN
CLR1 MFAN
SET1 FANDELAY20SF
RET
NOOFFAN: CLR1 LFAN
CLR1 HFAN
CLR1 MFAN
;;;;;;; CLR1 RB.3
; CLR1 RB.4
CLR1 FANDELAY20SF
MOV FANDELAY20SC,#0H
RET
;;;;;;;ON MCU;;;;;;;;;;;;;;;;;;
ONMCU: SET1 LED
CALL !DISPTEMP
CALL !DISPFAN
CLR1 FANOFFF
CLR1 FANDELAY10SF
MOV FANDELAY10SC,#0H
CLR1 FANDELAY20SF
MOV FANDELAY20SC,#0H
; BF AUTOFANF,DISLFAN1
; MOV SEG17,#00001100B
; BR DISFANEND
;DISLFAN1: BF SFANLF,DISHFAN
; CLR1 SEG17.7
; CLR1 SEG17.0
; BR DISLFAN
;DISHFAN: SET1 SEG17.7
; SET1 SEG17.0
;DISLFAN: SET1 SEG17.1
; SET1 SEG17.2
;
DISFANEND: CLR1 FANDELAY10SF
MOV FANDELAY10SC,#0H
CLR1 FANDELAY20SF
MOV FANDELAY20SC,#0H
MODESELECT: BF SAUTOF,$MODESELECT1
BR !SAUTO
MODESELECT1: BF SCOOLF,$MODESELECT2
BR !SCOOL
MODESELECT2: BF SDRYF,$MODESELECT3
BR !SDRY
MODESELECT3: BF SFANMF,$MODESELECT40
BR !SFANMODE
MODESELECT40: BR !MODESELECT4
AUTOROMERR_L: BR !AUTOROMERR
SAUTO: CLR1 SEG27.7
CLR1 SEG25.0
CLR1 SEG25.1
CLR1 SEG25.2
SET1 SEG25.3
BT ROMERRF,$AUTOROMERR_L
BF P4F,$NOP4
CLR1 P4F
CLR1 VALOFF1MF
NOP4: BT COMP,$CLRAUTO
BT COMP10MY,$GONOP4
SET1 COMP30MF
GONOP4: BF AUTOSECOF,$GONOP4_11
BR !AUTOSECO
GONOP4_11: SET1 AUTOFAN30SY
CLR1 AUTOFAN30SF
MOV AUTOFAN30SC,#0H
SET1 AUTOSECOF
SET1 WARMFIRSTF
CMP ROMTEMP,#0F0H
BNC $HERE11
MOV A,ATEMP
CMP A,ROMTEMP
BZ $AUTOCOOL
BC $SCOOL00_13
HERE11: BT GOWARMF,$SWARM000
BF COMP5MF,$SWARM000
CLR1 AUTOSECOF
BR !AUTOCONSTA
CLRAUTO: CLR1 COMP30MF
CLR1 COMP30MY
CLR1 COMP10MY
MOV COMP30MC,#0H
MOV COMP30MC+1,#0H
BR !GONOP4
SWARM000:
BF GOCOOLF,$SWARM00_1
CALL !CLRFLG_COOL
CALL !NOCOMP5M
SWARM00_1: SET1 GOWARMF
CLR1 GOCOOLF
BR !SWARM0
SCOOL00_13: BT GOCOOLF,$SCOOL00
BF COMP5MF,$SCOOL00
AUTOCONSTA_11: CLR1 AUTOSECOF
BR !AUTOCONSTA
AUTOCOOL: BT COMP5MF,$AUTOCONSTA_11
BF GOWARMF,$AUTOWARM0
CALL !CLRFLG_WARM
CALL !NOCOMP5M
AUTOWARM0: SET1 GOCOOLF
CLR1 GOWARMF
; BF COMP,SWARM00
; CLR1 COMP
; CLR1 EXTFAN
; SET1 COMP3MF
; CLR1 COMP3MY
BF STF,$GOSCOOL00
SET1 VALOFF1MF
GOSCOOL00: BR !SCOOL0
AUTOROMERR: CALL !NOCOMP5M
CALL !CLRFLG_COOL
CALL !CLRFLG_WARM
CALL !CLRFLG_AUTO
CLR1 AUTOSECOF
BF STF,$AUTOROMERR1
SET1 VALOFF1MF
AUTOROMERR1: SET1 LFAN
CLR1 MFAN
CLR1 HFAN
SET1 P4F
CLR1 WAITMCUF
SET1 SEG27.3
RET
SWARM00: BR !SWARM0
SCOOL00: BF GOWARMF,$SCOOL00_1
CALL !CLRFLG_WARM
CALL !NOCOMP5M
SCOOL00_1: SET1 GOCOOLF
CLR1 GOWARMF
BF STF,$SCOOL00_2
SET1 VALOFF1MF
SCOOL00_2: BR !SCOOL0
AUTOSECO: CMP ROMTEMP,#0F0H
BNC $HERE22
MOV A,ATEMP
CMP A,ROMTEMP
BZ $AUTOCONSTA
DEC A
CMP A,ROMTEMP
BZ $AUTOCONSTA
BNC $AUTOSECO1
INC A
INC A
CMP A,ROMTEMP
BZ $AUTOCONSTA
BC $AUTOSECO2
BR !AUTOCONSTA
AUTOSECO1: BT GOWARMF,$SWARM00
MOV A,ROMTEMP
ADD A,#03H
CMP A,ATEMP
BC $AUTOSECO1_0
HERE22: BF COMP30MY,$SET130MF
AUTOSECO1_1: CALL !CLRFLG_AUTO
CALL !CLRFLG_COOL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -