82.asm

来自「----用AT89C51制作八位数字频率计----完整程序清单,2003年全国大」· 汇编 代码 · 共 207 行

ASM
207
字号
	
	ORG      00H             
	AJMP     MAIN              
;50M	
		ORG	000BH
        	INC      23H		
        	RETI
        			
        ORG      001BH             
        PUSH     ACC               
        PUSH     PSW               
        DJNZ     40H,JJ          
        MOV      40H,#0C8H
        DJNZ     41H,JJ
        CLR      P3.1              
        ANL      88H,#0AFH         
        MOV      20H,P1
        MOV      21H,TL0         
  	MOV      22H,TH0 
  	SETB     P3.0              
  	ACALL    COUNT            
JJ:     POP      PSW
        POP      ACC
        RETI
        ORG      50H                
MAIN:	MOV      SP,#50H           
	MOV      TH1,#06H          
        MOV      TL1,#06H     	  
        MOV      TMOD,#25H         
        SETB     TR0               
        SETB     TR1 
        SETB     EA
        SETB     ET1
        SETB     ET0
        MOV      40H,#0C8H
        MOV      41H,#28H
        
        MOV      30H,#78H
        MOV      31H,#56H
        MOV      32H,#34H
        MOV      33H,#12H
        
        MOV      R2,#00H
        MOV      23H,#00H
HERE:   MOV      DPTR,#TABLE      
        CLR      C
        MOV      A,R2
        RLC      A		
        JMP      @A+DPTR
TABLE:  AJMP      PG0
        AJMP      PG1
        AJMP      PG2
        AJMP      PG3
        AJMP      PG4
        AJMP      PG5
        AJMP      PG6
        AJMP      PG7
PG0:    MOV       A,33H           
        SWAP      A
        ANL       A,#0FH            
GG:     MOV       DPTR,#BOOK
        MOVC      A,@A+DPTR
        MOV       P2,#0FFH         
        MOV       P0,#01H
        MOV       P2,A
        AJMP      GO
PG1:    MOV       A,33H
  	ANL       A,#0FH
        MOV       DPTR,#BOOK
        MOVC      A,@A+DPTR
  	MOV       P2,#0FFH
  	MOV       P0,#02H
  	MOV       P2,A
  	AJMP      GO
PG2:    MOV       A,32H
        SWAP      A
        ANL       A,#0FH
        MOV       DPTR,#BOOK
        MOVC      A,@A+DPTR
        MOV       P2,#0FFH
        MOV       P0,#04H
        MOV       P2,A
  	AJMP      GO
PG3:    MOV       A,32H
  	ANL       A,#0FH
  	MOV       DPTR,#BOOK
  	MOVC      A,@A+DPTR
  	MOV       P2,#0FFH
        MOV       P0,#08H
  	MOV       P2,A
        AJMP      GO
PG4:    MOV       A,31H
        SWAP      A
        ANL       A,#0FH

  	MOV       DPTR,#BOOK
        MOVC      A,@A+DPTR
        MOV       P2,#0FFH
        MOV       P0,#10H
        MOV       P2,A
  	AJMP      GO
PG5:    MOV       A,31H
        ANL       A,#0FH
  	MOV       DPTR,#BOOK
	MOVC      A,@A+DPTR
        MOV       P2,#0FFH
        MOV       P0,#20H
        MOV       P2,A
        AJMP      GO
PG6:    MOV       A,30H
        SWAP      A
        ANL       A,#0FH
        MOV       DPTR,#BOOK
        MOVC      A,@A+DPTR
        MOV       P2,#0FFH
        MOV       P0,#40H
        MOV       P2,A
        AJMP      GO
PG7:    MOV       A,30H
        ANL       A,#0FH
        MOV       DPTR,#BOOK
  	MOVC		 A,@A+DPTR
        MOV       P2,#0FFH
        MOV       P0,#80H
  	MOV       P2,A
  	MOV       R2,#00H
        AJMP      GO1
GO:     INC       R2
GO1:    ACALL     DELAY
        AJMP      HERE
      
COUNT:   MOV       R0,#20H
         MOV       R1,#30H
         MOV       R7,#04H
BMBCD:   MOV       A,R0
         MOV       R5,A
 	 MOV       A,R1
	 MOV       R6,A
	 MOV       A,R7
         MOV       R3,A
         INC       R3
 	 CLR       A
CLBCD:   MOV       @R1,A
         INC       R1
 	 DJNZ      R3,CLBCD
         MOV       A,R7
 	 MOV       B,#08H
 	 MUL       AB
 	 MOV       R3,A
LP0:     MOV       A,R5
         MOV       R0,A
 	 MOV       A,R7
 	 MOV       R2,A
         CLR       C
LP1:     MOV       A,@R0
         RLC	   A		
	 MOV       @R0,A
 	 INC       R0
 	 DJNZ      R2,LP1
	 MOV       A,R6
 	 MOV       R1,A
         MOV       A,R7
 	 MOV       R2,A
 	 INC       R2
LP2:     MOV       A,@R1
         ADDC      A,@R1
         DA        A
         MOV       @R1,A
         INC       R1
         DJNZ      R2,LP2
         DJNZ      R3,LP0
         MOV       A,R6
 	 MOV       R1,A
 	 MOV       41H,#28H
 	 MOV       40H,#0C8H
         MOV       TH1,#06H
	 MOV       TL1,#06H
         MOV       TH0,#00H
 	 MOV       TL0,#00H
         MOV       23H,#00H
         ORL       88H,#50H            
 	 CLR       P3.0
         NOP                           
         NOP
         NOP
         NOP
         NOP
 	 NOP
         NOP
	 NOP
	 NOP
         NOP
 	 NOP
         NOP
         SETB       P3.1               
         RET
         
DELAY:   MOV        70H,#05H            
DDE:     MOV        71H,#55H
DE:      DJNZ       71H,DE
 	 DJNZ       70H,DDE
 	 RET

BOOK:    DB 0C0H,0F9H,0A4H,0B0H,99H  
         DB 92H, 82H, 0F8H,80H, 90H
         
         END

⌨️ 快捷键说明

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