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

📄 频率计.asm

📁 请认真阅读您的文件包然后写出其具体功能(至少要20个字)。尽量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。系统会自动删除debug和release目录
💻 ASM
字号:



       DW1      EQU   53H
       DW2      EQU   54H
       DW3      EQU   55H
       XIAN1    EQU   50H
       XIAN2    EQU   51H
       XIAN3    EQU   52H
       COUNTT0  EQU   56H
       SAME     EQU   01H
       TTM      EQU   5AH

       ORG      0000H
       AJMP     MAIN

       ORG      000BH
       AJMP     ITO0

 MAIN: MOV     A,#00H
       MOV     DW1,A
       MOV     DW2,A
       MOV     DW3,A
       MOV     XIAN1,A
       MOV     XIAN2,A
       MOV     XIAN3,A
       MOV     COUNTT0,A
       MOV     40H,A
       MOV     41H,A
       MOV     42H,A
       MOV     43H,A
       MOV     44H,A
       MOV     45H,A
       MOV     SP,#60H
       CLR     SAME
       SETB    TCON.2


START:
       MOV     TMOD,#51H    ;T0-->TO TIME;T1-->TO COUNT
       MOV     TL0,#0B0H    ;50ms
       MOV     TH0,#3CH
       MOV     TL1,#00H
       MOV     TH1,#00H
       MOV     TTM,#14H     ;50ms*20=1s
 DENG: SETB    P3.5
       JB      P3.5,DENG
       SETB    TR0
       SETB    TR1
       SETB    ET0
       SETB    ET1
       SETB    PT1
       SETB    EA
       CLR     SAME


 WAIT1:   MOV    COUNTT0,#00H

 WAIT: LCALL   DIS
       JNB     SAME,WAIT    ;T0=1S?
       CLR     TR0          ;STOP T0 TIMER
       CLR     ET0
       CLR     TR1
       CLR     ET1
       MOV     R1,TH1
       CJNE    R1,#00H,JX22
       CLR     C
       MOV     A,TL1
       SUBB    A,#0AH
       JC      JX
 JX22: LJMP    JX2


  JX:   INC    COUNTT0
        MOV     R1,TL1
        CJNE    R1,#00H,H
        AJMP    JX1
  H:    AJMP    JX3


 JX1:  CLR     SAME
       MOV     TL0,#0B0H  ;RESTART TIMER
       MOV     TH0,#3CH
       SETB    TR0
       SETB    ET0
       SETB    TR1
       SETB    ET1

  JJX:  LCALL   DIS
       JNB     SAME,JJX
       CLR     TR0
       CLR     ET0
       AJMP    JX

 WAIT2:   MOV    COUNTT0,#00H

 WAIT3: LCALL   DSPP

       JNB     SAME,WAIT3    ;T0=1S?
       CLR     TR0          ;STOP T0 TIMER
       CLR     ET0
       CLR     TR1
       CLR     ET1
       MOV     R1,TH1

       CJNE    R1,#00H,JX2
       MOV     R1,TL1
       CLR     C
       MOV     A,R1
       SUBB    A,#0AH
       JC      JXX
       LJMP    JX2


 JXX:  INC     COUNTT0
       MOV     R1,TL1
       CJNE    R1,#00H,JX3
       AJMP    JX11

 JX11: CLR     SAME
       MOV     TL0,#0B0H
       MOV     TH0,#3CH

       SETB    TR0
       SETB    ET0
       SETB    TR1
       SETB    ET1
 JJXX: LCALL   DSPP
       JNB     SAME,JJXX
       CLR     TR0
       CLR     ET0
       AJMP    JXX

 JX2:  CLR     TR0
       CLR     TR1
       CLR     ET0
       CLR     ET1
       CLR     EA

       MOV     XIAN1,TL1
       MOV     XIAN2,TH1
       MOV     XIAN3,#00h
       CLR     SAME
       MOV     TMOD,#51H    ;T0-->TIMER,T1-->COUNTER
       MOV     TL0,#0B0H    ;50ms
       MOV     TH0,#3CH
       MOV     TL1,#00H
       MOV     TH1,#00H
       MOV     TTM,#14H     ;50ms*20=1s
       SETB    TR0
       SETB    TR1
       SETB    ET0
       SETB    ET1
       SETB    EA
       LCALL   TZ
 DISP1: LCALL   DIS
       LCALL   DIS
       AJMP   WAIT


 JX3:  CLR     TR0
       CLR     TR1
       CLR     ET0
       CLR     ET1
       CLR     EA

       MOV     A,TL1
       MOV     B,#100
       MUL     AB
       MOV     R3,B
       MOV     R2,A
       MOV     R4,COUNTT0


 DV:   MOV     R7,#08H
 DV1:  CLR     C
       CLR     07H
       MOV     A,R2
       RLC     A
       MOV     R2,A
       MOV     A,R3
       RLC     A
       MOV     07H,C

       CLR     C
       SUBB    A,R4
       JB      07H,GOU
       JNC     GOU
       ADD     A,R4
       AJMP    DV2
 GOU:  INC     R2
 DV2:  MOV     R3,A
       DJNZ    R7,DV1

       MOV     XIAN1,R2
       MOV     XIAN2,#00H
       MOV     XIAN3,#00H
       CLR     SAME
       MOV     TMOD,#51H    ;PLACE THE FIRST NUMBER
       MOV     TL0,#0B0H    ;50ms
       MOV     TH0,#3CH
       MOV     TL1,#00H
       MOV     TH1,#00H
       MOV     TTM,#14H     ;50ms*20=1s
       SETB    TR0
       SETB    TR1
       SETB    ET0
       SETB    ET1
       SETB    EA
       LCALL   TZ
 DISP2: LCALL   DSPP
       LCALL   DSPP
       AJMP   WAIT2


 ITO0: MOV     TL0,#0B0H
       MOV     TH0,#3CH
       DJNZ    TTM,T0RET
       CLR     TF0

       SETB    SAME

 T0RET:RETI


 TZ:   MOV     R0,#45H      ;CHANGE BINARY TO BCD
       MOV     R7,#05H
       MOV     DPTR,#PWTAB
       MOV     R6,#00H
 BBC1: MOV     A,R6
       MOVC    A,@A+DPTR
       MOV     DW1,A
       INC     R6

       MOV     A,R6
       MOVC    A,@A+DPTR
       MOV     DW2,A
       INC     R6

       MOV     A,R6
       MOVC    A,@A+DPTR
       MOV     DW3,A
       INC     R6
       MOV     @R0,#00H

 BBC2: CLR    C
       MOV    A,XIAN1
       SUBB   A,DW1
       MOV    XIAN1,A

       MOV    A,XIAN2
       SUBB   A,DW2
       MOV    XIAN2,A

       MOV    A,XIAN3
       SUBB   A,DW3
       MOV    XIAN3,A
       JC     BBC3
       INC    @R0
       SJMP   BBC2

 BBC3:  CLR    C           ;REBACK THE NUMBER
       MOV    A,XIAN1
       ADDC   A,DW1
       MOV    XIAN1,A

       MOV    A,XIAN2
       ADDC   A,DW2
      MOV    XIAN2,A

      MOV    A,XIAN3
      ADDC   A,DW3
       MOV    XIAN3,A

       DEC    R0
       DJNZ   R7,BBC1

       MOV    A,XIAN1
       MOV    @R0,A

       RET

 PWTAB: DB     0A0H,86H,01H
       DB     10H,27H,00H
       DB     0E8H,03H,00H
       DB     64H,00H,00H
       DB     0AH,00H,00H


 DIS:    CLR   P3.1       ;TO DISPLAY
         SETB  P3.2
         MOV   R0,#40H
         MOV   A,@R0
         MOV   DPTR,#TAB
         MOVC  A,@A+DPTR

         ;CLR   P3.7
         ;SETB   P3.0
         MOV   P1,A
         LCALL DL1


         CLR   P3.2
         SETB  P3.3
         INC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         ;CLR   P3.0
         ;SETB  P3.1
         MOV   P1,A
         LCALL  DL1

         CLR   P3.3
         SETB  P3.4
         INC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         ;CLR   P3.1
         ;SETB  P3.2
         MOV   P1,A
         LCALL DL1

         CLR    P3.4
         SETB   P3.7
         MOV    DPTR,#TAB
         INC    R0
         MOV    A,@R0
         MOVC   A,@A+DPTR


         ;CLR    P3.2
         ;SETB   P3.3
         MOV    P1,A
         LCALL  DL1

         CLR    P3.7
         SETB   P3.0
         INC    R0
         MOV    DPTR,#TAB
         MOV    A,@R0
         MOVC   A,@A+DPTR


         ;CLR    P3.3
         ;SETB   P3.4
         MOV    P1,A
         LCALL  DL1


         CLR   P3.0
         SETB  P3.1
         INC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR
         MOV   P1,A
         LCALL  DL1

         RET

