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

📄 直流电机.asm

📁 直流电机调速控制程序,并实现正反转的快慢速调节。
💻 ASM
字号:
;******************************************
 
 ;直流电机调速控制程序
 ;直流电机驱动电路正转输入接入P0.0脚,反转输入接入P0.1脚
 ;按键 P2.7为停止键 P2.6、P2.5为正转快慢速 P2.4、P2.3、P2.2为反转快慢速
 ;-----------------------------
 
        ORG 0000H
        AJMP MAIN
        ORG 0100H
        
 MAIN: 
 DIAN:                  ; P2.7 用作停止键
      JNB P2.6,K6_1     ;为正转快速键
      JNB P2.5,K6_2     ;为正转慢速键 
      JNB P2.4,K6_1_    ;为反转快速键 
      JNB P2.3,K6_3_    ;为反转快速键
      JNB P2.2,K6_2_    ;为反转慢速键
      AJMP DIAN

 ;------------------------------------- 
     
  ;用占空比来输出不同的频率
  K6_0: CLR P0.0    ;1     
       ACALL YSH0GS
       SETB P0.0       
       ACALL YSH0AS
       JNB P2.7,DIAN
       AJMP K6_0
       RET   

      
 K6_1:CLR P0.0    ;2 
      ACALL YSH0CS
      SETB P0.0       
      ACALL YSH09S
      JNB P2.7,DIAN
      AJMP K6_1
      RET   
           
 K6_2: CLR P0.0      ;3
      ACALL YSH09S
      SETB P0.0       
      ACALL YSH09S
      JNB P2.7,DIAN
      AJMP K6_2

      RET   
      
 K6_1_:
       CLR P0.1    ;2 
       SETB P0.1       
       ACALL YSH02S
       JNB P2.7,DIAN
       AJMP K6_1_
       RET   
            
 K6_2_: ;SETB P0.0
        CLR P0.1      ;3 
        ACALL YSH01S
       SETB P0.1       
       ACALL YSH0DS
       JNB P2.7,DIAN
       AJMP K6_2_
       RET        
       
K6_3_: 
        CLR P0.1      ;3 
        ACALL YSH01S
       SETB P0.1       
       ACALL YSH09S
       JNB P2.7,DIAN
       AJMP K6_3_
       RET        

  K6_3: CLR P0.0    ;4
      ACALL YSH05S
      SETB P0.0       
      ACALL YSH05S
      AJMP DIAN

      RET     
          
  K6_4: CLR P0.0       ;5
      ACALL YSH03S
      SETB P0.0       
      ACALL YSH03S
      AJMP DIAN
      RET     
          
  K6_5:             ;6
       CLR  P0.0
       ACALL YSH01S
       SETB P0.0       
       ACALL YSH01S
       AJMP DIAN
       RET    
           
  K5: CLR P0.0     ;7
      ACALL YSH09S
      SETB P0.0       
      ACALL YSH03S
      AJMP DIAN
      RET   
      
  K4:  CLR P0.0       ;1[H]
      ACALL YSH09S
      SETB P0.0       
      ACALL YSH01S
       AJMP DIAN
       RET    
       
 K4_2:CLR P0.0       ;2[H]
      ACALL YSH08S
      SETB P0.0       
      ACALL YSH01S
       AJMP DIAN
       RET        
       
 K4_3:CLR P0.0       ;3[H]
      ACALL YSH07S
      SETB P0.0       
      ACALL YSH01S
      AJMP DIAN
       RET            
       
       
       
  ;-------------------------------------     
      
  K7: CLR P0.0
      ACALL YSH0AS
      SETB P0.0       
      ACALL YSH02S
      AJMP DIAN
