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

📄 acmftsj_n.asm

📁 一个完整且典型的遥控器程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        BR      SCAN
        MOV     a,#0H
        OUT     port5,a
        SKT     CHNGFG
        BR      INCCHAT
        MOV     A,#0H
        MOV     CHATCT,A
        RET
INCCHAT:
        MOV     A,CHATCT
        ADDS    A,#0AH
        RET
        SET1    KSIXF
        MOV     A,#0H
        MOV     CHATCT,A
	MOV     DE,#WORK
	MOV     HL,#KEYDATA
SKEON:
	MOV     A,@DE
        SKE     A,@HL
        SET1    KC
        XCH     A,@HL
        INCS    L
        NOP
	INCS    E
	NOP
	SKE     L,#(KEYDATA+4) AND 0FH
	BR      SKEON
        RET
;
;==================================================================
;                KEY ACTING SUBROUTINE
;==================================================================
DOKEY   CSEG    INBLOCK
        CLR1    CY
        MOV     HL,#KEYDATA
        MOV     D,#0H
        MOV     B,#03H
MOVHLA: MOV     A,@HL
        MOV     E,#03H
RORCA:  RORC    A
        SKT     CY
        BR      DECSE
        INCS    D
DECSE:  DECS    E
        BR      RORCA
        DECS    B
        BR      INCSL
        SKE     D,#00H
        BR      SKED01
        SKT     KC
        RET
        CLR1    LOCK3SF
        MOV     A,#0H
        MOV     LOCK3SC,A
        SKT     LOCKF
        BR      NO3
        CLR1    FANKEYF
        BR      NO1
NO3:
        SKF     FANKEYF
        CALL    !FANKEY
;        SKT     DISCLF
;        BR      NO1
;        CLR1    DISCLF
;        SKT     TTF
;        BR      NO2
;NO3:
;        CALL    !DISONT
;        NOP
NO1:    CLR1    DELAYF
        CLR1    TWOKEYF
        CLR1    KC
        CLR1    FFIRSTF
        CLR1    KC1SF
        CLR1    KC1SFF
        CLR1    KC2SFF
        MOV     A,#0H
        MOV     KC1S,A
        CLR1    ONF
;
        CLR1    CLKCCF
        CLR1    CLKC1SF
        CLR1    CLKC2SF
        MOV     A,#0H
        MOV     CLKCC,A
        CLR1    ADD10F
        CLR1    INCHF
        RET
;NO2:    SKF     TIMONF
;        BR      NO3
;        SKF     FLASHONF
;        BR      NO3
;        SEL     MB1
;        CLR1    DFLG14.1
;        CLR1    DFLG14.2
;        CLR1    DFLG14.3
;        MOV     A,#0H
;        MOV     DFLG12,A
;        MOV     DFLG13,A
;        MOV     DFLG10,A
;        MOV     DFLG11,A
;        MOV     DFLG8,A
;        MOV     DFLG9,A
;        SEL     MB0
;        BR      NO1
SKED01: SKE     D,#01H
        BR      MOREKEY
        BR      WHKEY
INCSL:  INCS    L
        BR      MOVHLA
MOREKEY:SKE     D,#02H
        BR      NOLOCKK1
        SKT     KEYDATA.2                 ;TUP
        BR      NOLOCKK1
        SKT     (KEYDATA+1).2                 ;TDOWN
        BR      NOLOCKK1
        SKT     LOCKF
        BR      !NOLOCKK
        SKT     KC
        BR      NOLOCKK
        SET1    LOCK3SF
        MOV     A,#0H
        MOV     LOCK3SC,A
        BR      NOLOCKK
NOLOCKK1:
        CLR1    LOCK3SF
        MOV     A,#0H
        MOV     LOCK3SC,A
