找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5483|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

循跡小車代碼及電路圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:340900 發(fā)表于 2018-5-29 20:59 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這個循跡小車的用的是占空比控制速度,如果使用的是舵機。那就將控制速度的代碼換成可以控制舵機轉(zhuǎn)向角度的函數(shù)。不知為什么沒法上傳代碼,那我就發(fā)文字。寫的很簡單,反應(yīng)的話我用的是89C51和12MHz的晶振沒有什么問題。

#include<reg52.h>
# define uint unsigned int
# define uchar unsigned char

sbit ENB=P2^2;   
sbit ENA=P2^5;          
sbit IN1=P2^4;   
sbit IN2=P2^3;          
sbit IN3=P2^0;   
sbit IN4=P2^1;          
sbit right3=P1^0;
sbit right2=P1^1;
sbit right1=P1^2;
sbit middle=P1^3;
sbit left1=P1^4;
sbit left2=P1^5;
sbit left3=P1^6;

uchar zkbENA=0;
uchar zkbENB=0;
uchar t=0;
uchar k=0;

void T0_time() interrupt 1
{
        t++;
        k++;
        if(t<zkbENA)        ENA=1;
        else        ENA=0;
        if(k<zkbENB)        ENB=1;
        else        ENB=0;
        if(k>100)  t=0;k=0;       
        if(t>101)        t=0,k=0;
        TH0=(65536-80)/256;
        TL0=(65536-80)%256;               
  }                                            

  void main()                                               
{  
        IN1=1;
        IN2=0;
        IN3=1;
        IN4=0;
          TMOD=0x01;
          TH0=(65535-100)/256;
          TL0=(65535-100)%256;
          EA=1;
          ET0=1;
          TR0=1;

          while(1)
          {               
        if(middle==0)
                {zkbENB=100;zkbENA=100;}       
        else if(right3==0)
                {zkbENA=0;zkbENB=80;}
        else if(left3==0)
                {zkbENA=80;zkbENB=0;}
        else if(right2==0)
                {zkbENA=20;zkbENB=90;}
        else if(left2==0)
                {zkbENA=90;zkbENB=20;}
        else if(right1==0)
                {zkbENA=70;zkbENB=100;}
        else if(left1==0)
                {zkbENA=100;zkbENB=70;}
        }
}  


如果需要面對更加復(fù)雜的有要求處理速度的情況,建議用機器指令寫

171ECF399448052A56BE6177560791AB_0..jpg (16.21 KB, 下載次數(shù): 54)

171ECF399448052A56BE6177560791AB_0..jpg

BE144D1324B441C145929985620BF15C_0..jpg (24.89 KB, 下載次數(shù): 49)

BE144D1324B441C145929985620BF15C_0..jpg

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表