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

標(biāo)題: 藍(lán)牙小車程序_1 [打印本頁(yè)]

作者: 黃晨晨    時(shí)間: 2015-5-16 19:14
標(biāo)題: 藍(lán)牙小車程序_1
#include<reg52.h>//聲明頭文件
#define uchar unsigned char//宏定義
#define uint unsigned int//宏定義

sbit deng=P2^0;//定義車燈的控制引腳
sbit z=P2^1;//定義左轉(zhuǎn)向燈的控制引腳
sbit y=P2^2;//定義右轉(zhuǎn)向燈的引腳
sbit BEEP=P2^3;//定義蜂鳴器的引腳

sbit zuo1=P0^0;//定義控制左邊電機(jī)的單片機(jī)引腳
sbit zuo2=P0^1;//定義控制左邊電機(jī)的單片機(jī)引腳
sbit you1=P0^2;//定義控制右邊電機(jī)的單片機(jī)引腳
sbit you2=P0^3;//定義控制右邊電機(jī)的單片機(jī)引腳
uchar a=0;//定義一個(gè)變量a,用來(lái)讀取串口的數(shù)據(jù)

void delay(uint z)//一個(gè)帶參數(shù)的延時(shí)程序
{
        int i,j;//定義兩個(gè)變量
        for(i=10;i>0;i--)
        for(j=z;j>0;j--);//將參數(shù)z賦值給j
}

void init()//初始化子程序
{
        TMOD=0x20;//設(shè)置定時(shí)器T1為工作方式2
        TH1=0xfd;
        TL1=0xfd;//T1定時(shí)器裝初值
        TR1=1;//啟動(dòng)定時(shí)器T1
        REN=1;//允許串口接收
        SM0=0;
        SM1=1;//設(shè)置串口工作方式1
        EA=1;//開總中斷
        ES=1;//開串口中斷
}