NOLOCKK:
        CLR1    DELAYF
        SET1    TWOKEYF
        CLR1    FANKEYF
        CLR1    KC
        CLR1    FFIRSTF
        CLR1    KC1SF
        CLR1    KC1SFF
        MOV     A,#0H
        MOV     KC1S,A
        RET
WHKEY:  SKF     TWOKEYF
        RET
        SKT     LOCKF
        BR      NOLOCK
        CLR1    KC
        RET
NOLOCK:
        SKF     (KEYDATA+2).2
        BR      !NOLOCK1
        CLR1    LOCK3SF
        MOV     A,#0H
        MOV     LOCK3SC,A
        CLR1    FANKEYF
NOLOCK1:
        SKT     KC
        BR      WHKEY1
        SKF     (KEYDATA+3).1                   ;S5,ON/OFF
        BR      S5
        SKF     (KEYDATA+1).1                   ;S7,ON TIME
        BR      S7
        SKF     KEYDATA.0                       ;S4,OFF TIME
        BR      S4
        SKF     (KEYDATA+1).0
        BR      S3
        SKT     FLA5SF
        BR      SKFKEY
        SKF     FLASHONF
        BR      WHKEY2
        SKF     TIMONF
        BR      YES0
        SKT     ONTIMEF
        BR      YES
;        SKT     OFTIMEF
;        BR      YES
YES0:   SKF     DFLG70F
        BR      YES
        SKF     DFLG71F
        BR      YES
        BR      SKFKEY
YES:
        SET1    KEYF
        CLR1    KC
        CALL    !TSETOF
        RET
WHKEY1:
        SKF     KEYDATA.2
        BR      S11                            ;TEMP UP
        SKF     (KEYDATA+1).2
        BR      S10                            ;TEMP DOWN
        SKF     (KEYDATA+1).0
        BR      S3
        RET
;
WHKEY2:
        SKF     TIMOFF
        BR      YES10
        SKT     OFTIMEF
        BR      YES11
;        SKT     ONTIMEF
;        BR      YES11
YES10:  SKF     DFLG70F
        BR      YES11
        SKF     DFLG71F
        BR      YES11
        BR      SKFKEY
YES11:
        SET1    KEYF
        CLR1    KC
        CALL    !TSETON
        RET
;
SKFKEY:
        SKF     (KEYDATA+3).0
        BR      S1                      ;KEY S1
        SKF     (KEYDATA+3).2
        BR      S13
        SKF     (KEYDATA+2).0
        BR      S2
        SKF     (KEYDATA+2).1
        BR      S6
        SKF     KEYDATA.1
        BR      S8
        SKF     (KEYDATA+1).2
        BR      S10
        SKF     (KEYDATA+2).2
        BR      S9
        SKF     KEYDATA.2
        BR      S11                     ;S12,RESET KEY
        SKF     (KEYDATA+3).3
        BR      S12
        RET
;
S12:
        CLR1    KC
        SKF     PORT0.1
        RET
        SKT     ONOF
        RET
        SKT     WARMF
        RET
        SET1    KEYF
        SKF     DJRF
        BR      S12_0
        SET1    DJRF
        SET1    (REM96B+13).3
        SEL     MB1
        SET1    DFLG17.1
        SEL     MB0
        RET
S12_0:  CLR1    DJRF
        CLR1    (REM96B+13).3
        SEL     MB1
        CLR1    DFLG17.1
        SEL     MB0
        RET
;*******************CLOCK KEY*******************
S13:
        CLR1    KC
        SKF     FLA5SF
        RET
        SKF     TSETF
        RET
;        BR      S131
        SKF     DISCLOF
        BR      S130
        CLR1    CLOKF
        SET1    DISCLOF                 ;CLOCK KEY DO,THEN DISPLAY CLOCK WHEN TIME ONOFF SET
        MOV     XA,#00H
        MOV     SEC,XA
        RET
S130:   CLR1    DISCLOF
        SET1    CLOKF
