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

📄 004.asm

📁 换色
💻 ASM
📖 第 1 页 / 共 5 页
字号:
          MOV  1FH, DPL          ;传送 1FH,DPL
          MOV   2AH, #248          ;传送 2AH,立即数248
          RET          ;子程序返回 
     Y13: CJNE  A, #04H, Y14          ;比较-不等转移 寄存器A,立即数04H,
          MOV  DPTR, #Prog4          ;传送 DPTR,立即数Prog4
          MOV  2BH, DPH          ;传送 2BH,DPH
          MOV  1FH, DPL          ;传送 1FH,DPL
          MOV   2AH, #110          ;传送 2AH,立即数110
          RET          ;子程序返回 
     Y14: CJNE  A, #05H, Y15          ;比较-不等转移 寄存器A,立即数05H,
          MOV  DPTR, #Prog5          ;传送 DPTR,立即数Prog5
          MOV  2BH, DPH          ;传送 2BH,DPH
          MOV  1FH, DPL          ;传送 1FH,DPL
          MOV   2AH, #71          ;传送 2AH,立即数71
          RET          ;子程序返回 
     Y15: MOV  DPTR, #Prog6          ;传送 DPTR,立即数Prog6
          MOV  2BH, DPH          ;传送 2BH,DPH
          MOV  1FH, DPL          ;传送 1FH,DPL
          MOV   2AH, #236          ;传送 2AH,立即数236
          RET          ;子程序返回 
  SPDISP: MOV  A, 37H     ;速度数码管显示=========================== 传送 寄存器A,37H     
          MOV  B, #10          ;传送 B,立即数10
          DIV  AB          ;无符号除法 AB
          MOV  30H, B          ;传送 30H,B
          MOV  31H, A          ;传送 31H,寄存器A
	  MOV   DPTR, #Digital          ;传送 DPTR,立即数Digital
          MOV  A, 30H          ;传送 寄存器A,30H
          MOVC  A, @A+DPTR          ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容
          MOV  30H, A          ;传送 30H,寄存器A
          MOV  A, 31H          ;传送 寄存器A,31H
          MOVC  A, @A+DPTR          ;程序存储器-读 寄存器A,A+DPTR指向的单元的内容
          MOV  31H, A          ;传送 31H,寄存器A
          MOV  32H, #08CH          ;传送 32H,立即数08CH
          MOV  33H, #092H          ;传送 33H,立即数092H
          SETB  2FH.0          ;位-置1 2FH.0
          RET          ;子程序返回 
TIME0: PUSH  ACC      ;定时器0主程序=============================    入栈 ACC,
       PUSH  PSW          ;入栈 PSW
       MOV  TH0, #0FFH          ;传送 TH0,立即数0FFH
       MOV  TL0, #30H             ;传送 TL0,立即数30H   
       MOV   A, 27H          ;传送 寄存器A,27H
       JZ    L0          ;寄存器为0转移 L0
       MOV   A, R6          ;传送 寄存器A,通用寄存器6
       JZ   S1          ;寄存器为0转移 S1
       DJNZ   29H, L0          ;减一不为0转移 29H,L0
       DEC   R6          ;减1 通用寄存器6
       MOV   29H, 1DH          ;传送 29H,1DH
   L0: JNB  2FH.0, S0          ;位为0转移到 2FH.0,S0
       DJNZ  16H, S0          ;减一不为0转移 16H,S0
       MOV  16H, 1CH          ;传送 16H,1CH
       DEC  R4          ;减1 通用寄存器4
       MOV  A, R4          ;传送 寄存器A,通用寄存器4
       JNZ   S0          ;寄存器不为0转移 S0
       MOV   R4, 1EH          ;传送 通用寄存器4,1EH
       ACALL   PROGDMX          ;绝对调用 PROGDMX
       JMP  S0          ;间接转移到 S0
   S0: MOV  A, 21H          ;传送 寄存器A,21H
       JZ   S5          ;寄存器为0转移 S5
       DEC  21H          ;减1 21H
       DEC  20H          ;减1 20H
       MOV   P1, 22H          ;传送 接口1,22H
       AJMP  S8          ;绝对转移 S8
   S1: MOV  A, 21H          ;传送 寄存器A,21H
       JNZ  S2          ;寄存器不为0转移 S2
       AJMP  S3          ;绝对转移 S3
   S2: DEC  21H          ;减1 21H
   S3: DJNZ  29H, S5          ;减一不为0转移 29H,S5
       DEC  R5          ;减1 通用寄存器5
       MOV  29H, 1DH             ;传送 29H,1DH   
       MOV  A, R5          ;传送 寄存器A,通用寄存器5
       JZ   S7           ;寄存器为0转移 S7,
   S5: MOV  A, 20H          ;传送 寄存器A,20H
       JZ  S6          ;寄存器为0转移 S6
       DEC  20H          ;减1 20H
       MOV  P1, #00H          ;传送 接口1,立即数00H
       MOV  A, 20H          ;传送 寄存器A,20H
       JZ   S6          ;寄存器为0转移 S6
       AJMP  S8          ;绝对转移 S8
   S6: MOV  21H, R7          ;传送 21H,通用寄存器7
       MOV  20H, 17H          ;传送 20H,17H
       AJMP  S8          ;绝对转移 S8
   S7: MOV  R6, 28H          ;传送 通用寄存器6,28H
       MOV  R5, 28H            ;传送 通用寄存器5,28H  
       AJMP  S5          ;绝对转移 S5
   S8: DJNZ  23H, S9          ;减一不为0转移 23H,S9
       MOV  23H, #25          ;传送 23H,立即数25
       ACALL  LEDSCAN          ;绝对调用 LEDSCAN
   S9: POP  PSW          ;出栈 PSW
       POP  ACC           ;出栈 ACC,
       RETI                      ;中断返回 
