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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1173|回復: 0
打印 上一主題 下一主題
收起左側

單片機藍牙小車程序(4電機兩兩相連 并為兩組)

[復制鏈接]
跳轉到指定樓層
樓主
ID:395765 發表于 2018-11-27 15:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*****************************************************/
/********版權所有:愛電工作室   任先生          **********/
/**********  藍牙小車程序  ************************/
//    接口連接:

//    電機接口(4電機兩兩相連  并為兩組)
//    P0.4和P0.5-----左電機
//    P0.6和P0.7-----右電機
#include <reg52.h>
void UsartConfiguration();
unsigned char num;

sbit zuo1=P0^4;        //定義單片機控制左邊電機的引腳
sbit zuo2=P0^5;        //定義單片機控制左邊電機的引腳
sbit you1=P0^6;//定義單片機控制右邊電機的引腳
sbit you2=P0^7;        //定義單片機控制右邊電機的引腳

void delay(unsigned int i)               
{        unsigned int k;
        for (k=0;k<i;k++);
}

void main()        //主函數
{
UsartConfiguration();        //調用藍牙接受的參數
    while(1)
        {
                if(num == 'q')                //如果藍牙接收到q字母,就執行下面的指令
                {         




                        if(num == 'q')        //前進
                        {                                                               
                                  zuo1=0;
                  zuo2=1;
                  you1=1;
                  you2=0;        //        0 1 1 0                                
                                delay(50);        //如果L298N是接12V的電源,那么馬達的電壓是12v,速度太快了,需要降速
                                
                        }
                }
               
                if(num == 'h')                        //如果藍牙接收到h字母,就執行下面的指令
                {
                        if(num == 'h')        //后退
                        {                                                
                          zuo1=1;
              zuo2=0;
              you1=0;
              you2=1;                        //        1 0 0 1                                                                                        //                1 1 1 1                        上面是低電平,下面是高電平,四個馬達都會向后開
                        delay(50);
                                 
                        }
                }
               
                if(num == 'z')                                        //如果藍牙接收到z字母,就執行下面的指令
                {
                        if(num == 'z')         //原地左轉
                        {                                                        
                          zuo1=1;
              zuo2=0;
              you1=1;
              you2=0;        //1 0 1 0
                    delay(50);        
                        }
                }
                if(num == 'y')                                        //如果藍牙接收到y字母,就執行下面的指令
                {
                        if(num == 'y')        //原地右轉
                        { zuo1=0;
              zuo2=1;
              you1=0;
              you2=1;        //0 1 0 1
                    delay(50);        
                        }
                }
//測試程序
                if(num == 'b')                                        //如果藍牙接收到b字母,就執行下面的指令
                {
                        if(num == 'b')
                        {
                          zuo1=0;  //左轉
              zuo2=1;
              you1=0;
              you2=1;
                        delay(500);         //前進
                          zuo1=0;
              zuo2=1;
              you1=1;
              you2=0;        
                   delay(800);
                                                 }
                }
               
          if(num == 'c')                                        //如果藍牙接收到b字母,就執行下面的指令
                {
                        if(num == 'c')
                        {
                          zuo1=1;  //右轉
              zuo2=0;
              you1=1;
              you2=0;
                        delay(500);         //前進
                          zuo1=0;
              zuo2=1;
              you1=1;
              you2=0;        
                   delay(800);
                                                 }
                }
                if(num == '0')                //停車                        //如果藍牙接收到數字0,就執行下面的指令
                {
                          zuo1=0;
              zuo2=0;
              you1=0;
              you2=0;                        
                }
        }

}

void UsartConfiguration()
{

        SCON=0x50;                //設置為工作方式1               

        TMOD=0x20;                //設置為工作方式2

//        PCON=0x80;                //波特率加倍

        TH1=0xFD;                //計數器初值設置,波特率是4800

        TL1=0xFD;

        ES=1;                        //開中斷

        EA=1;                                                

        TR1=1;                        //開計數器

}

void interrupt_uart() interrupt 4 //using1切換寄存器組到1,進入中斷就要判斷是發送中斷TI,還是接收中斷RI。
{   
    if(TI)  //判斷是否為發送端TI中斷,中斷結束之后,只需發送端清零,表示發送完成。
   {
     TI = 0;
     REN = 1;  // ******允許接收數據。 *******
   }         
   if(RI) //判斷是否為接收端RI中斷,中斷結束之后,只需接收端清零,表示接收完成。
   {
     RI = 0; //只要數據接收端清零,就可以取出數據。
           num = SBUF;         //SBUF取數據            
           SBUF = num;         //*******把數據num從SBUF送出去。************
           REN = 0;        //嚴謹的寫法,發送數據的時候禁止接收數據。
   }
        //發送的時候不接收數據 - ,發送完了再接收數據。            
}

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

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久综合亚洲 | 北条麻妃一区二区三区在线视频 | 在线午夜 | 亚洲一区中文字幕在线观看 | 中文字幕成人免费视频 | 精品二三区 | 黑人精品xxx一区一二区 | 亚州午夜精品 | 欧美一区二区大片 | 日韩免费一二三区 | 成人欧美一区二区三区黑人孕妇 | 色综合久久久久 | 一级毛片视频 | 91精品国产一区二区在线观看 | 国产精品毛片在线 | 综合久久久 | 亚洲国产精品激情在线观看 | 亚洲麻豆| 成人免费在线观看 | 97超碰在线免费 | 黄色网址在线免费观看 | 毛片免费视频 | 国产精品一区二区在线免费观看 | 国产成人免费在线 | 91视频在线网站 | 国产片侵犯亲女视频播放 | 色综合久久久久 | 亚洲一区 中文字幕 | 亚洲国产成人精品女人久久久 | 日韩欧美一级精品久久 | 日韩成人免费视频 | 亚州春色 | 欧美国产视频 | 欧美一区二区三区在线观看 | 亚洲天堂中文字幕 | 精品免费国产一区二区三区四区介绍 | 国产免费一区二区三区 | 性天堂网 | 久久国| 国产一极毛片 | 国产传媒毛片精品视频第一次 |