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

📄 acm6501.asm

📁 一个完整的空调柜机程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                CLR1            OVERWARM5MY
                MOV             OVERWARM5MC,#0H
                MOV             OVERWARM5MC+1,#0H
OVERFAN1_1:
;                SET1            HFAN
;                CLR1            LFAN
;                CLR1            MFAN
		BR		!OTHERRUN
;;;;                BR              !GOVANE
OVERWARM2:
;                BT              COMP5MF,$GOVANE_00
                CLR1            COMP
                CLR1            COMP5MF
                CLR1            COMP5MY

                CLR1            DEFROSTF                ;OVERWARM WHEN DEFROST
                CLR1            DEFRO1MY
                CLR1            DEFRO1MF
                MOV             DEFRO1MC,#0H
                MOV             DEFROPIP,#0H
                CLR1            TxF
                CLR1            DEFRO8MFF
                CLR1            DEFRO5MFF
                CLR1            DEFRO3MFF
                CLR1            DEFRO30SF
                CLR1            QDEFRO30SF
                CLR1            DEFRO8MF
                MOV             DEFRO30SC,#0H
                MOV             DEFRO8MC,#0H
                MOV             DEFRO8MC+1,#0H
                CLR1            SEG27.0

                CLR1            ACOFAN30SY
                CLR1            ACOFAN30SF
                MOV             ACOFAN30SC,#0H
                CLR1            COMP40MF

                CLR1            OVERWARM5MF
                MOV             OVERWARM5MC,#0H
                MOV             OVERWARM5MC+1,#0H
                SET1            P2F
                SET1            VALVE1MF
                BT             COMP3MY,$GOVANE_00
                BT             COMP3MF,$GOVANE_00
                SET1            COMP3MF
                MOV             COMP3MC,#0H
GOVANE_00:      BR		!OTHERRUN
;;;;;		BR             !GOVANE
QOVERWARM:    
                CMP             PIPTEMP,#0F0H
                BNC             $PIPERRNOOV
                CMP             PIPTEMP,#49
                BNC             $NOQUITOW1
PIPERRNOOV:     BF              OVERWARMF,$NOOVERWARM
;                SET1            OVERWARM1HF                
                CLR1            OVERWARMF
                CLR1            P2F
                CLR1            OVERWARM5MF
                MOV             OVERWARM5MC,#0H
                MOV             OVERWARM5MC+1,#0H
                CLR1            VALVE1MF
                MOV             VALVE1MC,#0H
                BR              !GOVANE
NOQUITOW1:      BF              OVERWARMF,$NOOVERWARM
                CLR1            VALVE1MF
                MOV             VALVE1MC,#0H
                CLR1            OVERWARM5MF
                MOV             OVERWARM5MC,#0H
                MOV             OVERWARM5MC+1,#0H
                BR		!OTHERRUN
;;;;                BR              !GOVANE
NOOVERWARM:
                BT             COMP5MY,$SDJR_L
                BT             COMP5MF,$JUMP4
                SET1            COMP5MF
                MOV             COMP5MC,#0H
                MOV             COMP5MC+1,#0H
JUMP4:          BR              !AGAINSTCOOLFAN
;WARMP3:         CALL            !P3DO

AGAINSTCOOLFAN: BT              ACOFAN30SY,$SDJR_L          ;AGAINST COOL FAN
                SET1            ACOFAN30SF
SDJR_L:         BR              !SDJR
CONWARM30:      BR              !CONWARM3
CONWARM2:                                              ;ROMTEMP<SET TEMP+1CONSTA4_0:
                BT              COMP5MF,$CONWARM30       ;CONTINUE OLD STATE
CONSTA1:        CLR1            COMP
                CLR1            EXTFAN
                CLR1            ACOFAN30SY
                CLR1            COMP40MF

                CLR1            OVERWARMF
                CLR1            P2F
                CLR1            VALVE1MF
                MOV             VALVE1MC,#0H
                BT             COMP3MY,$CONSTA_1
                BT             COMP3MF,$CONSTA_1
                SET1            COMP3MF
                MOV             COMP3MC,#0H

CONSTA_1:       SET1            CUIYUREF
                BT              WARMFIRSTF,$COMPY1      ;CUIYURE
                BT              PIPERRF,$PIPERRNOCUI
                CLR1            CUIYURE20SF
                CLR1            CUIYURE20SY
                MOV             CUIYURE20SC,#0H
                CMP             PIPTEMP,#0F0H
                BNC             $COMPY1
                CMP             PIPTEMP,#28
                BC              $COMPY1
                CMP             PIPTEMP,#33
                BC              $CUIYURELFAN
                CLR1            CUIYUREF
                BR              !SDJR
