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

📄 acm6501.asm

📁 一个完整的空调柜机程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
COMP50MY        DBIT
;AD4F            DBIT
;KEYSTAF		DBIT
;RESETF          DBIT
SECHALF         DBIT
WAITMCUF        DBIT
RECF		DBIT
;BUZFF           DBIT
WARMFIRSTF      DBIT
;COMPSECOF       DBIT
P530MY          DBIT
JP2F            DBIT
P5FF            DBIT
P530MF          DBIT
P53MY           DBIT
;OVERWARM1HF     DBIT
;OVERWARM1HY     DBIT
OVERWARM5MY     DBIT
OVERWARM5MF     DBIT
AGFROST10MF     DBIT
AGFROST10MY     DBIT
P3FF            DBIT
CUIYURE20SF     DBIT
CUIYURE20SY     DBIT
;LIGHT10SF       DBIT
RLIGHTF         DBIT
LED             DBIT
LIGHT           DBIT
ADDSECF         DBIT
;****************************RESET AND INITIAL***********************
SUB1           CSEG   AT	80H
;	ORG	0080H
START:
                DI
                MOVW    AX,#0FEFFH
                MOVW    SP,AX
                MOV     OSTS,#02H
                CLR1    TMIF20
;                MOV     WTM,#01000011B
POWWAIT:        NOP
                BF      TMIF20,$POWWAIT
                CLR1    TMIF20
                MOV	B,#0FFH
PPP:            NOP
                DBNZ	B,$PPP
;                CLR1    WTIIF
;                MOV     WTM,#00000011B
;;;;                MOV     WTM,#10000011B          ;DEBUG,USE 32.768KHZ
;;;;                MOV     SCKM,#00000010B		;DEBUG,SUB ENABLE,OR 00000011B
;                MOV     SCKM,#00000011B
;                MOV     CSS,#0H
                MOV     PCC,#0H
                MOV     TCL2,#00000110B
                MOV     WDTM,#10011000B
;		MOV	WDTM,#0H
                
RAMCLR:         MOVW    HL,#0FE00H
RMCL0:          MOV     A,#0H
                MOV     [HL],A
                INCW    HL
                MOVW    AX,HL
                CMPW	AX,#0FF00H
                BNZ     $RMCL0
;                SET1    OUTERRF
                SET1    BUZF
                SET1    RUN
                MOVW    AX,#0190H
                MOVW    BUZTIME,AX
                MOV     ADCOUNT,#05H
                MOV	ADCHTCT,#05H
                MOV	ADKEYVAL,#0FFH
                MOV     KEYCOUNT,#05H

                MOV     HOUR,#0CH
                MOV     ONTIME,#0CH
                MOV     ONTREG,#0CH
                MOV     OFTIME,#0CH
                MOV     OFTREG,#0CH
                                MOV             ATEMP,#24
                                MOV             TEMPBUF,#24
                                MOV             SSTEMP,#24
                                MOV             DTEMP,#24
                                MOV             WTEMP,#20
                                MOV             TEMP,#8
                                MOV             CTEMP,#27
                                SET1            SAUTOF
                                MOV             FFANREG,#02H

                                MOV     VANESEG,#0H                        
                                SET1			LTORF

                                SET1            P530MY

                                SET1            FANOFFF
                                SET1            AUTOFAN30SY

                                SET1            WARMFIRSTF

                                SET1            RLIGHTF
                                SET1            LIGHT
;********************PORT INITIAL*****************************
                MOV     P0,#00H
                MOV     P1,#00H
                MOV     P2,#0001000B           ;P2.3 IS RECEIVE,
                MOV     P5,#0FEH
                MOV     PM0,#11110000B
                MOV     PM1,#11111100B
                MOV     PM2,#11001010B
                MOV     PM5,#11111000B
                MOV     PUB2,#0011111B

                MOV     ADM0,#00001000B
                MOV     ADS0,#0H

                MOV     TMC80,#00000010B
                MOV     CR80,#0FFH

                MOV     INTM0,#0H
                MOV     TMC20,#01100010B

                CALL    !DOG
;********************LCD INITIAL******************
                CALL    !INITIAL

                MOV     A,#01000000B      ;010X-XXXX-X;TONE 4KHZ
                MOV     B,#09H
                CALL    !LCD_WRITE
                MOV     A,#00001001B     ;0000-1001-X,TURN ON TONE OUTPUTS
                MOV     B,#09H
                CALL   !LCD_WRITE

                CLR1    TMIF80
                CLR1    TMMK80
                SET1    TCE80
                EI
;BUZWAIT:        CALL    !DOG
;                BT      BUZF,$BUZWAIT
;                MOV     A,#00001000B
;                MOV     B,#09H
;                CALL    !LCD_WRITE
                BT              P5.3,$NOJP2
                SET1		JP2F
NOJP2:                
RESDIS3S:       
		CALL       !DISALL

                SET1            CS
		CALL		!DELAY
                CLR1            CS
                CALL            !DELAY

                MOV     A,#80H
                MOV     B,#03H
                CALL    !LCD_WRITE