;        SET1    FCLOKF
        MOV     A,#0H
        MOV     SEC5S,A
        SEL     MB1
        SET1    DFLG7.2
        SEL     MB0
        RET
S131:   nop
        ret                             ;add?????????????????
;        SEL     MB1
;        CLR1    DFLG7.0
;        CLR1    DFLG7.1
;        SEL     MB0
;        SET1    DISCLF
;        CALL    !DISCL
;        RET
;******************VANE KEY******************
S1:     CLR1    KC
        SKT     ONOF
        RET
SVANE:  SET1    KEYF
        INCS    VANEREG
        NOP
        MOV     A,VANEREG
        MOV     REM96B+10,A
        SKE     A,#08H
        BR      SVANE1
        MOV     A,#01H
        MOV     VANEREG,A
        MOV     REM96B+10,A
SVANE1: CALL    !DISVANE
        SKF     AUTOF
        BR      SAVANE
        SKF     WARMF
        BR      SWVANE
        SKF     COOLF
        BR      SCVANE
        SKF     DRYF
        BR      SDVANE
        MOV     A,VANEREG
        MOV     FVANE,A
        RET
SAVANE: MOV     A,VANEREG
        MOV     AVANE,A
        RET
SWVANE: MOV     A,VANEREG
        MOV     WVANE,A
        RET
SCVANE: MOV     A,VANEREG
        MOV     CVANE,A
        RET
SDVANE: MOV     A,VANEREG
        MOV     DVANE,A
        RET
;
;****************FAN SPEED KEY************
S9:
        SKT     KC
        RET
        CLR1    KC
        SET1    LOCK3SF
        SKT     ONOF
        RET
S90:    SET1    FANKEYF
        RET
FANKEY:
        CLR1    FANKEYF
        SET1    KEYF
        CLR1    SLEEPF
        CLR1    (REM96B+12).3
        SEL     MB1
        CLR1    DFLG16.3
        SEL     MB0
        SKF     AUTOF                  ;DETECT CURRENT MODE
        BR      SAUFAN
        SKF     COOLF
        BR      SCFAN
        SKF     FANF
        BR      SFAN
        SKF     DRYF
        BR      SDRYFAN
;*********SET WARM MODE FAN********************
SWFAN:  SKF     WFANAF
        BR      SWFANH
        SKF     WFANMF
        BR      SWFANL
        SKF     WFANHF
        BR      SWFANM
SWFANAU:
        CLR1    WFANLF
        SET1    WFANAF
        BR      MOVD91
;
SWFANL: CLR1    WFANMF
        SET1    WFANLF
        BR      MOVD92
SWFANM: CLR1    WFANHF
        SET1    WFANMF
        BR      MOVD93
SWFANH: CLR1    WFANAF
        SET1    WFANHF
        BR      MOVD94
;
;**************SET AUTO MODE FAN**************
SAUFAN: SKF     AFANAF
        BR      SAFANH
        SKF     AFANMF
        BR      SAFANL
        SKF     AFANHF
        BR      SAFANM
SAFANA: CLR1    AFANLF
        SET1    AFANAF
        BR      MOVD91
SAFANL: CLR1    AFANMF
        SET1    AFANLF
        BR      MOVD92
SAFANM: CLR1    AFANHF
        SET1    AFANMF
        BR      MOVD93
SAFANH: CLR1    AFANAF
        SET1    AFANHF
        BR      MOVD94
;*************SET COOL MODE FAN**************
SCFAN:  SKF     CFANAF
        BR      SCFANH
        SKF     CFANMF
        BR      SCFANL
        SKF     CFANHF
        BR      SCFANM
SCFANA: CLR1    CFANLF
        SET1    CFANAF
        BR      MOVD91
SCFANL: CLR1    CFANMF
        SET1    CFANLF
        BR      MOVD92
SCFANM: CLR1    CFANHF
        SET1    CFANMF
        BR      MOVD93
SCFANH: CLR1    CFANAF
        SET1    CFANHF
        BR      MOVD94