PIPERRNOCUI:    
                BT              CUIYURE20SY,$COMPY1
                SET1            CUIYURE20SF
                BR              !CUIYURELFAN
COMPY1:         
                CLR1            LFAN
                CLR1            MFAN
                CLR1            HFAN
                SET1            WAITMCUF
                BR              !SDJR
CUIYURELFAN:
                CLR1            WAITMCUF
                SET1            SEG27.3
                SET1            LFAN
                CLR1            MFAN
                CLR1            HFAN

SDJR:
                BT              HFAN,$DJR1
                BT              LFAN,$DJR1
                BT              MFAN,$DJR1
                BR              !NODJR
DJR1:           BT              SAUTOF,$NODJR
                BT              ROMERRF,$NODJR
                BT              PIPERRF,$NODJR
                BF              DJRF,$NODJR
                BT              DJR,$QUITDJR
                CMP             ROMTEMP,#0F0H
                BNC             $GODJR
                CMP             ROMTEMP,#18
                BZ              $GODJR1
                BNC             $NODJR
GODJR1:         MOV             A,ROMTEMP
                ADD             A,#03H
                CMP             A,TEMPBUF
                BZ              $GODJR
                BNC             $NODJR
GODJR:          
                CMP             PIPTEMP,#0F0H
                BNC             $NODJR
                CMP             PIPTEMP,#50
                BNC             $NODJR
DJR3:           SET1            DJR
;                SET1            SEG27.6
                BR              !OTHERRUN
QUITDJR:        
                CMP             ROMTEMP,#0F0H
                BNC             $QUITDJR1
                CMP             ROMTEMP,#20
                BC              $QUITDJR1
                BR              !NODJR
QUITDJR1:       MOV             A,ROMTEMP
                INC             A
                CMP             A,TEMPBUF
                BC              $QUITDJR2
                BR              !NODJR
QUITDJR2:       
                CMP             PIPTEMP,#0F0H
                BNC             $NODJR
                CMP             PIPTEMP,#55
                BC              $OTHERRUN
NODJR:          CLR1            DJR
;                CLR1            SEG27.6

OTHERRUN:
                BT             CUIYUREF,$GOVANE         ;CUI YU RE FAN

NOACOOLFAN:     BT             DEFROSTF,$GOVANE
;;;;;                BT             OVERWARMF,$GOVANE
                BT             P3F,$P3FAN
                BT             CUIYUREF,$GOVANE
                BT             ACOFAN30SF,$GOVANE
                CLR1            WAITMCUF
                SET1            SEG27.3
;;;;;                BT             AGFROSTF,$GOVANE
;                BT              SWARMF,$PECUIYURE
;                BT              SAUTOF,$PECUIYURE2
PECUIYURE1:     CALL            !NORFAN
                BR              !YESVANE
;PECUIYURE2:     BF              GOWARMF,$PECUIYURE1
;PECUIYURE:      BF              PIPERRF,$PECUIYURE1        

P3FAN:          SET1            LFAN
                CLR1            MFAN
                CLR1            HFAN
                CLR1            WAITMCUF
                SET1            SEG27.3
                BR              !GOVANE
AGFAN:          SET1            LFAN
                CLR1            MFAN
                CLR1            HFAN
GOVANE:		CALL		!CLRAUTOFAN
YESVANE:        BF             SSLEEPF,$NOSLEEP
                SET1            SEG27.2
                RET
NOSLEEP:        CLR1            SEG27.2
                RET
;****************************COOL MODE***********************
SCOOL:          CLR1            SEG25.3
                CLR1            SEG25.0
                CLR1            SEG25.1
                CLR1            SEG27.7
                SET1            SEG25.2
SCOOL0:         CALL            !AGFROSTDO
                CALL            !P3DO

                BT             SAUTOF,$GOAUTORERR

                BF             ROMERRF,$NOCOOLRERR
                BF             COOLT10MF,$COOLT50MOK
                BR              !OTHERRUN
COOLT50MOK:     BF              COMP,$COOLT50MOK1
                SET1            COOLT50MF
                BR              !CONCOOL