;                MOV     A,#00001110B
;                MOV     B,#09H          ;CLR WDT
;                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              P2.1,$RESDIS3S1
                SET1            COMP
                CALL            !TEST1S
                CLR1            COMP
                SET1            STF
                CALL            !TEST1S
                CLR1            STF
                SET1            EXTFAN
                CALL            !TEST1S
                CLR1            EXTFAN
                SET1            DJR
                CALL            !TEST1S
                CLR1            DJR
                SET1            BFF
                CALL            !TEST1S
                CLR1            BFF
                SET1            LFAN
                CALL            !TEST1S
                CLR1            LFAN
                SET1            MFAN
                CALL            !TEST1S
                CLR1            MFAN
                SET1            HFAN
                CALL            !TEST1S
                CLR1            HFAN
                BR              !TESTEND

RESDIS3S1:
RESDIS3S11:
;                MOV     A,#00001110B    ;CLR WDT
;                MOV     B,#09H
;                CALL    !LCD_WRITE

                CALL            !DOG
                BF              SECHALF,$RESDIS3S11

                CLR1            SECHALF
                INC             SEC
                CMP             SEC,#06H
                BNZ             $RESDIS3S11
                SET1		CS
                MOV		SEC,#0H
TESTEND:        DI
                CLR1            PIF0
                CLR1            PMK0
                EI
                CLR1        LED
                SET1        SEG27.3
;****************************************
GOADSTR:        CALL            !DOG
                CALL            !AD
                BF              ADSTARTF,$GOADSTR
                BF              P6.3,$START0
                SET1            COMP3MF

START0:         CALL            !DOG
                CALL            !AD
                BF              ROMERRF,$STARTNORERR
                MOV             ROMTEMP,#20
                BR              !STARTRERR
STARTNORERR:
;LDA         ROMBUF              ;MAIN PROGRAM DEAL START
;                STA         ROMTEMP
STARTRERR:
;                LDA         PIPBUF
;                STA         PIPTEMP

                MOVW            AX,#0FE9EH
                MOVW            HL,AX
                MOV             A,[HL]
                CMP             A,#0H
                BZ              $START_L
START_L1:
                BR              !START
START_L:
                INC     L
                MOV     A,[HL]
                CMP     A,#0H
                BNZ     $START_L1

                BT          JP2F,$OVCUR
                BF          COMP,$OVCUR
                MOV             A,CURRENTBUF             
;                CMP             #0D7H                ;OVERCURENT DETECT
;;;;                CMP             A,#0H
;;;;                BZ              $OVERCUR
                CMP             A,#0D9H
                BC              $NOOVERCUR              ;
OVERCUR:        SET1            OVCURRENTF
                BR              $OVCUR

;CLRP5FF:        CLR1            P5FF
;                BR              $QUITOV1
NOOVERCUR:      BT              P5FF,$OVCUR
                BF              P53MY,$QUITOV1
                SET1            P530MF
                CLR1            P53MY
QUITOV1:        CLR1            P5F
                MOV             P51MC,#0H
                MOV             P53MC,#0H
                CLR1            OVCURRENTF
                SET1		P530MY

OVCUR:          BT              SECHALF,$MAIN4_0
                BR              !MAIN4
HERE1:          SET1    SECF
                INC     SEC
                BF      ADDSECF,$HERE111
                CLR1    ADDSECF
                ADD     SEC,#10
HERE111:
                CMP     SEC,#60
                BNZ     $HERE2
                MOV     SEC,#0H
                INC     MIN
                CMP     MIN,#60
                BNZ     $HERE2
                MOV     MIN,#0H
                SET1    ADDSECF
;;;;;                MOV     SEC,#10
                INC     HOUR
                CMP     HOUR,#24
                BNZ     $HERE2
                MOV     HOUR,#0H
                BR      !HERE2
MAIN4_0:        CLR1            SECHALF
                BF      SECF,$HERE1
                CLR1    SECF
HERE2:
                CALL            !DOG
                CALL            !TRYRUN3M

                BT              TRYRUNF,$NODIST

                CALL            !CONKEY1S
                CALL            !FLA5S
                CALL            !WAITMCU
                CALL            !FLAERR
                BT              FLA5SF,$NODIST
                BT              DIS5SF,$NODIST
                BT              DISERRF,$NODIST
                CALL            !DISCLO                 ;BECAUSE REG,SO MUST BE IN MAIN
NODIST:
                BF              SECF,$MAIN4

                BT              TRYRUNF,$MAINTRY1

                CALL            !LIGHT10S
                CALL            !DELAY3M
                CALL            !DEFRO1M
                CALL            !COMP3M
                CALL            !COMP5M
                CALL            !AGFROST10M
                CALL            !AGFROST2M
                CALL            !P35M
                CALL            !ACOFAN30S
                CALL            !FANDELAY10S
                CALL            !FANDELAY20S
                CALL            !OVERWARM5M
                CALL            !VALVE1M
                CALL            !COMP40M
                CALL            !DEFRO8M
                CALL            !DIS5S
                CALL            !DISTMP5S
                CALL            !SLEEPT
                CALL            !P51M
                CALL            !VALOFF1M
                CALL            !WARMT10M
                CALL            !COOLT10M
                CALL            !DEFRO30S
                CALL            !DRYM
                CALL            !DRY10M
                CALL            !DRY4M
                CALL            !COMP30M
                CALL			!DRY30S
;                CALL            !COMPCON20M
;                CALL            !COMPCON5M
;                CALL            !COMPH
;                CALL            !COMP3H
;                CALL            !OVERWARM1H
                CALL            !AUTOFAN30S
                CALL            !CUIYURE20S
MAINTRY1:

⌨️ 快捷键说明

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