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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1680|回復(fù): 0
收起左側(cè)

萌新的藍(lán)牙控制小車程序制作

[復(fù)制鏈接]
ID:254430 發(fā)表于 2018-3-4 16:56 | 顯示全部樓層 |閱讀模式
嘗試做了下,應(yīng)該說模仿制作了個關(guān)于藍(lán)牙控制的小車避障,還在細(xì)化

單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<math.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar Buffer[4] = {0}; //從串口接收的數(shù)據(jù)
  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; /* 中斷計(jì)數(shù)器 */
  16. uchar m1=0; /* 電機(jī)1速度值 */
  17. uchar m2=0; /* 電機(jī)2速度值 */
  18. uchar tmp1,tmp2; /* 電機(jī)當(dāng)前速度值 */

  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 位自動重裝計(jì)數(shù)
  33.         PCON = 0x00;
  34.         SCON = 0x50;//串行口控制寄存器 SM1=1,SM0=0方式一波特率可變
  35.         TH0=0x9b;
  36.         TL0=0x9b;
  37.         TH1= 0xFd; //設(shè)置波特率 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;           //正轉(zhuǎn)
  50.                    IN2=1;
  51.                  }
  52.      else
  53.            {  
  54.               IN1=1;
  55.                      IN2=0;        //倒轉(zhuǎn)
  56.                        

  57.                  }  
  58. }
  59. void motorR( char speed)
  60. {
  61.         m2=abs(speed); /* 電機(jī)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) //當(dāng)硬件接收到一個數(shù)據(jù)時,RI會置位
  150.                 {
  151.                         Buffer[0] = SBUF ;
  152.                         RI = 0;
  153.        
  154.                 }
  155.                 EA = 1;
  156.         }
  157. void timer0() interrupt 1 /* T0中斷服務(wù)程序 */
  158.         {
  159.                 if(t==0) /* 1個PWM周期完成后才會接受新數(shù)值 */
  160.                 {         tmp1=m1;
  161.                           tmp2=m2;
  162.                 } //這個一開始車子的速度為零
  163.                 if(t<tmp1) ENA=1; else ENA=0; /* 產(chǎn)生電機(jī)1的PWM信號 */
  164.                 if(t<tmp2) ENB=1; else ENB=0; /* 產(chǎn)生電機(jī)2的PWM信號 */
  165.                 t++;
  166.                 if(t>=50) t=0; /* 1個PWM信號由100次中斷產(chǎn)生 */
  167.         }
復(fù)制代碼

下載:
藍(lán)牙1.5.rar (25.8 KB, 下載次數(shù): 4)


評分

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

查看全部評分

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频一区二区三区 | 午夜国产 | 成人精品在线观看 | 做a视频| 亚洲自拍偷拍欧美 | 中文区中文字幕免费看 | 亚洲国产精品久久久 | 一区二区成人 | 一区二区在线 | 亚洲国产精品99久久久久久久久 | 欧美日一区二区 | 精品国产欧美一区二区三区不卡 | 久久久久久国产精品 | 精品av | 久久伊人在 | 美女爽到呻吟久久久久 | 做a视频| 亚洲精品一区二区三区蜜桃久 | 最新中文字幕一区 | 日日操夜夜操天天操 | 中文字幕成人网 | 午夜电影网| 久久亚洲天堂 | 日韩欧美不卡 | 欧美在线综合 | 亚洲h视频 | 日本淫视频 | 国产区免费视频 | 成人小视频在线观看 | 国产精品美女www | 日日做夜夜爽毛片麻豆 | www久久国产 | 涩爱av一区二区三区 | 精品国产鲁一鲁一区二区张丽 | 性高湖久久久久久久久aaaaa | 日韩在线成人 | 伊人久久精品一区二区三区 | 日韩成人影院 | 天天综合网天天综合色 | 国产日韩精品一区 | 免费观看www7722午夜电影 |