void go1()//前進(jìn)子程序
{
        zuo1=0;
        zuo2=1;//左邊輪子正轉(zhuǎn)
        delay(24);//pwm有用值,越大左邊方向的輪子越快
        zuo1=1;//關(guān)閉左邊輪子

        you1=0;
        you2=1;        //右邊輪子正轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you1=1;//關(guān)閉右邊輪子

        delay(100);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void go2()//前進(jìn)子程序
{
        zuo1=0;
        zuo2=1;//左邊輪子正轉(zhuǎn)
        delay(24);//pwm有用值,越大左邊方向的輪子越快
        zuo1=1;//關(guān)閉左邊輪子

        you1=0;
        you2=1;        //右邊輪子正轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you1=1;//關(guān)閉右邊輪子

        delay(80);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void go3()//前進(jìn)子程序
{
        zuo1=0;
        zuo2=1;//左邊輪子正轉(zhuǎn)
        delay(24);//pwm有用值,越大左邊方向的輪子越快
        zuo1=1;//關(guān)閉左邊輪子

        you1=0;
        you2=1;        //右邊輪子正轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you1=1;//關(guān)閉右邊輪子

        delay(60);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void go4()//前進(jìn)子程序
{
        zuo1=0;
        zuo2=1;//左邊輪子正轉(zhuǎn)
        delay(24);//pwm有用值,越大左邊方向的輪子越快
        zuo1=1;//關(guān)閉左邊輪子

        you1=0;
        you2=1;        //右邊輪子正轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you1=1;//關(guān)閉右邊輪子

        delay(40);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void go5()//前進(jìn)子程序
{
        zuo1=0;
        zuo2=1;//左邊輪子正轉(zhuǎn)
        delay(24);//pwm有用值,越大左邊方向的輪子越快
        zuo1=1;//關(guān)閉左邊輪子

        you1=0;
        you2=1;        //右邊輪子正轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you1=1;//關(guān)閉右邊輪子

        delay(20);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void go6()//前進(jìn)子程序
{
        zuo1=0;
        zuo2=1;//左邊輪子正轉(zhuǎn)
        delay(24);//pwm有用值,越大左邊方向的輪子越快
        zuo1=1;//關(guān)閉左邊輪子

        you1=0;
        you2=1;        //右邊輪子正轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you1=1;//關(guān)閉右邊輪子

        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void hui1()//小車后退的子程序
{
        zuo1=1;
        zuo2=0;//左邊輪子倒轉(zhuǎn)
        delay(23);//pwm有用值,越大左邊方向的輪子越快
        zuo2=1;//關(guān)閉左邊輪子

        you1=1;
        you2=0;        //右邊輪子倒轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you2=1;//關(guān)閉右邊輪子

        delay(100);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void hui2()//小車后退的子程序
{
        zuo1=1;
        zuo2=0;//左邊輪子倒轉(zhuǎn)
        delay(23);//pwm有用值,越大左邊方向的輪子越快
        zuo2=1;//關(guān)閉左邊輪子

        you1=1;
        you2=0;        //右邊輪子倒轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you2=1;//關(guān)閉右邊輪子

        delay(80);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void hui3()//小車后退的子程序
{
        zuo1=1;
        zuo2=0;//左邊輪子倒轉(zhuǎn)
        delay(23);//pwm有用值,越大左邊方向的輪子越快
        zuo2=1;//關(guān)閉左邊輪子

        you1=1;
        you2=0;        //右邊輪子倒轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you2=1;//關(guān)閉右邊輪子

        delay(60);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void hui4()//小車后退的子程序
{
        zuo1=1;
        zuo2=0;//左邊輪子倒轉(zhuǎn)
        delay(23);//pwm有用值,越大左邊方向的輪子越快
        zuo2=1;//關(guān)閉左邊輪子

        you1=1;
        you2=0;        //右邊輪子倒轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you2=1;//關(guān)閉右邊輪子

        delay(40);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}
void hui5()//小車后退的子程序
{
        zuo1=1;
        zuo2=0;//左邊輪子倒轉(zhuǎn)
        delay(23);//pwm有用值,越大左邊方向的輪子越快
        zuo2=1;//關(guān)閉左邊輪子

        you1=1;
        you2=0;        //右邊輪子倒轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you2=1;//關(guān)閉右邊輪子

        delay(20);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}
void hui6()//小車后退的子程序
{
        zuo1=1;
        zuo2=0;//左邊輪子倒轉(zhuǎn)
        delay(23);//pwm有用值,越大左邊方向的輪子越快
        zuo2=1;//關(guān)閉左邊輪子

        you1=1;
        you2=0;        //右邊輪子倒轉(zhuǎn)
        delay(26);//pwm有用值,越大右邊的輪子越快
        you2=1;//關(guān)閉右邊輪子

        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}

void turnleft()//小車左轉(zhuǎn)彎子程序
{
        zuo1=1;
        zuo2=1;//左邊輪子停止轉(zhuǎn)動(dòng)

        you1=0;
        you2=1;        //右邊輪子正轉(zhuǎn)
        delay(24);//pwm有用值,越大右邊的輪子越快
        you1=1;//右邊輪子停止

        delay(100);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
        z=~z;//左轉(zhuǎn)向燈打開
}

void turnright()//小車右轉(zhuǎn)彎子程序
{
        zuo1=0;
        zuo2=1;//左邊輪子正轉(zhuǎn)
        delay(25);//pwm有用值,越大左邊方向的輪子越快
        zuo1=1;//左邊輪子停止

        you1=1;
        you2=1;        //右邊輪子停止
        delay(100);//pwm無(wú)用值,越大,小車跑的越慢
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
        y=~y;//右轉(zhuǎn)向燈打開
}
void down()//停止子程序
{
        zuo1=1;
        zuo2=1;
        you1=1;
        you2=1;        //左右輪全部停止
        z=1;
        y=1;//關(guān)閉轉(zhuǎn)向燈
}


void main()//主程序
{
        init();//調(diào)用初始化子程序
        while(1)//死循環(huán)
        {

                    if(a==0x14||a==0x15||a==0x54||a==0x55||a==0x64||a==0x65)//如果是就前進(jìn)
                        go1();
                        if(a==0x16||a==0x17||a==0x56||a==0x57||a==0x66||a==0x67)//如果是就前進(jìn)
                        go2();
                        if(a==0x18||a==0x19||a==0x58||a==0x59||a==0x68||a==0x69)//如果是就前進(jìn)
                        go3();
                        if(a==0x1a||a==0x1b||a==0x5a||a==0x5b||a==0x6a||a==0x6b)//如果是就前進(jìn)
                        go4();
                        if(a==0x1c||a==0x1d||a==0x5c||a==0x5d||a==0x6c||a==0x6d)//如果是就前進(jìn)
                        go5();
                        if(a==0x1e||a==0x1f||a==0x5e||a==0x5f||a==0x6e||a==0x6f)//如果是就前進(jìn)
                        go6();

                    if(a==0x24||a==0x25||a==0x74||a==0x75||a==0x84||a==0x85)//如果是就后退
                        hui1();
                        if(a==0x26||a==0x27||a==0x76||a==0x77||a==0x86||a==0x87)//如果是就后退
                        hui2();
                        if(a==0x28||a==0x29||a==0x78||a==0x79||a==0x88||a==0x89)//如果是就后退
                        hui3();
                        if(a==0x2a||a==0x2b||a==0x7a||a==0x7b||a==0x8a||a==0x8b)//如果是就后退
                        hui4();
                        if(a==0x2c||a==0x2d||a==0x7c||a==0x7d||a==0x8c||a==0x8d)//如果是就后退
                        hui5();
                        if(a==0x2e||a==0x2f||a==0x7e||a==0x7d||a==0x8e||a==0x8f)//如果是就后退
                        hui6();

                        if(a==0x3f)//如果是0x3f就左轉(zhuǎn)
                        turnleft();

                        if(a==0x4f)//如果是0x4f就右轉(zhuǎn)
                        turnright();

                        if(a==0x00)//如果是0x00就停止
                        down();

                        if(a==0xa0)//如果是0xa0車燈打開
                        deng=0;

                        if(a==0xb0)//如果是0xb0車燈關(guān)閉
                        deng=1;

                        if(a==0xc0)//如果是0xc0蜂鳴器鳴響
                        BEEP=0;
                       
                        if(a==0xd0)//如果是0xd0蜂鳴器關(guān)
                        BEEP=1;
                       
                        else
                        down();

                }       
}       

void chuan() interrupt 4//串口中斷服務(wù)程序
{
        RI=0;//軟件清除串口響應(yīng)
        a=SBUF;//讀取單片機(jī)串口接受的藍(lán)牙模塊發(fā)送的數(shù)據(jù)
}



作者: 386115360    時(shí)間: 2016-10-30 20:12
為什么前進(jìn)后退那里有那么多行的代碼?有什么深刻的用意嗎?
作者: 青春風(fēng)鈴    時(shí)間: 2016-10-30 20:32
這個(gè)好像是我以前發(fā)過(guò)的呢
作者: 青春風(fēng)鈴    時(shí)間: 2016-10-30 20:33
你覺(jué)得好用嗎???
作者: j1994    時(shí)間: 2017-1-26 18:02
我改了下定義,結(jié)果只能前進(jìn),怎么回事
作者: alllove150    時(shí)間: 2017-1-29 13:25
可以很強(qiáng)的
作者: ZZY12345    時(shí)間: 2017-5-15 15:09
不能用,別看了
作者: kk276988160    時(shí)間: 2017-5-16 15:24
思路比較混亂
作者: 而我    時(shí)間: 2017-5-31 18:04

 為什么前進(jìn)后退那里有那么多行的代碼?有什么深刻的用意嗎?
作者: JXN.520    時(shí)間: 2017-6-3 01:47
而我 發(fā)表于 2017-5-31 18:04
 為什么前進(jìn)后退那里有那么多行的代碼?有什么深刻的用意嗎?

帶重力模式
作者: 明庭    時(shí)間: 2018-1-11 17:23
這是兩輪的?




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1