標(biāo)題: 數(shù)據(jù)包格式藍(lán)牙控制智能小車(chē)程序 自測(cè)好用 [打印本頁(yè)]

作者: 騰飛的龍    時(shí)間: 2015-8-18 10:59
標(biāo)題: 數(shù)據(jù)包格式藍(lán)牙控制智能小車(chē)程序 自測(cè)好用
  1. /*******************************************************
  2.         藍(lán)牙控制智能小車(chē)程序,IO口可自定義
  3.         標(biāo)準(zhǔn)格式
  4.         單片機(jī):STC12C5608AD
  5.         晶振:11,0592M
  6.         整理:蘇義江
  7.         時(shí)間:2015-8-10
  8. ********************************************************/
  9. #include<reg52.h>
  10. #define uchar unsigned char
  11. #define uint unsigned int
  12. sbit dir1        =P1^2;//左電機(jī)端口方向控制
  13. sbit dir2        =P1^3;//左電機(jī)端口方向控制
  14. sbit pwm1        =P1^4;//PWM輸出
  15. sbit dir3        =P1^5;//右電機(jī)端口方向控制
  16. sbit dir4        =P1^6;//右電機(jī)端口方向控制
  17. int buffer[3];
  18. int rec_flag=0;
  19. /*-------------------------------------------------------------*/
  20. //串口初始化
  21. void UART_Init(void)
  22. {
  23.         TMOD = 0x21;
  24.         PCON = 0x00;
  25.         SCON = 0x50;
  26.         TH1 = 0xFd; //設(shè)置波特率 9600
  27.         TL1 = 0xFd;
  28.         TR1 = 1; //啟動(dòng)定時(shí)器1       
  29.         ES = 1; //開(kāi)串口中斷
  30.         EA = 1; //開(kāi)總中斷
  31. //        IT0=0;
  32. //        EX0=1;

  33. }

  34. /*-------------------------------------------------------------*/
  35. //主函數(shù)
  36. void qianjin()
  37. {
  38.         dir1=0;//方向
  39.         dir2=1;//方向
  40.         pwm1=10;//PWM占空比
  41.         dir3=0;//方向
  42.         dir4=1;//方向
  43.         pwm1=10;//PWM
  44. }
  45. void houtui()
  46. {
  47.         dir1=1;//方向
  48.         dir2=0;
  49.         pwm1=10;//PWM占空比
  50.         dir3=1;
  51.         dir4=0;
  52.         pwm1=10;//PWM
  53. }
  54. void zuozhuan()
  55. {
  56.         dir1=1;
  57.         dir2=0;
  58.         pwm1=10;
  59.         dir3=0;
  60.         dir4=1;
  61.         pwm1=10;
  62. }
  63. void youzhuan()
  64. {
  65.         dir1=0;
  66.         dir2=1;
  67.         pwm1=10;
  68.         dir3=1;
  69.         dir4=0;
  70.         pwm1=10;
  71. }
  72. void stop()//停止子函數(shù)
  73. {
  74.         dir1=0;
  75.         dir2=0;
  76.         pwm1=0;
  77.         dir3=0;
  78.         dir4=0;
  79.        
  80. }
  81. void main(void)
  82. {
  83.         UART_Init(); //初始化串口
  84.         while(1)
  85.         {
  86.                 ;
  87.         }
  88. }

  89. void Communication_Decode(void)
  90. {
  91.         if(buffer[0]==0x00)
  92.         {
  93.                 switch(buffer[1])
  94.                 {
  95.                         case 0x01:qianjin(); return;
  96.                         case 0x02:houtui(); return;
  97.                         case 0x03:zuozhuan(); return;
  98.                         case 0x04:youzhuan(); return;
  99.                         case 0x00:stop(); return;
  100.                         default: return;
  101.                 }
  102.         }
  103.         else
  104.         {
  105.                 return;
  106.         }
  107. }

  108. /*-------------------------------------------------------------*/
  109. //串口接收中斷函數(shù)
  110. void INT_UartRcv(void) interrupt 4
  111. {
  112.         static int i;
  113.        
  114.        
  115.         if(RI==1)
  116.         {
  117.                 RI = 0;
  118.                 if(rec_flag==0)
  119.                 {
  120.        
  121.                         if(SBUF==0xff)
  122.                         {
  123.                                 rec_flag=1;
  124.                                 i=0;
  125.                         }
  126.                 }
  127.                 else
  128.                 {
  129.                         if(SBUF==0xff)
  130.                         {
  131.                                 rec_flag=0;
  132.                                 if(i==3)
  133.                                 {
  134.                                         Communication_Decode();
  135.                                 }
  136.                                 i=0;
  137.                         }
  138.                         else
  139.                         {
  140.                                 buffer[i]=SBUF;
  141.                                 i++;
  142.                         }
  143.                 }
  144.         }
  145.         else
  146.         {
  147.                 TI = 0;
  148.         }
  149. }
復(fù)制代碼



作者: 南天白云    時(shí)間: 2015-8-18 17:45
請(qǐng)問(wèn)樓主:藍(lán)牙APP有嗎?那你能共享嗎?還有藍(lán)牙模塊是哪一款?
作者: 騰飛的龍    時(shí)間: 2015-8-20 17:14
很多我不會(huì)發(fā)啊,藍(lán)牙模塊用HC-06從機(jī)的就行。
作者: 騰飛的龍    時(shí)間: 2015-8-20 21:33
南天白云 發(fā)表于 2015-8-18 17:45
請(qǐng)問(wèn)樓主:藍(lán)牙APP有嗎?那你能共享嗎?還有藍(lán)牙模塊是哪一款?

上位機(jī)APK傳了,你試試看
作者: 南天白云    時(shí)間: 2015-8-23 10:06
請(qǐng)問(wèn)樓主,你資料傳到哪里?我給你郵箱號(hào)碼:xiedeyong2008@126.com,謝謝
作者: 騰飛的龍    時(shí)間: 2015-8-30 21:52
南天白云 發(fā)表于 2015-8-23 10:06
請(qǐng)問(wèn)樓主,你資料傳到哪里?我給你郵箱號(hào)碼:,謝謝

不會(huì)發(fā)啊,我傳到論壇里啦,你好好找找。
作者: moose    時(shí)間: 2015-10-16 18:51
歇歇分享
作者: j1994    時(shí)間: 2017-1-26 16:18
騰飛的龍 發(fā)表于 2015-8-20 17:14
很多我不會(huì)發(fā)啊,藍(lán)牙模塊用HC-06從機(jī)的就行。

什么叫從機(jī)???

作者: j1994    時(shí)間: 2017-1-26 16:20
占空比是哪上面的???怎么還有引腳可以插》???/
作者: j1994    時(shí)間: 2017-1-26 16:21
你這是幾輪驅(qū)動(dòng)???
作者: 追逐繁星    時(shí)間: 2017-2-5 17:02
江哥,會(huì)寫(xiě)藍(lán)牙智能小車(chē)的軟件?




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