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

📄 countdown2.asm

📁 倒计时
💻 ASM
字号:
  PTR     EQU   28H
          ORG    00H
        JMP     START
        ORG    03H
        JMP     EXT0
        ORG    0BH
        JMP     TIM0
        ORG    13H
        JMP     EXT1
START:MOV   SP,#70H
        MOV   PTR,#00
        MOV   2AH,#00
        MOV   2BH,#12
        MOV   2CH,#24
        MOV   TMOD,#00000001B
        MOV   TH0,#0F0H
        MOV   TL0,#60H
        MOV   IE,#10000111B
MOV   TCON,#000000001B
MOV   R4,#250
 LOOP:
        CALL  DISPLAY
        CALL  SCAN
        JNB    P0.0,SEC
        JNB    P0.1,MIN
        JNB    P0.2,UPHUR
        JNB    P0.3,SE
        JNB    P0.4,DOWNHUR

        JMP    LOOP

SEC:CALL   DELAY
           MOV    2CH,#24
           CALL   DELAY


           JNB      P0.0,$
           CALL    DELAY
           JMP      LOOP
MIN:CALL   DELAY
      MOV    A,2BH
      CJNE    A,#20,N3
      MOV    A,#00
      JMP     N4
N3:ADD    A,#01
N4:MOV    2BH,A
JNB      P0.1,$
CALL    DELAY
JMP      LOOP
UPHUR:CALL   DELAY
      MOV    A,2AH
      CJNE    A,#59,N5
      MOV    A,#00
      JMP     N6
N5:ADD    A,#01
N6:MOV    2AH,A
JNB      P0.2,$
CALL    DELAY
JMP      LOOP
SE:CALL   DELAY
      MOV    A,2CH
      CJNE    A,#24,N7
      MOV    A,#00
      JMP     N8
N7:ADD    A,#01
N8:MOV    2CH,A
JNB      P0.3,$
CALL    DELAY
JMP      LOOP
DOWNHUR:CALL   DELAY
      MOV    A,2AH
      CJNE    A,#12,N9
      MOV    A,#00
      JMP     N10

N9:  CLR        C
     SUBB    A,#01
N10:MOV    2AH,A
JNB      P0.4,$
CALL    DELAY
JMP      LOOP


EXT0:SETB   TR0
MOV   IP,#00000110B
   CALL     DELAY
   RETI
TIM0:MOV   TH0,#0F0H
      MOV    TL0,#60H
      PUSH   ACC
      PUSH   PSW
MOV   IP,#00000100B
SETB   RS0
      CLR    RS1
      DJNZ   R4,X1
  MOV   R4,#250
  CALL  TDOWN1
  CALL  TDOWN
  CALL  DISPLAY
X1:CALL  SCAN
      POP    PSW
      POP    ACC
      RETI
SCAN: MOV   A,PTR
      CJNE    A,#6,X2
       MOV    PTR,#00
X2:    MOV    A,PTR
      ADD     A,#20H
      MOV    R1,A
      MOV    A,PTR
      SWAP   A
      ORL    A,@R1
      MOV   p2,A
      INC    PTR
      RET

TDOWN:
MOV    A,2AH
CJNE    A,#00,SEC1
MOV    A,2BH
CJNE    A,#00,MIN1
 CALL   DELAY
JMP   DONE

TDOWN1:
MOV    A,2CH
CJNE    A,#01,HUR1
 CALL   DELAY
 SUBB   A,#01
 MOV    2CH,A
 CALL   DELAY
JMP   DONE
SEC1:SUBB   A,#01
MOV   2AH,A
JMP    X3
MIN1:SUBB   A,#01

     MOV   2BH,A
        MOV   A,#59
         MOV   2AH,A
         JMP    X3
HUR1:SUBB   A,#01
         MOV   2CH,A


X3:RET
DISPLAY:MOV   R1,#20H
MOV   A,2AH
MOV   B,#10
DIV    AB
MOV   @R1,B
INC    R1
MOV   @R1,A
INC    R1
MOV   A,2BH
MOV   B,#10
DIV    AB
MOV   @R1,B
INC    R1
MOV   @R1,A
INC    R1
MOV   A,2CH
MOV   B,#10
DIV    AB
MOV   @R1,B
INC    R1
MOV   @R1,A
RET







EXT1: PUSH   ACC
       PUSH   PSW
       CLR    TR0
       MOV   IP,#00000001B
       SETB   RS1
       CLR    RS0

DISP:MOV   R1,#20H
MOV   A,2AH
MOV   B,#10
DIV    AB
MOV   @R1,B
INC    R1
MOV   @R1,A
INC    R1
MOV   A,2BH
MOV   B,#10
DIV    AB
MOV   @R1,B
INC    R1
MOV   @R1,A
INC    R1
MOV   A,2CH
MOV   B,#10
DIV    AB
MOV   @R1,B
INC    R1
MOV   @R1,A


CALL   SCAN0
POP    PSW
POP    ACC
RETI

SCAN0:MOV   A ,PTR
CJNE    A,#6,X4
MOV    PTR,#00
X4:MOV    A,PTR
ADD     A,#20H
MOV    R1,A
MOV    A,PTR
SWAP   A
ORL    A,@R1
MOV   p2,A
INC    PTR

RET




DELAY:MOV   R6,#60
D1:MOV   R7,#248
     DJNZ   R7,$
DJNZ   R6,D1
RET
DONE:  SETB     P0.5
       JMP        EXT1
       END


⌨️ 快捷键说明

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