欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4418|回復: 8
收起左側

紅外循跡小車程序

[復制鏈接]
ID:283816 發表于 2018-2-12 12:24 | 顯示全部樓層 |閱讀模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char zkb1=0;       //**左邊電機的占空比**//
unsigned char zkb2=0;       //**右邊電機的占空比**//
unsigned char t=0;         //**定時器中斷計數器**//
sbit LSEN2=P2^0;
sbit LSEN1=P2^1;
sbit RSEN1=P2^2;
sbit RSEN2=P2^3;//**傳感器***//
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
sbit ENA=P1^4;
sbit ENB=P1^5;
//**********初始化定時器 中斷***********//
void init()
{   
  TMOD=0x01;   
  TH0=(65536-100)/256;  
  TL0=(65536-100)%256;  
  EA=1;  
  ET0=1;  
  TR0=1;
}
//***********中斷函數+脈寬調制***********//
void timer0() interrupt 1  
{  
  if(t<zkb1)      
    ENA=1;   
  else        
    ENA=0;   
  if(t<zkb2)      
    ENB=1;   
  else      
    ENB=0;      
   t++;   
  if(t>=50)   
   {t=0;}  
}
//******************直行******************//
void qianjin()  
{   
  zkb1=50;   
  zkb2=50;
}
//***************左轉函數1***************//
void turn_left1()  
{   
  zkb1=0;  
  zkb2=50;  
}
//***************左轉函數2***************//
void turn_left2()  
{   
zkb1=0;  
zkb2=50;  
}
//***************右轉函數1***************//  
void turn_right1()  
{   
zkb1=50;   
zkb2=0;  
}  
//***************右轉函數2***************//  
void turn_right2()  
{   
zkb1=50;   
zkb2=0;
}  
//***************循跡函數*****************//  
void xunji()   
{  
  uchar flag;   
  if((RSEN2==1)&&(RSEN1==0)&&(LSEN1==0)&&(LSEN2==1))
       { flag=0;}
//*******直行*******//
  else if((RSEN2==1)&&(RSEN1==1)&&(LSEN1==0)&&(LSEN2==1))
       { flag=1;}  
//***左偏1,右轉***//        
       else if((RSEN2==1)&&(RSEN1==0)&&(LSEN1==1)&&(LSEN2==1))
       { flag=2; }
   //***右偏1,左轉***//
      else if((RSEN2==0)&&(RSEN1==0)&&(LSEN1==0)&&(LSEN2==1))
      { flag=3; }      
   //***右偏2,左轉***//
    else if((RSEN2==1)&&(RSEN1==0)&&(LSEN1==0)&&(LSEN2==0))
       { flag=4;}
   //***左偏2,右轉***//
switch (flag)
       {
  case 0:qianjin();
            break;
  case 1:turn_right1();
            break;
case 2:turn_left1();
            break;
case 3:turn_left2();
            break;  
case 4:turn_right2();
            break;
default: break;
        
              }
  }
//****************主程序****************//
void main()
{   init();  
    zkb1=50;
    zkb2=50;
    while(1)  
    {   
//******給電機加電啟動******//
       IN1=1;
       IN2=0;
       IN3=1;
       IN4=0;
       ENA=1;
       ENB=1;
    while(1)      
   {
      xunji();
//*********尋跡**********//
         }
       }
  }

回復

使用道具 舉報

ID:318112 發表于 2018-6-5 20:43 | 顯示全部樓層
這程序針對的是有四輪的四驅循跡小車的嗎
回復

使用道具 舉報

ID:318112 發表于 2018-6-5 20:44 | 顯示全部樓層
這程序是針對有四輪子的四驅循跡小車嗎
回復

使用道具 舉報

ID:229756 發表于 2018-6-8 21:07 | 顯示全部樓層
嚴yan豆豆 發表于 2018-6-5 20:43
這程序針對的是有四輪的四驅循跡小車的嗎

這個是二驅,p1 口控制電機,感覺有點像用的298橋接的電機

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:383458 發表于 2018-8-6 21:22 | 顯示全部樓層
微笑前行 發表于 2018-6-8 21:07
這個是二驅,p1 口控制電機,感覺有點像用的298橋接的電機

二驅的四路循跡
回復

使用道具 舉報

ID:514746 發表于 2019-5-13 00:18 來自觸屏版 | 顯示全部樓層
請問這是用了幾個L298N
回復

使用道具 舉報

ID:545815 發表于 2019-5-29 15:19 來自觸屏版 | 顯示全部樓層
請問這是用了幾對紅外對管啊?急用,謝謝。
回復

使用道具 舉報

ID:545815 發表于 2019-6-2 19:13 來自觸屏版 | 顯示全部樓層
嚴yan豆豆 發表于 2018-6-5 20:43
這程序針對的是有四輪的四驅循跡小車的嗎

不是,屬于兩個輪的
回復

使用道具 舉報

ID:545815 發表于 2019-6-2 19:15 來自觸屏版 | 顯示全部樓層
Rainson 發表于 2019-5-13 00:18
請問這是用了幾個L298N

根據程序中控制電機的數量是一個驅動
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表