TAB:   DB     3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH  ;0-9


DL1:    MOV    R5,#100
LOOP:  NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       DJNZ   R5,LOOP
       RET



DSPP:     CLR   P3.7  ;TO DISPLAY
         SETB  P3.0

         MOV   R0,#40H
         MOV   A,@R0
         MOV   DPTR,#TAB
         MOVC  A,@A+DPTR

         ;CLR   P3.7
         ;SETB   P3.0
         MOV   P1,A
         LCALL DL1


         CLR   P3.0
         SETB  P3.1
         INC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         ;CLR   P3.0
         ;SETB  P3.1
         MOV   P1,A
         LCALL  DL1

         CLR   P3.1
         SETB  P3.2
         INC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         ;CLR   P3.1
         ;SETB  P3.2
         MOV   P1,A
         LCALL DL1

         CLR    P3.2
         SETB   P3.3
         MOV    DPTR,#TAB
         INC    R0
         MOV    A,@R0
         MOVC   A,@A+DPTR


         ;CLR    P3.2
         ;SETB   P3.3
         MOV    P1,A
         LCALL  DL1

         CLR    P3.3
         SETB   P3.4
         INC    R0
         MOV    DPTR,#TAB
         MOV    A,@R0
         MOVC   A,@A+DPTR


         ;CLR    P3.3
         ;SETB   P3.4
         MOV    P1,A
         LCALL  DL1


         CLR   P3.4
         SETB  P3.7
         INC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         MOV   P1,A
         CLR   P3.4
         SETB  P3.7
         LCALL  DL1


         CLR   P3.4
         SETB  P3.7
         MOV   R0,#45H
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         MOV   P1,A
         ;CLR   P3.4
         ;SETB  P3.7
         LCALL  DL1


         CLR   P3.7
         SETB  P3.4
         DEC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         MOV   P1,A
         ;CLR   P3.4
         ;SETB  P3.7
         LCALL  DL1


         CLR   P3.4
         SETB  P3.3
         DEC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         MOV   P1,A
         ;CLR   P3.4
         ;SETB  P3.7
         LCALL  DL1

        CLR   P3.3
         SETB  P3.2
         DEC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         MOV   P1,A
         ;CLR   P3.4
         ;SETB  P3.7
         LCALL  DL1

         CLR   P3.2
         SETB  P3.1
         DEC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         MOV   P1,A
         ;CLR   P3.4
         ;SETB  P3.7
         LCALL  DL1

         CLR   P3.1
         SETB  P3.0
         DEC   R0
         MOV   DPTR,#TAB
         MOV   A,@R0
         MOVC  A,@A+DPTR

         MOV   P1,A
         ;CLR   P3.4
         ;SETB  P3.7
         LCALL  DL1
         RET

       END


















































⌨️ 快捷键说明

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