COOLT50MOK1:    CLR1            COOLT50MF
                MOV             COOLT10MC,#0H
                MOV             COOLT10MC+1,#0H
                BR              !CONCOOL
NOCOOLRERR:     CLR1            COOLT10MF
                CLR1            COOLT50MF
                MOV             COOLT10MC,#0H
                MOV             COOLT10MC+1,#0H
GOAUTORERR:
                CMP             ROMTEMP,#0F0H
                BNC             $HERE4
                MOV             A,TEMPBUF
                CMP             A,ROMTEMP
                BZ              $CONCOOL3
                BC              $CONCOOL
HERE4:          BT              COMP5MF,$CONCOOL3
                CLR1            EXTFAN            ;SET TEMP-1>=ROMTEMP
                BF              COMP,$CONCOOL3
                CLR1            COMP
                CLR1            AGFROST10MF
                CLR1            AGFROST2MF
                CLR1            AGFROST10MY
                CLR1            AGFROST2MY
                MOV             AGFROST10MC,#0H
                MOV             AGFROST10MC+1,#0H
                MOV             AGFROST2MC,#0H
                BT              COMP3MY,$CONCOOL3
                BT              COMP3MF,$CONCOOL3
                SET1            COMP3MF
                MOV             COMP3MC,#0H
CONCOOL3:       BR             !OTHERRUN
CONCOOL:
CONCOOL40:      BT             COMP3MF,$GOPIP0     ;SET TEMP+1<=ROMTEMP
                BT             VALOFF1MF,$CONCOOL2
                BT             AGFROSTF,$CONCOOL1
                BT             P5F,$CONCOOL1

                SET1            COMP
                SET1            EXTFAN
                BT             COMP5MY,$CONCOOL1
                BT             COMP5MF,$JUMP5
                SET1            COMP5MF
                MOV             COMP5MC,#0H
                MOV             COMP5MC+1,#0H
JUMP5:          BR             !CONCOOL2
CONCOOL1:       CALL            !P3DO
CONCOOL2:
                BT             AGFROST10MY,$GOPIP0      ;AGAINST FROST
                SET1            AGFROST10MF

GOPIP0:         BT             PIPERRF,$OTHERRUN0
                CMP             PIPTEMP,#0F0H
                BNC             $AGFROST
                CLR1            AGFROST2MF
                CLR1            AGFROST2MY
                BR             !OTHERRUN
AGFROST:        BT             AGFROST2MY,$OTHERRUN0
                SET1            AGFROST2MF
                BR             !OTHERRUN
OTHERRUN0:      BR             !OTHERRUN
;********************VANE ON OR OFF****************
VANEDO:
                BF              SONF,$NODJRD1
                BF              DJRF,$NODJRD
                SET1            SEG27.6
                BR              !NODJRD1
NODJRD:         CLR1            SEG27.6
                CLR1            DJR
NODJRD1:
                BF             SVANEF,$VANEDO1
                BT             LFAN,$VANEDO2
                BT             MFAN,$VANEDO2
                BT              HFAN,$VANEDO2
VANEDO1:        CLR1            BFF
                RET
VANEDO2:        SET1            BFF
                RET
;*********************VANE DISPLAY SUBROUTINE*******************
DISVANE:
                BF             SONF,$CLRALLV
                BF             SVANEF,$NOVANESEG
                BT              LTORF,$LTOR
                DEC             VANESEG
                BNZ             $GORTOL
                SET1            LTORF
GORTOL:         MOV             A,VANESEG
                CALL            !VANELCD
                MOV             SEG19,A
DISVRET:        RET
NOVANESEG:
                MOV             SEG19,#0FFH
                RET
LTOR:           INC             VANESEG
                CMP             VANESEG,#04H
                BNZ             $GORTOL
                CLR1            LTORF
                BR              !GORTOL
CLRALLV:        MOV             SEG19,#0H
                RET

SUB4            CSEG    UNIT
VANELCD:
                MOV     H,#05H
                MOV     L,A
                MOV     A,[HL]
                RET
;*********************DISPLAY TEMP******************************
DISPTEMP:
                BF             DISTMP5SF,$DISPTMP1
                SET1            SEG27.1
                SET1            SEG21.6
                BT              SFANMF,$LDTEMP4
                MOV             A,SSTEMP
STAHEXD:        MOV             BCD,A
                CALL            !CHTOBCD
                MOV     

⌨️ 快捷键说明

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