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

📄 ggj.asm

📁 一个微机开发板的程序
💻 ASM
字号:
ORG 0000H
AJMP START
ORG 0003H
LJMP INT0R
ORG 001BH
LJMP T1
ORG 0050H
START:MOV P0,#0FFH
      MOV A,P0           ;检测密码
      CJNE A,#55H,WRONG
      LCALL DISPLAYHELLO
      LCALL DELAY2
      LCALL DISPLAYHELLO
      LCALL DELAY2
      LCALL DISPLAYHELLO
      LCALL DELAY2

      LCALL COUNTDOWN

      MOV DPTR,#TAB0
      MOV R0,#0
      MOV R1,#0
      MOV R2,#0
      MOV IE,#81H
      SETB IT0
DISPLAYCOUNT:MOV P1,#04H
             MOV A,R0
             MOVC A,@A+DPTR
             MOV P2,A
             LCALL DELAY

             MOV P1,#02H
             MOV A,R1
             MOVC A,@A+DPTR
             MOV P2,A
             LCALL DELAY

             MOV P1,#01H
             MOV A,R2
             MOVC A,@A+DPTR
             MOV P2,A
             LCALL DELAY

             AJMP DISPLAYCOUNT


;外部中断0入口
INT0R:INC R0
      CJNE R0,#10,G1
      MOV R0,#0
      INC R1
      CJNE R1,#10,G1
      MOV R1,#0
      INC R2
      CJNE R2,#10,G1
      MOV R2,#0
     G1:
      RETI
      
;定时器1中断入口
T1:INC R7
   CJNE R7,#15,G2
   MOV R7,#0
   INC R6
   MOV TH1,#4CH
   MOV TL1,#00H
   CLR TF1
   G2:
    RETI

;显示FAULT函数
WRONG:LCALL DISPLAYWRONG
      LJMP START
   
DISPLAYWRONG:
      MOV R0,#0AH
      D1:MOV R1,#0FH
      D2:MOV P1,#01H
         MOV P2,#71H
         LCALL DELAY
         MOV P1,#02H
         MOV P2,#77H
         LCALL DELAY
         MOV P1,#04H
         MOV P2,#3EH
         LCALL DELAY
         MOV P1,#08H
         MOV P2,#38H
         LCALL DELAY
         MOV P1,#10H
         MOV P2,#07H
         LCALL DELAY
         DJNZ R1,D2
         DJNZ R0,D1
         MOV P1,#00H
         MOV P2,#00H
         LCALL DELAY
       RET

;显示HELLO函数
DISPLAYHELLO:
      MOV R0,#0AH
      ONE:MOV R1,#0FH
      TWO:MOV P1,#01H
         MOV P2,#76H
         LCALL DELAY
         MOV P1,#02H
         MOV P2,#79H
         LCALL DELAY
         MOV P1,#04H
         MOV P2,#38H
         LCALL DELAY
         MOV P1,#08H
         MOV P2,#38H
         LCALL DELAY
         MOV P1,#10H
         MOV P2,#3FH
         LCALL DELAY
         DJNZ R1,TWO
         DJNZ R0,ONE
         MOV P1,#00H
         MOV P2,#00H
         LCALL DELAY
         LCALL DELAY2
       RET

;倒数开始进入中断统计
COUNTDOWN:MOV DPTR,#TAB1
          MOV R6,#0
          MOV R7,#0
          MOV TMOD,#10H
          MOV IE,#88H
          MOV TH1,#4CH
          MOV TL1,#00H
          SETB TR1

          MOV P1,#04H

 LOOP:    MOV A,R6
          MOVC A,@A+DPTR
          MOV P2,A
          CJNE R6,#3,LOOP

          MOV P1,#00H
          MOV P2,#00H
        RET

;延时子程序
DELAY:MOV R3,#0FFH
      DJNZ R3,$
      RET

DELAY1:
      MOV R4,#0FFH
      FIRST:MOV R5,#0FFH
         DJNZ R5,$
         DJNZ R4,FIRST
      RET
      
DELAY2:
      MOV R7,#4
   DD:DJNZ R7,K1
      K2:AJMP BACK
      K1:LCALL DELAY1
      AJMP DD
     BACK:
     RET 

;数码管字符表示
TAB0:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
TAB1:DB 4FH,5BH,06H,3FH
END















⌨️ 快捷键说明

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