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

📄 pinlvji.asm

📁 利用51单片机实现数字信号频率周期测量
💻 ASM
字号:
          JBUF0	      EQU 40H	   ; JI SUAN USE B C D
          JBUF1	      EQU 41H
          JBUF2	      EQU 42H
          JBUF3	      EQU 43H
          JBUF4	      EQU 44H
          JBUF5	      EQU 45H

           PIN        BIT 00H    
           SBZ        EQU 21H
           SBZOLD     EQU 22H

      ORG 0000H
      LJMP START
      ORG 002BH
      LJMP PIT1

      ORG  0030H
 START:MOV SP,#60H
       MOV P0,#0FFH
      mov p2,#0ffh
      MOV T2CON,#00H
      MOV TMOD,#51H 
      MOV SBZOLD,#00H
      MOV R0,#JBUF0
      MOV R1,#11101110B
       MOV TL2 ,#18H
      MOV TH2 ,#0FCH
      SETB TR2
       SETB ET2
        SETB EA              
 MAIN:  LCALL KEY
       MOV A,SBZ
       CJNE A,#10H,MAIN1
       SETB PIN
       MOV A,SBZOLD
       CJNE A,#10H,MAIN0
       SJMP MAIN01
MAIN0: CLR TR1
MAIN01: ACALL FREQUE
        LJMP MAIN4
MAIN1:  CLR PIN
       CJNE A,#20H,MAIN3
       MOV A,SBZOLD
       CJNE A,#20H,MAIN2
       LJMP MAIN4
MAIN2:   MOV TL1,#00H
        MOV TH1,#00H
        SETB TR1
        LJMP MAIN4
MAIN3: MOV SBZ,#00H
       MOV TH1,#00H
       MOV TL1,#00H
MAIN4: ACALL DEL
       MOV SBZOLD,SBZ
       LJMP MAIN

FREQUE: MOV TH1,#00H
        MOV TL1,#00H
XS1:    MOV TH0,#3CH   
        MOV TL0,#0B0H
        CLR TF0
        SETB TR0
        SETB TR1
   AN1: JBC TF0,AN2
        AJMP AN1
   AN2:  MOV TH0,#3CH   ;50ms
        MOV TL0,#0B0H
   AN3: JBC TF0,AN4
        AJMP AN3
   AN4:  CLR TR1
        CLR TR0
        SETB PIN
        RET

 DEL:  MOV 31H,TH1
       MOV 30H,TL1
       LCALL B16BCD 
 DEL3: RET

 KEY: ORL P1,#0F0H
      MOV A,P1
      ORL A,#0FH
      CPL A
      MOV SBZ,A
      RET

B16BCD:   MOV R2,30H
           MOV R3,31H
           CLR A     ;IN:R3 R2  OUT:R6 R5 R4 --BCD
	   MOV R4,A
	   MOV R5,A
	   MOV R6,A
	   MOV R7,#10H
B0:        CLR C
	   MOV A,R2
	   RLC A
	   MOV R2,A
	   MOV A,R3
	   RLC A
	   MOV R3,A
	   MOV A,R4
	   ADDC A,R4
	   DA A
	   MOV R4,A
	   MOV A,R5
	   ADDC A,R5
	   DA A
	   MOV R5,A
	   MOV A,R6
	   ADDC A,R6
	   DA A
	   MOV R6,A
	   DJNZ R7,B0
JBCD:    MOV A,R6
         SWAP A
         ANL A,#0FH
         MOV JBUF5,A
         MOV A,R6
         ANL A,#0FH
         MOV JBUF4,A
         MOV A,R5
         SWAP A
         ANL A,#0FH
         MOV JBUF3,A
         MOV A,R5
         ANL A,#0FH
         MOV JBUF2,A
         MOV A,R4
         SWAP A
         ANL A,#0FH
         MOV JBUF1,A
         CLR A
         MOV A,R4
         ANL A,#0FH
         MOV JBUF0,A
         RET

pIT1: PUSH PSW
      PUSH ACC
      MOV TL2,#18H
      MOV TH2,#0ECH
      CLR TF2
      MOV A,R0
      CJNE A,#JBUF2,S0
      JNB PIN,S0
      MOV DPTR,#TABLE1
      SJMP S1
S0:   mov DPTR,#TABLE
S1:   MOV A,@R0
      MOVC A,@A+DPTR
      ;mov a,#0c0h
     ; cpl a
      MOV P0,A
      MOV A,R1
      MOV P2,A
      ;INC R0
      MOV A,R1
      JNB ACC.7,S2
      RL A
      SJMP S3
S2:   MOV R1,#11101110B
      MOV R0,#40H
      SJMP S4
S3:   MOV R1,A
      INC R0
S4:   POP ACC
      POP PSW
      RETI

TABLE:
DB    0C0H,0F9H,0A4H,0B0H
DB    99H,92H,82H,0F8H
DB    80H,90H
TABLE1:DB 40H ;0.
       DB 79H ;1.
       DB 24H ;2.
       DB 30H ;3.
       DB 19H ;4.
       DB 12H ;5.
       DB 02H ;6.
       DB 78H ;7.
       DB 00H ;8.
       DB 10H ;9.
END



⌨️ 快捷键说明

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