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

📄 时钟.asm

📁 电子钟设计
💻 ASM
📖 第 1 页 / 共 2 页
字号:
             AAMBUFF1   EQU   66H
             AAHBUFF1   EQU   65H
             AAMBUFF11  EQU   64H
             AAMBUFF12  EQU   63H
             AAHBUFF11  EQU   62H
             AAHBUFF12  EQU   61H
             
             AAMBUFF2   EQU   60H
             AAHBUFF2   EQU   5FH
             AAMBUFF21  EQU   5EH
             AAMBUFF22  EQU   5DH
             AAHBUFF21  EQU   5CH
             AAHBUFF22  EQU   5BH
             DDD        EQU   11H
             FLAG01    EQU    12H
             AHBUFF2   EQU   77H
             AHBUFF1   EQU   76H
             AMBUFF2   EQU   75H
             AMBUFF1   EQU   74H
             HBUFF2    EQU   73H
             HBUFF1    EQU   72H
             MBUFF2    EQU   71H
             MBUFF1    EQU   70H
             DP        EQU   10H
             NUM       EQU   78H
             SBUFF     EQU   79H
             MBUFF     EQU   7AH
             HBUFF     EQU   7BH
             AMBUFF    EQU   7CH
             AHBUFF    EQU   7DH
             NUMT1     EQU   67H
             NUMT2     EQU   68H
             KEYNUMT1   EQU  69H
             KEYNUMT2   EQU  6AH
             STOREKEYNUMT2   EQU  6BH
             STOREKEYNUMT1   EQU  6CH

              ORG   0000H
              AJMP  START
              ORG  000BH
              MOV  TH0,#0BH
              MOV  TL0,R4
              AJMP  INTERT0
              ORG   001BH
              JMP   INTERT1
              ORG   0040H
 START:       MOV   NUMT1,#00H
              MOV   NUMT2,#00H
              MOV   SP, #30H
              MOV   KEYNUMT1,#00H
              MOV   KEYNUMT2,#0
              MOV   NUM,#8
              MOV   DPTR,#TAB
              MOV   AAHBUFF1 ,#18H        ;置闹铃1时间初始值
              MOV   AAMBUFF1 ,#55H
              MOV   AAHBUFF12 ,#01H
              MOV   AAHBUFF11 ,#08H
              MOV   AAMBUFF12 ,#05H
              MOV   AAMBUFF11 ,#05H

              MOV   AAHBUFF2 ,#12H         ;置闹铃2时间初始值
              MOV   AAMBUFF2 ,#34H
              MOV   AAHBUFF22 ,#01H
              MOV   AAHBUFF21 ,#02H
              MOV   AAMBUFF22 ,#03H
              MOV   AAMBUFF21 ,#04H
              CLR   FLAG01
              MOV   HBUFF2 ,#01H           ;置闹钟时间初始值
              MOV   HBUFF1 ,#02H
              MOV   MBUFF2 ,#05H
              MOV   MBUFF1 ,#02H
              MOV   HBUFF ,#12H
              MOV   MBUFF ,#52H
              
              MOV   SBUFF ,#3CH
              MOV   52H,#00                ;温度值十位
              MOV   53H,#00                ;温度值个位
              MOV   TCON ,#05H
              MOV   TMOD ,#11H
              MOV   TH0  ,#0BH
              MOV   TL0 , #0DBH
              MOV   TH1 , #3CH
              MOV   TL1 , #0B0H
              MOV   IE , #82H
              SETB  PT0
              SETB  TR0
              SETB  P3.2
              SETB  P3.3
              SETB  P3.7
              CLR   DP
              CLR   DDD
              CLR   P3.7
     START1:  MOV  A, HBUFF
              SUBB  A , #7H
              JC   START2
              SUBB  A, #21H
              JNC  START2
              MOV  A,SBUFF
              CJNE  A,#50,WENDU      ;每个十秒钟时采集温度        
              LCALL  RDTMP
              JMP   WENDU1
      WENDU:  ACALL  DISPLAY
      WENDU1: ACALL   ZDBS
              JMP  START3
     START2:  ACALL  NIGHTDISPLAY
     START3:  MOV  A , AAHBUFF1
              CJNE  A,HBUFF,START5
              MOV   A,AAMBUFF1
              CJNE  A,MBUFF,START5
              JMP   START6
     START5:  MOV   A , AAHBUFF2
              CJNE  A,HBUFF,START4
              MOV   A,AAMBUFF2
              CJNE  A,MBUFF,START4
     START6:  MOV   C,DP
              MOV   P3.3,C
              MOV   A,SBUFF
              JNZ   START1
              SETB  P3.3
     START4:  JNB   P3.2,ADJUSTTIME1
              JNB   P3.3,FFFFF 
              AJMP   START1
        FFFFF:JMP  ADJUSTTIME2
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;*******int0的中断子程序*
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ADJUSTTIME1:  NOP
              MOV   KEYNUMT1,#00H
              MOV   TH1,#3CH
              MOV   TL1,#0B0H
              SETB  ET1
              SETB  PT1
              SETB  TR1
              MOV  STOREKEYNUMT1,KEYNUMT1
 TIME1_1:     ACALL  DISPLAY
              MOV  A, KEYNUMT1
              CJNE  A, STOREKEYNUMT1,TIME1_2
              AJMP   TIME1_3
 TIME1_2:     MOV  STOREKEYNUMT1,KEYNUMT1
              ACALL  ADDBUFF0
              SETB  P3.7
              CLR   P3.7
              MOV  R2,#120
       SSS:   CPL  DP
              MOV  C,DP
              MOV  P1.7,C
              LCALL   D1MS
              DJNZ  R2,SSS
              SETB   P3.7
              CLR  P3.7
              MOV  SBUFF,#3CH
 TIME1_3:     JNB  P3.2,TIME1_1
              CLR  ET1
              CLR  PT1
              CLR  TR1
              AJMP  START1
              
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;***时间增1分****
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ADDBUFF0:  MOV   A,MBUFF
            ADD   A,#1
            DA   A
            MOV   MBUFF,A
            ANL   A,#0FH
            MOV   MBUFF1,A
            MOV   A,MBUFF
            SWAP  A
            ANL   A,#0FH
            MOV   MBUFF2,A
            MOV   A,MBUFF
            CJNE  A,#60H,ADDBUFF1
            MOV   MBUFF,#00H
            MOV   MBUFF2,#00H
            MOV   MBUFF1,#00H
            MOV   A,HBUFF
            ADD   A,#1
            DA   A
            MOV   HBUFF,A
            ANL   A , #0FH
            MOV   HBUFF1,A
            MOV   A,HBUFF
            SWAP  A
            ANL   A,#0FH
            MOV   HBUFF2,A
            MOV   A,HBUFF
            CJNE  A,#24H,ADDBUFF1
            MOV   HBUFF,#00H
            MOV   HBUFF2,#00H
            MOV   HBUFF1,#00H
 ADDBUFF1:  RET

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;      int1中断子程序
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ADJUSTTIME2:LCALL  DL1MS
        aaa:  MOV  R0,#61H
              LCALL  SHIPLAY
              jnb  p3.3,aaa
    DING001:  MOV  R0,#61H
              LCALL  SHIPLAY
              JNB  P3.2 , ZENGSHI1
      CCC01:  JNB  P3.3 , FENG1
              JMP  DING001
    ZENGSHI1: LCALL  DL1MS
              JNB   P3.2,$
              MOV   A,AAHBUFF1
              ADD   A,#1
              DA    A
              MOV  AAHBUFF1,A
              ANL  A,#0FH
              MOV  AAHBUFF11,A
              MOV  A,AAHBUFF1
              SWAP  A
              ANL  A,#0FH
              MOV  AAHBUFF12,A
              MOV  A,AAHBUFF1
              CJNE  A,#24H,CCC01
              MOV   AAHBUFF1,#00H
              MOV   AAHBUFF12,#00H
              MOV   AAHBUFF11,#00H
              JMP CCC01

     FENG1:  LCALL  DL1MS
      aaa1:  MOV  R0,#61H
             LCALL  FENGPLAY
             jnb  p3.3,aaa1
             ;JNB  P3.3,$
     FENG01: MOV  R0,#61H
             LCALL  FENGPLAY   
             JNB  P3.2 , ZHENGFENG1
             JNB  P3.3 ,  SHI2
             JMP  FENG01
  ZHENGFENG1:LCALL  DL1MS
             JNB   P3.2,$
             MOV  A,AAMBUFF1
             ADD  A,#1
             DA  A
             MOV  AAMBUFF1,A
             ANL  A,#0FH
             MOV  AAMBUFF11,A
             MOV  A,AAMBUFF1
             SWAP  A
             ANL  A,#0FH
             MOV  AAMBUFF12,A
             MOV   A,AAMBUFF1
             CJNE  A,#60H,hui1
             MOV   AAMBUFF1,#00H
             MOV   AAMBUFF12,#00H
             MOV   AAMBUFF11,#00H
      hui1:  JMP  FENG1

      SHI2:   LCALL  DL1MS
       aaa2:  MOV  R0,#5bH
              LCALL  SHIPLAY
              jnb  p3.3,aaa2
             ; JNB  P3.3,$
     SHI02:   MOV  R0,#5BH
              LCALL  SHIPLAY
              JNB  P3.2 ,ZENGSHI2
    CCC02:    JNB  P3.3 ,FENG2
              JMP SHI02
   ZENGSHI2: LCALL  DL1MS
             JNB   P3.2,$
             MOV   A,AAHBUFF2
             ADD   A,#1
             DA    A
             MOV  AAHBUFF2,A
             ANL  A,#0FH
             MOV  AAHBUFF21,A
             MOV  A,AAHBUFF2
             SWAP  A
             ANL  A,#0FH
             MOV  AAHBUFF22,A
             MOV  A,AAHBUFF2
             CJNE  A,#24H,CCC02
             MOV   AAHBUFF2,#00H
             MOV   AAHBUFF22,#00H
             MOV   AAHBUFF21,#00H
             JMP  CCC02
                        
      FENG2:  LCALL  DL1MS
        aaa3: MOV  R0,#5bH
              LCALL  SHIPLAY
              jnb  p3.3,aaa3
      
             ; JNB  P3.3,$
      FENG02: MOV  R0,#5BH
              LCALL FENGPLAY
              JNB  P3.2 ,ZENGFENG2
              JNB  P3.3 , CHU
              JMP FENG02
   ZENGFENG2:LCALL  DL1MS
             JNB   P3.2,$
             MOV  A,AAMBUFF2
             ADD  A,#1
             DA  A
             MOV  AAMBUFF2,A
             ANL  A,#0FH
             MOV  AAMBUFF21,A
             MOV  A,AAMBUFF2
             SWAP  A
             ANL  A,#0FH
             MOV  AAMBUFF22,A
             MOV   A,AAMBUFF2
             CJNE  A,#60H,  HUI2
             MOV   AAMBUFF2,#00H
             MOV   AAMBUFF22,#00H
             MOV   AAMBUFF21,#00H
        HUI2:JMP  FENG2
         CHU:
             LCALL  DL1MS
             JNB   P3.3,$
             JMP START1
             
    SHIPLAY:  JB   FLAG01,SHAI01              ;时显示
              MOV   A,@R0
              INC   R0
              MOVC  A,@A+DPTR
              MOV   C,DP
              MOV   ACC.7,C
              MOV   P1,A
              CLR   P3.0
              ACALL  DL01MS
              SETB   P3.0
              MOV   A,@R0
              INC   R0
              MOVC  A,@A+DPTR
              MOV   C,DP
              MOV   ACC.7,C
              MOV   P1,A
              CLR   P3.1
              ACALL  DL01MS
              SETB   P3.1
              SETB   FLAG01
              JMP   SHAI02
     SHAI01:  MOV   A,@R0
              INC   R0
              MOVC   A,@A+DPTR
              MOV   C,DP
              MOV   ACC.7,C
              MOV   P1,A
              ACALL  DL01MS
              SETB   P3.0
              MOV   A,@R0
              INC   R0
              MOVC   A,@A+DPTR
              MOV   C,DP
              MOV   ACC.7,C
              MOV   P1,A
              ACALL  DL01MS
              SETB   P3.1
              CLR   FLAG01
     SHAI02:  MOV  A,@R0
              INC  R0
              ADD   A,#0AH
              MOVC  A,@A+DPTR
              MOV   C,DP
              MOV   ACC.7,C
              MOV   P1,A
              CLR   P3.4
              ACALL  DL01MS
              SETB   P3.4
              MOV  A,@R0
              INC  R0
              MOVC  A,@A+DPTR
              MOV   C,DP
              MOV   ACC.7,C
              MOV   P1,A
              CLR   P3.5
              ACALL  DL01MS
              SETB   P3.5
              RET
                    
     FENGPLAY:MOV   A,@R0            ;分显示
              INC   R0
              MOVC  A,@A+DPTR
              MOV   C,DP

⌨️ 快捷键说明

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