在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)wifi小車代碼

            51單片機(jī)wifi小車代碼

            作者: 時(shí)間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
            51單片機(jī)wifi小車代碼

            #include

            本文引用地址:http://www.biyoush.com/article/201611/319843.htm

            #include

            #define uchar unsigned char

            #define uint unsigned int

            uchar Buffer =0; //從串口接收的數(shù)據(jù)

            uint i,j;

            uchar flag=0;

            uchar key_stime_counter,hight_votage=15,timeT_counter;

            bit key_stime_ok;

            sbit control_signal=P3^6;

            sbit StatusLight=P2^2;

            sbit MainLight=P2^3;

            /********************************************************************

            * 名稱 : Delay_1ms()

            * 功能 : 延時(shí)子程序,延時(shí)時(shí)間為 1ms * x

            * 輸入 : x (延時(shí)一毫秒的個(gè)數(shù))

            * 輸出 : 無

            ***********************************************************************/

            void Delay_1ms(uint i)//1ms延時(shí)

            {

            uchar x,j;

            for(j=0;j

            for(x=0;x<=148;x++);

            }

            void Turn*****tatusLight()

            {

            StatusLight=0;

            }

            /********************************************************************

            * 名稱 : Com_Int()

            * 功能 : 串口中斷子函數(shù)

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void Com_Int(void) interrupt 4

            {

            EA = 0;

            if(RI == 1) //當(dāng)硬件接收到一個(gè)數(shù)據(jù)時(shí),RI會置位

            {

            Buffer = SBUF-48; //這里減去48是因?yàn)閺碾娔X中發(fā)送過來的數(shù)據(jù)是ASCII碼。

            RI = 0;

            }

            EA = 1;

            }

            /********************************************************************

            * 名稱 : Com_Init()

            * 功能 : 串口初始化,晶振11.0592,波特率9600,使能了串口中斷

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void Com_Init(void)

            {

            TMOD = 0x21;

            PCON = 0x00;

            SCON = 0x50;

            TH1 = 0xFd; //設(shè)置波特率 9600

            TL1 = 0xFd;

            TR1 = 1; //啟動定時(shí)器1

            ES = 1; //開串口中斷

            EA = 1; //開總中斷

            IT0=0;

            EX0=1;

            }

            void TimerInit()

            {

            control_signal=0;

            EA=1; //開總中斷

            ET0=1; //定時(shí)器0中斷允許

            TH0 = 0xFF; //定時(shí)器裝初值

            TL0 = 0xA3;

            TR0=0;

            }

            /********************************************************************

            * 名稱 :Moto_Forward()

            * 功能 : 電機(jī)1、2啟動,都是前進(jìn),整車表現(xiàn)為前進(jìn)。

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void Moto_Forward()

            {

            P1= 0x06;

            Delay_1ms(100);

            }

            /********************************************************************

            * 名稱 :Moto_Backward()

            * 功能 : 電機(jī)1、2啟動,都是后退,整車表現(xiàn)為后退。

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void Moto_Backward()

            {

            P1= 0x05;

            Delay_1ms(100);

            }

            /********************************************************************

            * 名稱 :Moto_TurnLeft()

            * 功能 : 電機(jī)1后退,電機(jī)2前進(jìn),整車表現(xiàn)為左轉(zhuǎn)。

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void Moto_TurnLeft()

            {

            P1= 0x09;

            Delay_1ms(100);

            }

            /********************************************************************

            * 名稱 :Moto_TurnRight()

            * 功能 : 電機(jī)1前進(jìn),電機(jī)2后退,整車表現(xiàn)為右轉(zhuǎn)。

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void Moto_TurnRight()

            {

            P1= 0x0A;

            Delay_1ms(100);

            }

            /********************************************************************

            * 名稱 :Moto_Stop()

            * 功能 : 電機(jī)1停止,電機(jī)2停止,整車表現(xiàn)為停止。

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void Moto_Stop()

            {

            P1= 0x00;

            Delay_1ms(100);

            }

            /********************************************************************

            * 名稱 :SteerEngineTurningUp()

            * 功能 : 舵機(jī)向上轉(zhuǎn)。

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void SteerEngineTurningUp()

            {

            ET0=1;

            TR0=1;

            Delay_1ms(40);

            hight_votage-=1;

            if(hight_votage<5)

            hight_votage=5;

            }

            /********************************************************************

            * 名稱 :SteerEngineTurningDown()

            * 功能 : 舵機(jī)向下轉(zhuǎn)。

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void SteerEngineTurningDown()

            {

            ET0=1;

            TR0=1;

            Delay_1ms(40);

            hight_votage+=1;

            if(hight_votage>20)

            hight_votage=20;

            }

            /********************************************************************

            * 名稱 : SteerEngine()

            * 功能 : 舵機(jī)PWM中斷

            * 輸入 : 無

            * 輸出 : 無

            ***********************************************************************/

            void SteerEngine() interrupt 1

            {

            TH0=0xFF;

            TL0=0xA3;

            if (++key_stime_counter>=200)

            {

            key_stime_counter=0;

            control_signal=1;

            key_stime_ok = 1; // 20ms到

            timeT_counter=0;

            }

            if (key_stime_ok&&(++timeT_counter>=hight_votage))

            {

            key_stime_ok=0;

            timeT_counter=0;

            control_signal=0; // hight_votage*0.1ms到

            }

            }

            void main()

            {

            MainLight=0;

            Delay_1ms(200);

            Com_Init();//串口初始化

            TimerInit();//舵機(jī)初始化

            while(1)

            {

            switch (Buffer) //根據(jù)鍵值不同,執(zhí)行不同的內(nèi)容

            {

            case 0:

            Moto_Stop();

            break;

            case 1:

            Moto_Forward();

            break;

            case 2:

            Moto_Backward();

            break;

            case 3:

            Moto_TurnLeft();

            break;

            case 4:

            Moto_TurnRight();

            break;

            case 5:

            SteerEngineTurningUp();

            break;

            case 6:

            SteerEngineTurningDown();

            break;

            case 8:

            MainLight=1;

            break;

            case 9:

            MainLight=0;

            break;

            default : TR0=0;TR2=0;

            break;

            }

            }

            }

            //紅外壁障

            void extern_int0(void) interrupt 0 using 0

            {

            EX0=0;

            Moto_TurnLeft();

            Buffer=0;

            EX0=1;

            IE0=0;

            }



            關(guān)鍵詞: 51單片機(jī)wifi小車代

            評論


            技術(shù)專區(qū)

            關(guān)閉