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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

萌新的藍牙控制小車程序制作

[復制鏈接]
跳轉到指定樓層
樓主
ID:254430 發表于 2018-3-4 16:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
嘗試做了下,應該說模仿制作了個關于藍牙控制的小車避障,還在細化

單片機源程序如下:
  1. #include<reg51.h>
  2. #include<math.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar Buffer[4] = {0}; //從串口接收的數據
  6. uint i,j;
  7. sbit ENA=P1^5; /* L298的Enable A */
  8. sbit ENB=P1^0; /* L298的Enable B */
  9. sbit IN1=P1^4; /* L298的Input 1 */
  10. sbit IN2=P1^3; /* L298的Input 2 */
  11. sbit IN3=P1^2; /* L298的Input 3 */
  12. sbit IN4=P1^1; /* L298的Input 4 */
  13. sbit ISS=P2^1;/*紅外傳感信號接收口*/
  14. uchar a=20;
  15. uchar t=0; /* 中斷計數器 */
  16. uchar m1=0; /* 電機1速度值 */
  17. uchar m2=0; /* 電機2速度值 */
  18. uchar tmp1,tmp2; /* 電機當前速度值 */

  19. /****************************************延時程序 Delay_1ms()******************************************/
  20. void Delay_1ms(uint i)//1ms延時
  21. {
  22.                 uchar x,j;
  23.                 for(j=0;j<i;j++)
  24.                 for(x=0;x<=148;x++);
  25. }

  26. /********************************************************************
  27. * 名稱 : Init()
  28. * 功能 : 初始化,晶振11.0592,波特率9600,使串口中斷,同時定時器0控制PWM
  29. ***********************************************************************/
  30. void Init(void)
  31. {
  32.         TMOD = 0x22; //8 位自動重裝計數
  33.         PCON = 0x00;
  34.         SCON = 0x50;//串行口控制寄存器 SM1=1,SM0=0方式一波特率可變
  35.         TH0=0x9b;
  36.         TL0=0x9b;
  37.         TH1= 0xFd; //設置波特率 9600
  38.         TL1= 0xFd;
  39.         TR1=1; //啟動定時器1
  40.         ET0=1;
  41.         TR0=1;
  42.         ES = 1; //開串口中斷
  43.         EA = 1; //開總中斷
  44. }
  45. void motorL( char speed)
  46. {         m1=abs(speed); /* 取速度的絕對值 */
  47.         if(speed>0)
  48.                 {
  49.                    IN1=0;           //正轉
  50.                    IN2=1;
  51.                  }
  52.      else
  53.            {  
  54.               IN1=1;
  55.                      IN2=0;        //倒轉
  56.                        

  57.                  }  
  58. }
  59. void motorR( char speed)
  60. {
  61.         m2=abs(speed); /* 電機2的速度控制 */
  62.         if(speed>0)
  63.                 {
  64.                   IN3=0;
  65.                   IN4=1;
  66.                  }
  67.         else
  68.                  {       
  69.                   IN3=1;
  70.                   IN4=0;
  71.                  }  
  72. }
  73. void GO(void)

  74.         {       
  75.                 motorL(a);
  76.                 motorR(a);

  77.        
  78.         }
  79. void BACK()
  80.         {       
  81.                 motorL(-20);
  82.                 motorR(-20);

  83.         }
  84. void TL(void)
  85.         {
  86.                 motorL(30);
  87.                 motorR(50);

  88.         }
  89. void TR(void)
  90.         {       
  91.                 motorL(50);
  92.                 motorR(30);

  93.         }

  94. void STOP(void)
  95.         {
  96.                 IN1=1;
  97.                 IN2=1;
  98.                 IN3=1;
  99.                 IN4=1;
  100.         }

  101. void dang1(viod)
  102.    {
  103.      motorL(20);
  104.          motorR(20);

  105.    }
  106. void dang2(viod)
  107.    {
  108.      motorL(30);
  109.          motorR(30);

  110.                    }
  111. void dang3(viod)
  112.    {
  113.      motorL(40);
  114.          motorR(40);

  115.    }
  116. void main()
  117. {
  118.         Delay_1ms(100);
  119.         Init();//初始化


  120.         while(1)
  121.         {
  122.                         switch(Buffer[0])
  123.                         {
  124.                                 case 0X00: STOP(); break;                   

  125.                                 case 0X01:GO(); break;                                

  126.                                 case 0X03: TR(); break;                       

  127.                                 case 0X02:  BACK();break;                       

  128.                                 case 0X04:  TL();  break;            
  129.                                
  130.                                 case 0x05:  dang1();break;                           
  131.                        
  132.                                 case 0x06:  dang2();break;

  133.                                 case 0x07:  dang3();break;
  134.                                
  135.                                 default:break;
  136.                         }
  137.          if(ISS==0)
  138.          {
  139.      motorL(0);
  140.          motorR(0);
  141.          STOP();
  142.            }
  143.         }
  144. }

  145. void Com_Int(void) interrupt 4
  146.         {
  147.        
  148.                  EA = 0;
  149.                 if(RI == 1) //當硬件接收到一個數據時,RI會置位
  150.                 {
  151.                         Buffer[0] = SBUF ;
  152.                         RI = 0;
  153.        
  154.                 }
  155.                 EA = 1;
  156.         }
  157. void timer0() interrupt 1 /* T0中斷服務程序 */
  158.         {
  159.                 if(t==0) /* 1個PWM周期完成后才會接受新數值 */
  160.                 {         tmp1=m1;
  161.                           tmp2=m2;
  162.                 } //這個一開始車子的速度為零
  163.                 if(t<tmp1) ENA=1; else ENA=0; /* 產生電機1的PWM信號 */
  164.                 if(t<tmp2) ENB=1; else ENB=0; /* 產生電機2的PWM信號 */
  165.                 t++;
  166.                 if(t>=50) t=0; /* 1個PWM信號由100次中斷產生 */
  167.         }
復制代碼

下載:
藍牙1.5.rar (25.8 KB, 下載次數: 4)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久国产精品久久 | 精品国产乱码久久久久久蜜柚 | 亚洲精品电影在线 | 国产精品一区二区三区久久 | 亚洲午夜精品一区二区三区他趣 | 亚洲精品日韩在线观看 | 亚洲精品无人区 | 美女福利视频 | av黄色在线 | 亚洲精品福利在线 | 一本一道久久a久久精品蜜桃 | 国产激情毛片 | 国产一区二 | 在线观看亚洲 | 伊人网99 | 久久男女视频 | 91视频在线观看 | 久久久久国产精品免费免费搜索 | 日韩影院在线 | 亚洲国产成人av好男人在线观看 | 亚洲欧美在线观看 | 一区欧美 | 2019精品手机国产品在线 | 九九99靖品| 中文字幕高清在线 | 日韩av成人 | 狠狠干狠狠插 | 国产成人精品免费 | 精国产品一区二区三区四季综 | 日日做夜夜爽毛片麻豆 | 欧美日韩一区在线 | 人人艹人人 | 成人性视频免费网站 | 欧美日韩三级视频 | 色吊丝2288sds中文字幕 | 国产四区 | 欧美一级免费看 | 亚洲成人一级 | 国产成人精品视频 | julia中文字幕久久一区二区 | 黄色一级大片视频 |