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

📄 dianji4.asm

📁 常用子程序-61个-4.2M.zip
💻 ASM
字号:
       ORG 0000H
       AJMP MAIN
       ORG 0030H
  MAIN:MOV      DPTR,#0FF82H
       MOV      A,#0D1H
       MOVX     @DPTR,A
  WAIT:MOVX     A,@DPTR
       JB       ACC.7,WAIT
       MOV      A,#00H
       MOVX     @DPTR,A
       MOV      A,#2CH
       MOVX     @DPTR,A
       
MAIN1:MOV TMOD ,#01H
       CLR 00H     ;标志位
       CLR 01H
       CLR 02H
       CLR 03H
       
       MOV 45H,#01H  
       MOV 30H,#10H          ;电机控制端
       MOV 31H,#00H
       
       MOV 32H,#0F2H     ;;定时器数值
       MOV 33H,#7FH
       MOV 34H,#0FFH
       MOV 35H,#0FFH
       
       MOV 36H,#04H        ;显示数值
       MOV 37H,#0B0H
CHAXUN:LCALL SEACH 
       JBC 00H,MAIN2 
       SJMP CHAXUN 
 MAIN2:LCALL HB2 
       LCALL TRANS
       LCALL LED       
 START:MOV P1,30H
       MOV TH0 ,32H
       MOV TL0,33H
       SETB  TR0 
HERE:JBC TF0 ,NEXT3 
      SJMP HERE       
NEXT3: MOV  P1,31H
      MOV TH0,34H
      MOV TL0,35H
HERE1:JBC TF0,NEXT4
      SJMP HERE1  
      
                
NEXT4:LCALL SEACH
      JBC 01H,MAIN1 
      AJMP START      
 
 SEACH:MOV      DPTR,#0FF82H   
       MOVX     A,@DPTR
       ANL A,#07H
       JZ  RETUN4
       LJMP KEY
RETUN4:RET
   KEY:MOV  DPTR ,#0FF82H
       MOV  A,#40H
	   MOVX @DPTR,A
	   MOV DPTR,#0FF80H
	   MOVX A,@DPTR
	   ANL A,#3FH

       CJNE A,#0AH,KEY1             
       SETB 00H
       AJMP RETUN    
      
  KEY1:CJNE A,#0BH,KEY2
       SETB 01H 
       AJMP RETUN 
 KEY2:CJNE A,#0CH,KEY3
       MOV 45H,#00H
       MOV 30H,#20H
       MOV P1,#00H
       LCALL DELAY1 
       SETB 02H 
       AJMP RETUN 
 KEY3:CJNE A,#0DH,KEY4
      MOV 45H,#01H
      MOV 30H,#10H
      SETB 03H 
      MOV P1,#00H
      LCALL DELAY1 
      AJMP RETUN    
KEY4:CJNE A,#0EH,KEY5
     MOV A,33H
     CJNE A,#7FH,PTF0
      MOV  A,32H
    CJNE  A,#0F2H,PTF0   
     AJMP  PTFK0
PTF0:MOV A,33H
     CLR C 
     SUBB  A,#90H
     MOV 33H,A
     MOV A,32H
     SUBB A,#00H
     MOV  32H,A 
     MOV A,35H 
     ADD A,#90H
     MOV 35H,A
     MOV A,34H
     ADDC  A,#00H
     MOV  34H,A  
     LCALL JIA  
PTFK0: AJMP RETUN 
KEY5:CJNE A,#0FH,RETUN 
     MOV A,33H
     CJNE A,#0FFH,PTF1
     MOV  A,32H
     CJNE A,#0FFH,PTF1 
     AJMP  RETUN  
PTF1:MOV  A,33H 
     ADD A,#90H
     MOV 33H,A
     MOV A,32H
     ADDC A,#00H
     MOV 32H,A 
     MOV A,35H 
     CLR C
     SUBB A,#90H
     MOV 35H,A
     MOV A,34H
     SUBB A,#00H
     MOV  34H,A 
     LCALL JIAN 
                    
 RETUN:LCALL HB2 
       LCALL TRANS
       LCALL LED   
       RET          
 
 
  DELAY1:MOV     R7,#14H

        MOV     TMOD,#01H
        MOV     TL0,#00H
        MOV     TH0,#4CH
        SETB    TR0
   HERE2:JBC     TF0,NEXT7
        SJMP    HERE2
  NEXT7:MOV     TL0,#00H
        MOV     TH0,#4CH
        DJNZ    R7,HERE2
        CLR     TR0
       
        RET
 
       
    
      
 

   
TRANS: MOV R0,#39H
       MOV R1,#40H
       MOV R6,#02H
  LAST:MOV      A,@R0
       ANL      A,#0FH
       MOV      @R1,A
       MOV      A,@R0
       ANL      A,#0F0H
       SWAP     A
       INC  R1
       MOV      @R1,A
       INC  R1
       DEC R0
       DJNZ R6,LAST
       RET  
       
       
       
JIA:  MOV A,37H
      ADD A,#50
      
      MOV 37H,A
      MOV A,36H
      ADDC A,#00
      MOV 36H,A  
      RET   
 JIAN:CLR C  
      MOV A,37H
      SUBB A,#50
      MOV 37H,A
      MOV A,36H
      SUBB A,#00
      MOV 36H,A 
      RET  
 

  
 
  
  
  
 

  
 
 ;    (17)  标号: HB2   功能:双字节十六进制整数转换成双字节BCD码整数

;入口条件:待转换的双字节十六进制整数在R6、R7中。
;出口信息:转换后的三字节BCD码整数在R3、R4、R5中。
;;影响资源:PSW、A、R2~R7    堆栈需求:  2字节

HB2:MOV R6,36H
    MOV R7,37H
    CLR	A	    ;;BCD码初始化
	MOV	R3,A
	MOV	R4,A
	MOV	R5,A
	MOV	R2,#10H	       ;;转换双字节十六进制整数
HB3:	MOV	A,R7                   ;	;从高端移出待转换数的一位到CY中
	RLC	A
	MOV	R7,A
	MOV	A,R6
	RLC	A
	MOV	R6,A
	MOV	A,R5	               ;;BCD码带进位自身相加,相当于乘2
	ADDC	A,R5
	DA	A	                  ;;;;;;十进制调整
	MOV	R5,A
	MOV	A,R4
	ADDC	A,R4
	DA	A
	MOV	R4,A
	MOV	A,R3
	ADDC	A,R3
	MOV	R3,A	                    ;;双字节十六进制数的万位数不超过6,不用调整
	DJNZ	R2,HB3  
	MOV 38H,R4
	MOV 39H,R5                     ;	;处理完16bit
	RET 	
   
 
   LED:MOV      DPTR,#0FF82H
       MOV      A,#90H
       MOVX      @DPTR,A
       MOV      R1,#40H
       MOV      R7,#04H
       MOV      DPTR,#0FF80H
  LOOP:MOV      A,@R1
       ADD      A,#05H
       MOVC     A,@A+PC
       MOVX     @DPTR,A
       INC      R1
       DJNZ     R7,LOOP
       RET
       DB       3FH,06H,5BH,4FH,66H,6DH
       DB       7DH,07H,7FH,6FH  

END        
                      

⌨️ 快捷键说明

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