;*****************FAN IN FAN MODE***************
SFAN:   SKF     FANAF
        BR      SFANH
        SKF     FANMF
        BR      SFANL
        SKF     FANHF
        BR      SFANM
        CLR1    FANLF                         ;AUTO FAN
        SET1    FANAF
        BR      MOVD91
SFANL:  CLR1    FANMF
        SET1    FANLF
        BR      MOVD92
SFANM:  CLR1    FANHF
        SET1    FANMF
        BR      MOVD93
SFANH:  CLR1    FANAF
        SET1    FANHF
        BR      MOVD94
;
;**************FAN IN DRY MODE***********
SDRYFAN:SKF     DFANAF
        BR      SDFANH
        SKF     DFANMF
        BR      SDFANL
        SKF     DFANHF
        BR      SDFANM
        CLR1    DFANLF
        SET1    DFANAF
        BR      MOVD91
SDFANL: CLR1    DFANMF
        SET1    DFANLF
        BR      MOVD92
SDFANM: CLR1    DFANHF
        SET1    DFANMF
        BR      MOVD93
SDFANH: CLR1    DFANAF
        SET1    DFANHF
        BR      MOVD94
;
;****************TEMP UP KEY SUBROUTINE*************************
S11:    SKT     ONOF
        BR      S11_0
S110:   SEL     MB1
        CLR1    DFLG22.3
        SEL     MB0
        SET1    KEYF
        SET1    DELAYF
        SKF     KC
        BR      TEMPUP3
        SKF     FFIRSTF                         ;FFIRSTF=0,THEN FIRST KC=0
        BR      TEMPUP0
        SET1    FFIRSTF
        SET1    KC1SF
        RET
S11_0:
        CLR1    KC
        RET
TEMPUP0:SKT     KC1SFF
        RET
        CLR1    KC1SFF
TEMPUP3:CLR1    KC
        MOV     XA,TEMP
        SKE     A,#0EH
        BR      TEMPUP30
        BR      TEMPUP31
TEMPUP30:
        INCS    TEMP
        NOP
        MOV     XA,TEMP
        SKE     A,#0EH
        BR      TEMPALL
TEMPUP31:
        SEL     MB1
        SET1    DFLG23.2
        SEL     MB0
TEMPALL:
        MOV     BC,#10H
        SUBS    XA,BC
        NOP
        MOV     REM96B+2,A
        CALL    !DISTEMP
        SKF     AUTOF
        BR      SATEMP
        SKF     COOLF
        BR      SCTEMP
        SKF     DRYF
        BR      SDTEMP
        SKF     FANF
        BR      SFTEMP
SWTEMP: MOV     XA,TEMP                          ;WARM TEMP UP
        MOV     WTEMP,XA
        RET
;
SATEMP: MOV     XA,TEMP
        MOV     ATEMP,XA
        RET
;
SCTEMP: MOV     XA,TEMP
        MOV     CTEMP,XA
        RET
;
SDTEMP: MOV     XA,TEMP
        MOV     DTEMP,XA
        RET
SFTEMP: MOV     XA,TEMP
        MOV     FTEMP,XA
        RET
;
;******************TEMP DOWN KEY **************
S10:
        SKT     ONOF
        BR      S10_0
S100:   SEL     MB1
        CLR1    DFLG23.2
        SEL     MB0
        SET1    KEYF
        SET1    DELAYF
        SKF     KC
        BR      TEMPD3
        SKF     FFIRSTF
        BR      TEMPD0
        SET1    FFIRSTF
        SET1    KC1SF
        RET
S10_0:
        CLR1    KC
        RET
TEMPD0: SKT     KC1SFF
        RET
        CLR1    KC1SFF
TEMPD3: CLR1    KC
        MOV     XA,TEMP
        SKE     A,#0H
        BR      TEMPD30

⌨️ 快捷键说明

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