TIME1: PUSH  ACC      ;定时器1程序=============================    入栈 ACC,
       PUSH  PSW               ;入栈 PSW,
       MOV  TH1, #0FFH          ;传送 TH1,立即数0FFH
       MOV  TL1, #30H             ;传送 TL1,立即数30H   
       MOV   A, 27H          ;传送 寄存器A,27H
       JZ    U0          ;寄存器为0转移 U0
       MOV   A, R6              ;传送 寄存器A,R6    
       JZ   U8          ;寄存器为0转移 U8
       DJNZ   29H, U0          ;减一不为0转移 29H,U0
       DEC   R6          ;减1 通用寄存器6
       MOV   29H, 1DH            ;传送 29H,1DH  
   U0: MOV   A, 0BH          ;传送 寄存器A,0BH
       JZ   U1          ;寄存器为0转移 U1
       DEC   0BH          ;减1 0BH
       SETB   P1.0          ;位-置1 接口1第0位
       SETB   P1.3          ;位-置1 接口1第3位
       AJMP  U2          ;绝对转移 U2
   U1: CLR   P1.0          ;清0 接口1第0位
       CLR   P1.3          ;清0 接口1第3位
   U2: MOV   A, 0CH          ;传送 寄存器A,0CH
       JZ   U3          ;寄存器为0转移 U3
       DEC   0CH          ;减1 0CH
       SETB   P1.1          ;位-置1 接口1第1位
       SETB   P1.4          ;位-置1 接口1第4位
       AJMP   U4          ;绝对转移 U4
   U3: CLR   P1.1          ;清0 接口1第1位
       CLR   P1.4          ;清0 接口1第4位
   U4: MOV   A, 0DH          ;传送 寄存器A,0DH
       JZ   U5          ;寄存器为0转移 U5
       DEC   0DH          ;减1 0DH
       SETB   P1.2          ;位-置1 接口1第2位
       SETB   P1.5          ;位-置1 接口1第5位
       AJMP   U6          ;绝对转移 U6
   U5: CLR   P1.2          ;清0 接口1第2位
       CLR   P1.5          ;清0 接口1第5位
   U6: DEC   20H          ;减1 20H
       MOV   A, 20H          ;传送 寄存器A,20H
       JZ   U7          ;寄存器为0转移 U7
       AJMP  U13          ;绝对转移 U13
   U7: MOV  20H, 17H          ;传送 20H,17H
       MOV   0BH, 08H          ;传送 0BH,08H
       MOV   0CH, 09H          ;传送 0CH,09H
       MOV   0DH, 0AH          ;传送 0DH,0AH
       AJMP   U13          ;绝对转移 U13
   U8: MOV   A, 0BH          ;传送 寄存器A,0BH
       JZ   U9          ;寄存器为0转移 U9
       DEC   0BH          ;减1 0BH
   U9: MOV   A, 0CH          ;传送 寄存器A,0CH
       JZ   U10          ;寄存器为0转移 U10
       DEC   0CH          ;减1 0CH
  U10: MOV   A, 0DH          ;传送 寄存器A,0DH
       JZ   U11          ;寄存器为0转移 U11
       DEC   0DH          ;减1 0DH
  U11: DJNZ   29H, UU          ;减一不为0转移 29H,UU
       DEC   R5          ;减1 通用寄存器5
       MOV   29H, 1DH          ;传送 29H,1DH
       MOV   A, R5          ;传送 寄存器A,通用寄存器5
       JZ   U12          ;寄存器为0转移 U12
   UU: DEC   20H          ;减1 20H
       MOV   P1, #00H          ;传送 接口1,立即数00H
       MOV   A, 20H          ;传送 寄存器A,20H
       JZ   U7          ;寄存器为0转移 U7
       AJMP   U13          ;绝对转移 U13
  U12: MOV  A, 28H          ;传送 寄存器A,28H
       MOV  B, #3          ;传送 B,立即数3
       MUL  AB          ;两数相乘 AB
       MOV  R5, A           ;传送 通用寄存器5,A 
       MOV   R6, 28H          ;传送 通用寄存器6,28H
       JMP   UU          ;间接转移到 UU
  U13: JNB   2FH.1, U14          ;位为0转移到 2FH.1,U14
       DJNZ  23H, U14          ;减一不为0转移 23H,U14
       MOV  23H, #25          ;传送 23H,立即数25
       ACALL  LEDSCAN          ;绝对调用 LEDSCAN
  U14: POP   PSW          ;出栈 PSW
       POP   ACC          ;出栈 ACC
       RETI          ;中断返回 
 MENU: PUSH  ACC         ;菜单选择中断程序============================== 入栈 ACC,
       PUSH  PSW           ;入栈 PSW,
       ACALL   DELAY          ;绝对调用 DELAY
       JNB  P3.2, $          ;位为0转移到 接口3第2位,到本行
       ACALL   DELAY          ;绝对调用 DELAY
       CLR   2FH.0           ;清0 2FH.0,
       CLR   2FH.1          ;清0 2FH.1
       SETB  TR0          ;位-置1 TR0
       CLR   TR1          ;清0 TR1
       MOV  36H, #01H          ;传送 36H,立即数01H
       INC  38H          ;加1 38H
       MOV  A, #06H          ;传送 寄存器A,立即数06H
       CJNE  A, 38H, K8          ;比较-不等转移 寄存器A,38H,
       MOV  38H, #00H          ;传送 38H,立即数00H
   K8: MOV  A, 38H          ;传送 寄存器A,38H
       CJNE  A, #00H, K9          ;比较-不等转移 寄存器A,立即数00H,
       MOV   22H, #00H          ;传送 22H,立即数00H
       AJMP  K19          ;绝对转移 K19
   K9: CJNE  A, #01H, K15          ;比较-不等转移 寄存器A,立即数01H,
       MOV   R7, 2CH          ;传送 通用寄存器7,2CH
       ACALL  ALDISP          ;绝对调用 ALDISP
       AJMP  K19          ;绝对转移 K19
  K15: CJNE  A, #02H, K16          ;比较-不等转移 寄存器A,立即数02H,
       ACALL   FLDISP          ;绝对调用 FLDISP
       AJMP  K19          ;绝对转移 K19
  K16: CJNE  A, #03H, K17          ;比较-不等转移 寄存器A,立即数03H,
       ACALL   PRDISP          ;绝对调用 PRDISP
       AJMP  K19          ;绝对转移 K19
  K17: CJNE A, #04H, K18          ;比较-不等转移 寄存器A,立即数04H,
       ACALL  SPDISP          ;绝对调用 SPDISP
       AJMP  K19          ;绝对转移 K19
  K18: CLR  TR0          ;清0 TR0
       SETB  TR1          ;位-置1 TR1
       SETB  2FH.1          ;位-置1 2FH.1
       MOV   30H,  #088H          ;传送 30H,立即数088H
       MOV   31H,  #0C7H          ;传送 31H,立即数0C7H
       MOV   32H,  #0C0H          ;传送 32H,立即数0C0H
       MOV   33H,  #0C6H          ;传送 33H,立即数0C6H
  K19: POP  PSW          ;出栈 PSW
       POP  ACC          ;出栈 ACC
       RETI          ;中断返回 
     RedUP: INC  08H          ;加1 08H
            MOV  A, #100          ;传送 寄存器A,立即数100

⌨️ 快捷键说明

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