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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6792|回復(fù): 4
上一主題 下一主題
收起左側(cè)

基于51單片機(jī)控制的輪式循跡小車設(shè)計(jì)資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:470939 發(fā)表于 2019-1-21 15:41 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
本帖最后由 一寸灰 于 2019-1-30 12:38 編輯

●這里的循跡是指小車在白色地面上 沿著黑線走;
●傳感器利用不同顏色的物體表面有不同反射性的特點(diǎn):白色地面發(fā)生漫反射,黑色則被吸收。
小車的組成結(jié)構(gòu)
• 硬件部分
紅外傳感器
驅(qū)動*2
杜邦線*若干
51最小系統(tǒng)*1
螺絲卡簧固定片亞克力板底盤
• 軟件部分:
keil軟件所寫的c語言程序,控制51單片機(jī)


傳感器:
在小車行駛過程中傳感器不斷地向地面發(fā)射紅外光,紅外光遇到白色地板發(fā)生漫反射,反射光被傳感器的接收管接受;遇到黑色紅外光會被吸收 單片機(jī)以此確定黑線的位置來控制小車的行走路線。循跡51最小系統(tǒng)原理圖:



因?yàn)樗玫腖298N驅(qū)動模塊上有5V穩(wěn)壓端,所以最小系統(tǒng)上面可以不需要穩(wěn)壓電路,直接用驅(qū)動供電即可。

下面是可以簡單循跡的源代碼:
#include <reg52.h>
#include "include.h"

unsigned char pwm_val =0;//變量定義
unsigned char val_left =15;// 左電機(jī)占空比N/20 //速度調(diào)節(jié)變量 0-20。。。0最小,20最大  
bit PWM_ON=1;//電機(jī)PWM開關(guān)

/***************PWM電機(jī)轉(zhuǎn)速***************/         

void pwm_moto(void)
{  
     if(PWM_ON)
     {
          if(pwm_val <= val_left)
              {                          
                               
                                 if(LIN1==1&&LIN2==1&&RIN1==1&&RIN2==1)
                             {  LOUT1 = 0  ;LOUT2 =  1 ;ROUT1 = 1 ;ROUT2 =  0        ;}                                                       
                                else if(LIN1==0&&LIN2==1&&RIN1==1&&RIN2==1)
                              {  LOUT1 = 1  ;LOUT2 = 0  ;ROUT1 = 1 ;ROUT2 =  0        ;}//快左拐
                          else if(LIN1==0&&LIN2==0&&RIN1==1&&RIN2==1)
                                        {  LOUT1 = 1  ;LOUT2 = 0  ;ROUT1 = 1 ;ROUT2 =  0        ;}//快左拐
                                else if(LIN1==1&&LIN2==0&&RIN1==1&&RIN2==1)
                                        {  LOUT1 = 0 ;LOUT2 = 0  ;ROUT1 = 1 ;ROUT2 =  0        ;}//慢左拐
                                else if(LIN1==1&&LIN2==1&&RIN1==0&&RIN2==1)
                                        CarTurnRight_Low();//慢右拐
                                else if(LIN1==1&&LIN2==1&&RIN1==1&&RIN2==0)
                                        {  LOUT1 = 0  ;LOUT2 = 1  ;ROUT1 = 0 ;ROUT2 =  1        ;}//快右拐
                                                else if(LIN1==0&&LIN2==0&&RIN1==1&&RIN2==1)
                                        {  LOUT1 = 0  ;LOUT2 = 1  ;ROUT1 = 0 ;ROUT2 =  1        ;}//快右拐
                                else if((LIN1==0&&LIN2==0&&RIN1==1&&RIN2==0)||(LIN1==0&&LIN2==1&&RIN1==0&&RIN2==1)||(LIN1==1&&LIN2==0&&RIN1==0&&RIN2==1))
                                {  LOUT1 = 0  ;LOUT2 =  1 ;ROUT1 = 1 ;ROUT2 =  0        ;}
              }
              else
              {
                   LOUT1 = 0  ;LOUT2 = 0  ;ROUT1 = 0 ;ROUT2 =  0        ;
          }
          if(pwm_val>=20)
                      pwm_val=0;
     }
     else   
     {
         LOUT1 = 0  ;LOUT2 = 0  ;ROUT1 = 0 ;ROUT2 =  0        ;
     }
}

void main()
{
        P2=0X00;    //關(guān)電機(jī)       
//        delay(1000);

        TMOD=0X01;
    TH0= 0XFC;//0xFF;//0.25ms 定時//0XFC;  //1ms定時
    TL0= 0X66;//0x1A;//0X66;
    TR0= 1;
    ET0= 1;
        EA = 1;            //開總中斷
        while(1)        //無限循環(huán)  無黑線為零全亮0 有黑線燈滅為一
        {  //作用當(dāng)為直道時 無調(diào)速即全速前進(jìn)   彎道時有調(diào)速
                if(LIN1==0&&LIN2==0&&RIN1==0&&RIN2==0)
                        {PWM_ON = 0; CarGoAhead();}                                                               
                else
                        {PWM_ON = 1;}
        }
}

//TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號
void timer0()interrupt 1
{
     TH0=0XFC;          //1Ms定時
         TL0=0X66;
         pwm_val++;
         pwm_moto();
}


//定義小車光電模塊輸入IO口
sbit LIN1 = P1^0;         //左循跡紅外傳感器
sbit LIN2 = P1^1;
sbit RIN1 = P1^2;         //右循跡紅外傳感器
sbit RIN2 = P1^3;

//定義小車電機(jī)驅(qū)動模塊輸出IO口
sbit LOUT1 = P2^0;//LIN1 LIN3  IN1 IN2 電機(jī)1的轉(zhuǎn)速和方向
sbit LOUT2 = P2^1;//LIN2 LIN4  IN3 IN4 電機(jī)2的轉(zhuǎn)速和方向
sbit ROUT1 = P2^2;//RIN1 RIN3
sbit ROUT2 = P2^3;//RIN2 RIN4

//#define Left_moto_go      {LOUT1 = 0,LOUT2 = 1;}   //左邊電機(jī)正轉(zhuǎn)
//#define Left_moto_back    {LOUT1 = 1,LOUT2 = 0;}   //左邊電機(jī)反轉(zhuǎn)
//#define Left_moto_Stop    {LOUT1 = 0,LOUT2 = 0;}   //左邊電機(jī)停轉(zhuǎn)

//#define Right_moto_go     {ROUT1 = 1,ROUT2 = 0;}   //右邊電機(jī)正轉(zhuǎn)
//#define Right_moto_back   {ROUT1 = 0,ROUT2 = 1;}   //右邊電機(jī)反轉(zhuǎn)
//#define Right_moto_Stop   {ROUT1 = 0,ROUT2 = 0;}   //右邊電機(jī)停轉(zhuǎn)

//void delay(unsigned int xms)                               
//{
//    unsigned int i,j;
//        for(i=xms;i>0;i--)                      //i=xms即延時約xms毫秒
//    for(j=112;j>0;j--);
//}

void CarGoAhead(void)//快進(jìn)(P1=0000 1010  P1=0x0A)
{
//        Left_moto_go;  
//        Right_moto_go;
LOUT1 = 0  ;
LOUT2 = 1  ;
ROUT1 = 1 ;
ROUT2 =  0        ;
}

//void CarBack(void)//快退(P1=0000 0101  P1=0x05)
//{
//        Left_moto_back;
//        Right_moto_back;
//}

void CarTurnLeft_Low(void)//慢左拐(P1=0000 1000  P1=0x08)
{
//        Left_moto_Stop;
//        Right_moto_go;
LOUT1 = 0  ;
LOUT2 = 0  ;
ROUT1 = 1 ;
ROUT2 =  0        ;
}

void CarTurnLeft_High(void)//快左拐(P1=0000 1001  P1=0x09)
{
//        Left_moto_back;
//        Right_moto_go;
LOUT1 = 1  ;
LOUT2 = 0  ;
ROUT1 = 1 ;
ROUT2 =  0        ;
}

void CarTurnRight_Low(void)//慢右拐(P1=0000 0010  P1=0x02)
{
//        Left_moto_go;
//        Right_moto_Stop;
LOUT1 = 0  ;
LOUT2 = 1  ;
ROUT1 = 0 ;
ROUT2 =  0        ;
}

void CarTurnRight_High(void)//快右拐(P1=0000 0110  P1=0x06)
{
//        Left_moto_go;
//        Right_moto_back;
        LOUT1 = 0  ;
LOUT2 = 1  ;
ROUT1 = 0 ;
ROUT2 =  1        ;
}



0.png (87.85 KB, 下載次數(shù): 158)

0.png

0.png (57.93 KB, 下載次數(shù): 136)

0.png

51循跡.pdf

1.72 MB, 下載次數(shù): 46, 下載積分: 黑幣 -5

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2019-1-25 03:23 | 只看該作者
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復(fù)

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
地板
ID:436177 發(fā)表于 2019-3-24 09:13 | 只看該作者
店家,能不能打個包?
回復(fù)

使用道具 舉報

5#
無效樓層,該帖已經(jīng)被刪除
6#
ID:541789 發(fā)表于 2019-5-19 00:06 來自觸屏版 | 只看該作者
師父。。。^O^
回復(fù)

使用道具 舉報

7#
ID:470939 發(fā)表于 2019-5-20 20:14
好的好的好的

智能循跡小車.zip

3.32 MB, 下載次數(shù): 0, 下載積分: 黑幣 -5

8#
ID:614922 發(fā)表于 2019-9-27 19:13 | 只看該作者
回復(fù)

使用道具 舉報

9#
ID:640404 發(fā)表于 2019-11-13 17:09
可以微信教我嗎,我可以給報酬,13994869353;好多問題想請教

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

本版積分規(guī)則

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

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

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