;      DJNZ J0,K7
      RET
       
  ;*----------------------------       
     
      
  K7_: CLR P0.0
      ACALL YSH03S
      SETB P0.0       
      ACALL YSH03S
      AJMP DIAN

      RET     
                 
  K8: CLR P0.0
      ACALL YSH04S
      SETB P0.0       
      ACALL YSH02S
      AJMP DIAN

      RET 
      
  K9: CLR P0.0
      ACALL YSH01S
      SETB P0.0       
      ACALL YSH01S
      AJMP DIAN

      RET          
       
   K1: CLR P0.0
      ACALL YSH04S
      SETB P0.0       
      ACALL YSH06S

     AJMP DIAN
       RET 
       
  K2: CLR P0.0
      ACALL YSH03S
      SETB P0.0       
      ACALL YSH06S

     AJMP DIAN
      RET
  K0_:SETB  P0.0
       ACALL YSH05S
       SETB P0.0       
       ACALL YSH05S
       AJMP DIAN

       RET
       
   K4_: CLR P0.0
      ACALL YSH06S
      SETB P0.0       
      ACALL YSH07S

       AJMP DIAN
       RET
           
      
  K3: CLR P0.0
      ACALL YSH06S
      SETB P0.0       
      ACALL YSH08S

    AJMP DIAN
       RET        
      
 ;延时子程序      
  YSH2S:  MOV R3,#01H
  LOOP2:  MOV R4,#028H
  LOOP21: MOV R5,#06AH
  XHD3:   DJNZ R5,XHD3
          DJNZ R4,LOOP21
          DJNZ R3,LOOP2
          RET
  
  YSH3S:  MOV R3,#01H
  LOOP3:  MOV R4,#028H
  LOOP31: MOV R5,#03AH
  XHD4:   DJNZ R5,XHD4
          DJNZ R4,LOOP31
          DJNZ R3,LOOP3
          RET        
          
  YSH4S:  MOV R3,#01H
  LOOP4:  MOV R4,#010H
  LOOP41: MOV R5,#03AH
  XHD5:   DJNZ R5,XHD5
          DJNZ R4,LOOP41
          DJNZ R3,LOOP4
          RET      
            
  YSH5S:  MOV R3,#01H
  LOOP5:  MOV R4,#005H
  LOOP51: MOV R5,#03AH
  XHD6:   DJNZ R5,XHD6
          DJNZ R4,LOOP51
          DJNZ R3,LOOP5
          RET     
          
  YSH01S:  MOV R3,#01H
  LOOP01:  MOV R4,#01H
  LOOP011: MOV R5,#03AH
  XHD01:   DJNZ R5,XHD01
          DJNZ R4,LOOP011
          DJNZ R3,LOOP01
          RET                
 
   
          
  YSH02S:  MOV R3,#01H
  LOOP02:  MOV R4,#01H
  LOOP021: MOV R5,#04AH
  XHD02:   DJNZ R5,XHD02
          DJNZ R4,LOOP021
          DJNZ R3,LOOP02
          RET         
 
  YSH03S:  MOV R3,#01H
  LOOP03:  MOV R4,#01H
  LOOP031: MOV R5,#05AH
  XHD03:   DJNZ R5,XHD03
          DJNZ R4,LOOP031
          DJNZ R3,LOOP03
          RET   
  YSH04S:  MOV R3,#01H
  LOOP04:  MOV R4,#01H
  LOOP041: MOV R5,#06AH
  XHD04:   DJNZ R5,XHD04
          DJNZ R4,LOOP041
          DJNZ R3,LOOP04
          RET   
  YSH05S:  MOV R3,#01H
  LOOP05:  MOV R4,#01H
  LOOP051: MOV R5,#07AH
  XHD05:   DJNZ R5,XHD05
          DJNZ R4,LOOP051
          DJNZ R3,LOOP05
          RET 
          
  YSH06S:  MOV R3,#01H
  LOOP06:  MOV R4,#01H
  LOOP061: MOV R5,#08AH
  XHD06:   DJNZ R5,XHD06
          DJNZ R4,LOOP061
          DJNZ R3,LOOP06
          RET       
  
  YSH07S:  MOV R3,#01H
  LOOP07:  MOV R4,#03H
  LOOP071: MOV R5,#03AH
  XHD07:   DJNZ R5,XHD07
          DJNZ R4,LOOP071
          DJNZ R3,LOOP07
          RET  
  
  YSH08S:  MOV R3,#01H
  LOOP08:  MOV R4,#05H
  LOOP081: MOV R5,#03AH
  XHD08:   DJNZ R5,XHD08
          DJNZ R4,LOOP081
          DJNZ R3,LOOP08
          RET 
          
  YSH09S:  MOV R3,#01H
  LOOP09:  MOV R4,#07H
  LOOP091: MOV R5,#04AH
  XHD09:   DJNZ R5,XHD09
          DJNZ R4,LOOP091
          DJNZ R3,LOOP09
          RET   
             
  YSH0AS:  MOV R3,#01H
  LOOP0A:  MOV R4,#07H
  LOOP0A1: MOV R5,#05AH
  XHD0A:   DJNZ R5,XHD0A
          DJNZ R4,LOOP0A1
          DJNZ R3,LOOP0A
          RET            

  YSH0BS:  MOV R3,#01H
  LOOP0B:  MOV R4,#08H
  LOOP0B1: MOV R5,#05AH
  XHD0B:   DJNZ R5,XHD0B
          DJNZ R4,LOOP0B1
          DJNZ R3,LOOP0B
          RET             
                      
  YSH0CS:  MOV R3,#01H
  LOOP0C:  MOV R4,#09H
  LOOP0C1: MOV R5,#05AH
  XHD0C:   DJNZ R5,XHD0C
          DJNZ R4,LOOP0C1
          DJNZ R3,LOOP0C
          RET    
                 
  YSH0DS:  MOV R3,#01H
  LOOP0D:  MOV R4,#0AH
  LOOP0D1: MOV R5,#05AH
  XHD0D:   DJNZ R5,XHD0D
          DJNZ R4,LOOP0D1
          DJNZ R3,LOOP0D
          RET           
            
  YSH0ES:  MOV R3,#01FH
  LOOP0E:  MOV R4,#0FFH
  LOOP0E1: MOV R5,#05AH
  XHD0E:   DJNZ R5,XHD0E
          DJNZ R4,LOOP0E1
          DJNZ R3,LOOP0E
          RET  
          
  YSH0FS:  MOV R3,#00AH
  LOOP0F:  MOV R4,#0ACH
  LOOP0F1: MOV R5,#05AH
  XHD0F:   DJNZ R5,XHD0F
          DJNZ R4,LOOP0F1
          DJNZ R3,LOOP0F
          RET  
          
  YSH0GS:  MOV R3,#00FH
  LOOP0G:  MOV R4,#0AFH
  LOOP0G1: MOV R5,#0AAH
  XHD0G:   DJNZ R5,XHD0G
          DJNZ R4,LOOP0G1
          DJNZ R3,LOOP0G
          RET     
                                                    
          END

⌨️ 快捷键说明

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