久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 我有個小車 需要一個超聲波(有云臺) 壁障小車程序 麻煩各位哥哥姐姐咯 [打印本頁]

作者: 17395063853    時間: 2018-1-13 16:08
標題: 我有個小車 需要一個超聲波(有云臺) 壁障小車程序 麻煩各位哥哥姐姐咯
我的單片機用的是C51  小車電機占的IO口 為P2口  前左電機為P1-0(正傳)和P-1(反轉)前右電機P2-2(正轉)和P2-3(反轉) 后左電機P-4(正轉)和P2-5反轉  后右電機P2-6(正轉)和P2-7(反轉)   。 其中(電機  正反轉只需  其中一個為1 另一個為0);
其中 超聲波  輸出口為P1-0口 接收口為P3-2口
  舵機輸出口為P1-1口;

先謝過 各位哥哥姐姐咯   ;需要一個能超聲波壁障的程序    其他程序都不用

作者: 技術求助    時間: 2018-1-13 23:44
我也是初學都 ,
作者: 17395063853    時間: 2018-1-14 17:23
/*****花了  幾天的時間寫出來了   對于我這初學者 還是蠻開心的*************/


#include<reg52.h>
#define car P2
#include <intrins.h>    //nop頭文件
typedef unsigned int u16;
typedef unsigned char u8;
sbit car_0 = P2^0;       //前左電機正轉
sbit car_1 = P2^1;       //前左電機反轉
sbit car_2 = P2^2;       //前右電機正轉
sbit car_3 = P2^3;       //前右電機反轉
sbit car_4 = P2^4;       //后左電機正轉
sbit car_5 = P2^5;       //后左電機反轉
sbit car_6 = P2^6;       /后右電機正轉
sbit car_7 = P2^7;       // 后右電機反轉
sbit trig  = P1^0;       //超聲波輸出口
sbit echo  = P3^2;       //超聲波接收口
sbit dj    = P1^1;       //舵機控制口
u16 time,S,S1,S2,S3,S4,push_val_left,pwm_val_left,timer;
#define Left_moto_go    {car_0=0,car_1=1,car_4=0,car_5=1;}   //左邊兩個電機向前走#define Left_moto_back  {car_0=1,car_1=0,car_4=1,car_5=0;}         //左邊兩個電機向后走#define Left_moto_Stop  {car_0=1,car_1=1,car_4=1,car_5=1;}         //左邊兩個電機停止
#define Right_moto_go   {car_2=0,car_3=1,car_6=0,car_7=1;}         //右邊兩個電機向前走
#define Right_moto_back {car_2=1,car_3=0,car_6=1,car_7=0;}         //右邊兩個電機向后走
#define Right_moto_Stop {car_2=1,car_3=1,car_6=1,car_7=1;}         //右邊兩個電機停止
/************************************************************************/
//前進
void qianj(void)                   //前進
{
        Left_moto_go ;                
        Right_moto_go ;               
}
/************************************************************************/
void hout(void)                                   //后退
{
        Left_moto_back ;        
        Right_moto_back ; }  
/************************************************************************/
//左轉                         
void zuoz(void)
{
        Left_moto_back ;       
        Right_moto_go ;        
//        zxdzz ();                          
}
/************************************************************************/
//右轉
void youz(void)                        
{
        Left_moto_go ;                
        Right_moto_back ;           
//        zxdyz ();                                 
}
/************************************************************************/
//STOP
void tingz(void)                           //停止
{                                                 
        Left_moto_Stop ;                  
        Right_moto_Stop ;        
//        zxdgd ();                       
}
/************************************************************************/
//超聲波發射信號
void StartModule()
{
         trig = 1
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        _nop_();
        trig=0;
}
/***************************************************/
/**************************************************/
void         Conut (void) //計算距離
{
                while(!echo);   
                TR0=1;           
                while(echo);   
                TR0=0;         
                time=TH0*256+TL0
                TH0=0;
                TL0=0;
                S=(time*1.7)/100

}


void COMM( void )         //方向判斷
{

        push_val_left=5;
        timer=0;
        while(timer<=4000);
        StartModule();     
        Conut();           
        S2=S;
       
        push_val_left=23;
        timer=0;
        while(timer<=4000);
        StartModule();     
        Conut();         
        S4=S;
       
        push_val_left=13;   
        timer=0;
        while(timer<=4000);
        StartModule();     
        Conut();         
        S1=S;
       
        if((S2<20)||(S4<20)
        {
                hout();         
                timer=0;
                while(timer<=4000);
        }

        if(S2>S4)
        {
                youz();      
                timer=0;
                while(timer<=4000);
        }
        else
        {
                        zuoz();     
                        timer=0;
                while(timer<=4000);
        }
}


void main (void)
{
          push_val_left =  13;
    car = 0xff;
          TMOD = 0x11;
          TH1 = 0x0FF;
    TL1 = 0x0A4;
          ET1 = 1;
          TR1 = 1;
          TH0 = 0;
    TL0 = 0;
    ET0 = 1;
          EA = 1;
  while(1)
        {        

       
                        if(timer>=1000)
                        {
                                timer = 0;
                                StartModule();
                                Conut();
                                if(S<45)
                                {
                                        hout();
                                        hout();
                                        hout();
                                        tingz();
                                        COMM();
                                }
                                else
                                        if(S>45)
                                        qianj();
                        }
        }


        }

/***************************************************/
///定時器3
void pwmdins()interrupt 3
{

    TH1 = 0x0FF;
    TL1 = 0x0A4;
    timer++;                                       
          pwm_val_left++;                                         
          if(pwm_val_left<=push_val_left)
               dj = 1;
           else
              dj = 0;
           if(pwm_val_left>=200)
              pwm_val_left=0;         
                          

}


避障.zip

39.18 KB, 下載次數: 9






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: aaa国产大片 | 中文字幕免费视频 | 国产成人精品视频在线观看 | 国产一区二区三区在线看 | www.日韩 | 精品久久国产 | 精品久久香蕉国产线看观看亚洲 | 日本久草| 欧美黄视频 | 精品久久久久久久久久久久 | 九九热在线精品视频 | 精品久久中文 | 免费一区| 欧美日韩国产在线 | 在线观看涩涩视频 | 尤物在线 | 精品一区二区三区在线观看国产 | 免费一区二区三区在线视频 | www日韩| 成年网站在线观看 | 久久精品一区 | 在线国产一区二区 | 国产成人精品999在线观看 | 一区二区三区日本 | 草草视频在线免费观看 | 在线免费看黄 | 一二三区在线 | 欧美在线视频一区二区 | 欧美成人专区 | 日日噜噜夜夜爽爽狠狠 | 久久精彩视频 | 日韩精品一区二 | 日韩一区二区在线视频 | 中文字幕成人av | 在线视频亚洲 | av毛片| 国产在线视频一区二区 | 日韩欧美黄色 | 91精品国产一区二区三区蜜臀 | 国产在线精品一区二区 | 欧美精品一区二区三区蜜桃视频 |