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

📄 l298控制两电机onlypokou.txt

📁 单片机+l298控制两个电机方向和转速
💻 TXT
字号:
#include <c8051f310.h>	
#include <stdio.h> 
#include <math.h>   #include <Intrins.h>
#include <absacc.h>


sbit sd0 = P0^0;         //PWM,定左轮速度  
sbit sd1 = P0^1;         //
sbit fx0=P0^2;  //电机方向 左
sbit fx1=P0^3;//右
 
           
unsigned j,k,m;

void sysclk(void) //内部晶振
  {
   OSCICL=0x2D; //20MHZ
   OSCICN=0xc2;// 10MHZ
   CLKSEL=0x00;  
  }
void pio(void)    
  {
   P0MDIN=0xff;  
   P0MDOUT=0x03; //1为推挽(开关能力强)必须推挽,开漏没输出0000 0011
   P0SKIP = 0x0fc;         //P0口跳转方式 1111 1100    P0.0 P0.1做PWM (pwm为内部资源用到了不能跳过)

  
   XBR0=0x00;
   XBR1=0xc2;//选择CEX0,CEX1分别为pwm0,pwm1的输出口
 
  }



void pwm(void) //PWM的初始化
 {
  PCA0MD &= ~0x40; 
  PCA0CN=0x40; //允许PCA工作   
  PCA0MD=0x02; //PCA时钟为4分频
  
  PCA0CPM0=0x42; //设置0轮为8位PWM输出  
  PCA0CPL0=0; 
  PCA0CPH0=156;
  
  PCA0CPM1=0x42; //设置1轮为8位PWM输出  
  PCA0CPL1=0; 
  PCA0CPH1=156;

  }

void  delay(m) 
 {
  unsigned i;
  for(i=0;i<200;i++)
  {
    for(j=0;j<m;j++);
	 {_nop_(); _nop_();}
  }

 } 
  




main( )
 {
   PCA0MD &=~0x40;// 关闭
   sysclk();
   pio();
   pwm() ;
   
  fx0=1;//电机转动方向
   sd0=1;
   
   fx1=1;//电机转动方向
  sd1=1;
  while(1)
  {
    fx0=1;
    fx1=1;
    PCA0CPH0=210;
    PCA0CPH1=210;
    delay(500);//两电机慢速向前   
   
   fx0=1;
    fx1=1;
    PCA0CPH0=126;
    PCA0CPH1=126;
    delay(500);//两电机中速向前 

    fx0=1;
    fx1=1;
    PCA0CPH0=0;
    PCA0CPH1=0;
    delay(500);//两电机快速向前   
  

    fx0=1;
    fx1=1;
    PCA0CPH0=255;
    PCA0CPH1=100;
    delay(500);//转弯   
   
     fx0=1;
    fx1=1;
    PCA0CPH0=10;
    PCA0CPH1=10;//快速前进
    delay(500);   
   
    fx0=1;
    fx1=1;
    PCA0CPH0=100;
    PCA0CPH1=255;
    delay(500); //转弯  

   fx0=1;
    fx1=1;
    PCA0CPH0=156;
    PCA0CPH1=156;
    delay(500); //中速前进

   fx0=1;
    fx1=1;
    PCA0CPH0=255;
    PCA0CPH1=255;
    delay(500);//停止  

fx0=0;
    fx1=0;
    PCA0CPH0=156;
    PCA0CPH1=156;
    delay(500); //反向前进 
  
   fx0=0;
    fx1=0;
    PCA0CPH0=255;
    PCA0CPH1=255;
    delay(500);//停止    
   }
   

  
  }

 

⌨️ 快捷键说明

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