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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7044|回復: 3
打印 上一主題 下一主題
收起左側(cè)

QX-A51智能小車單片機程序源碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:319864 發(fā)表于 2018-5-1 15:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
include <reg52.h> //51頭文件
#include <..\CONFIG\QXA51.h>//QX-A51智能小車配置文件
unsigned char pwm_left_val = 140;//左電機占空比值 取值范圍0-170,0最快
unsigned char pwm_right_val = 150;//右電機占空比值取值范圍0-170 ,0最快
unsigned char pwm_t;//周期

void delay(unsigned int z)//毫秒級延時
{
        unsigned int x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}        
/*小車前進*/
void forward()
{
        left_motor_go; //左電機前進
        right_motor_go; //右電機前進
}
/*小車左轉(zhuǎn)*/
void left_run()
{
        left_motor_stops; //左電機停止
        right_motor_go; //右電機前進        
}
/*小車右轉(zhuǎn)*/
void right_run()
{
        right_motor_stops;//右電機停止
        left_motor_go;    //左電機前進
}

/*PWM控制使能 小車后退*/
void backward()
{
        left_motor_back; //左電機后退
        right_motor_back; //右電機后退        
}
/*PWM控制使能 小車高速右轉(zhuǎn)*/
void right_rapidly()
{
        left_motor_go;
        right_motor_back;        
}

//定時器0中斷
void timer0() interrupt 1
{
        pwm_t++;//周期計時加
        if(pwm_t == 255)
                pwm_t = EN1 = EN2 = 0;
        if(pwm_left_val == pwm_t)//左電機占空比        
                EN1 = 1;               
        if(pwm_right_val == pwm_t)//右電機占空比
                EN2 = 1;                        
}
void keyscan()
{
        for(;;)        //死循環(huán)
        {
                if(key_s2 == 0)// 實時檢測S2按鍵是否被按下
                {
                        delay(5); //軟件消抖
                        if(key_s2 == 0)//再檢測S2是否被按下
                        {
                                while(!key_s2);//松手檢測
                                beep = 0;        //使能有源蜂鳴器
                                delay(200);//200毫秒延時
                                beep = 1;        //關(guān)閉有源蜂鳴器
                                break;                //退出FOR死循環(huán)
                        }
                }
        }        
}

void T0_init()
{
        TMOD |= 0x02;//8位自動重裝模塊
        TH0 = 220;
        TL0 = 220;//11.0592M晶振下占空比最大比值是256,輸出100HZ
        TR0 = 1;//啟動定時器0
        ET0 = 1;//允許定時器0中斷
        EA        = 1;//總中斷允許        
}
void main()
{

        keyscan();//等待按下S2啟動小車
        delay(1000);//延時1秒
        T0_init();//定時器0初始化,產(chǎn)生PWM信號
        while(1)
        {
                //為0 識別障礙物 為1沒有識別到障礙物
                if(left_led2 == 1 && right_led2 == 1)//左右都沒識別到障礙物
                {
                        pwm_left_val = 140;//左電機占空比值 取值范圍0-170,0最快
                        pwm_right_val = 150;//右電機占空比值取值范圍0-170 ,0最快
                        forward();//前進
                }
                if(left_led2 == 1 && right_led2 == 0)//小車右側(cè)識別到障礙物,左轉(zhuǎn)躲避
                {
                        pwm_left_val = 180;//左電機占空比值 取值范圍0-170,0最快
                        pwm_right_val = 110;//右電機占空比值取值范圍0-170 ,0最快
                        left_run();//左轉(zhuǎn)
                        delay(40);//左轉(zhuǎn)40毫秒(實現(xiàn)左小彎轉(zhuǎn))
                }
                if(left_led2 == 0 && right_led2 == 1)//小車左側(cè)識別到障礙物,右轉(zhuǎn)躲避
                {
                        pwm_left_val = 100;//左電機占空比值 取值范圍0-170,0最快
                        pwm_right_val = 180;//右電機占空比值取值范圍0-170 ,0最快
                        right_run();//右轉(zhuǎn)
                        delay(40);//右轉(zhuǎn)40毫秒(實現(xiàn)右小彎轉(zhuǎn))
                }
                if(left_led2 == 0 && right_led2 == 0) //小車左右兩側(cè)都識別到障礙物,后退掉頭
                {
                        pwm_left_val = 150;//左電機占空比值 取值范圍0-170,0最快
                        pwm_right_val = 160;//右電機占空比值取值范圍0-170 ,0最快        
                        backward();//后退
                        delay(100);//后退的時間影響后退的距離。后退時間越長、后退距離越遠。
                        pwm_left_val = 140;//左電機占空比值 取值范圍0-170,0最快
                        pwm_right_val = 150;//右電機占空比值取值范圍0-170 ,0最快
                        right_rapidly();//高速右轉(zhuǎn)
                        delay(180);//延時時間越長,轉(zhuǎn)向角度越大。        
                }               
               
        }
}

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

使用道具 舉報

沙發(fā)
ID:323320 發(fā)表于 2018-5-14 10:14 | 只看該作者
求助LZ,頭文件config/qxa51.h在哪里能找到啊,搜不到這個配置文件的資源
回復

使用道具 舉報

板凳
ID:323313 發(fā)表于 2018-6-27 20:50 | 只看該作者
marrytopic 發(fā)表于 2018-5-14 10:14
求助LZ,頭文件config/qxa51.h在哪里能找到啊,搜不到這個配置文件的資源

我有,你加我qq  2686073741
回復

使用道具 舉報

地板
ID:379643 發(fā)表于 2018-8-26 18:14 | 只看該作者
樓主資料可以分享一下嗎,視頻教程
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区四区三区四 | 97色在线观看免费视频 | 少妇午夜一级艳片欧美精品 | 激情小说综合网 | 精品久久久久国产免费第一页 | 欧美成人在线网站 | 中文字幕视频网 | 亚洲国产一区二区三区 | 国产欧美一区二区三区在线看 | 亚洲成人自拍 | 色www精品视频在线观看 | 一级久久久久久 | 国产999精品久久久影片官网 | 欧美久久电影 | 日韩欧美在线视频 | 欧美成人影院 | 亚洲综合伊人 | 五月天国产 | 国产精品观看 | 亚洲欧美日韩国产 | 国产欧美一区二区三区日本久久久 | 精品伦精品一区二区三区视频 | 国产亚韩 | 亚洲精品免费在线观看 | 91九色在线观看 | 一区二区日本 | 欧美性生活免费 | 在线中文字幕视频 | 久久久久一区 | 日韩黄色小视频 | 欧美成人高清视频 | 91精品一区| 亚洲一区二区在线播放 | 天天操天天干天天爽 | 男女羞羞视频在线看 | 国产一区 在线视频 | 亚洲午夜av久久乱码 | 国产欧美日韩视频 | 欧美在线色视频 | 国产欧美精品一区二区三区 | 精品免费在线 |