找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6251|回復: 10
收起左側

數(shù)據(jù)包格式藍牙控制智能小車程序 自測好用

[復制鏈接]
ID:79544 發(fā)表于 2015-8-18 10:59 | 顯示全部樓層 |閱讀模式
  1. /*******************************************************
  2.         藍牙控制智能小車程序,IO口可自定義
  3.         標準格式
  4.         單片機:STC12C5608AD
  5.         晶振:11,0592M
  6.         整理:蘇義江
  7.         時間:2015-8-10
  8. ********************************************************/
  9. #include<reg52.h>
  10. #define uchar unsigned char
  11. #define uint unsigned int
  12. sbit dir1        =P1^2;//左電機端口方向控制
  13. sbit dir2        =P1^3;//左電機端口方向控制
  14. sbit pwm1        =P1^4;//PWM輸出
  15. sbit dir3        =P1^5;//右電機端口方向控制
  16. sbit dir4        =P1^6;//右電機端口方向控制
  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; //設置波特率 9600
  27.         TL1 = 0xFd;
  28.         TR1 = 1; //啟動定時器1       
  29.         ES = 1; //開串口中斷
  30.         EA = 1; //開總中斷
  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. }
復制代碼


回復

使用道具 舉報

ID:54731 發(fā)表于 2015-8-18 17:45 | 顯示全部樓層
請問樓主:藍牙APP有嗎?那你能共享嗎?還有藍牙模塊是哪一款?
回復

使用道具 舉報

ID:79544 發(fā)表于 2015-8-20 17:14 | 顯示全部樓層
很多我不會發(fā)啊,藍牙模塊用HC-06從機的就行。
回復

使用道具 舉報

ID:79544 發(fā)表于 2015-8-20 21:33 | 顯示全部樓層
南天白云 發(fā)表于 2015-8-18 17:45
請問樓主:藍牙APP有嗎?那你能共享嗎?還有藍牙模塊是哪一款?

上位機APK傳了,你試試看
回復

使用道具 舉報

ID:54731 發(fā)表于 2015-8-23 10:06 | 顯示全部樓層
請問樓主,你資料傳到哪里?我給你郵箱號碼:xiedeyong2008@126.com,謝謝
回復

使用道具 舉報

ID:79544 發(fā)表于 2015-8-30 21:52 | 顯示全部樓層
南天白云 發(fā)表于 2015-8-23 10:06
請問樓主,你資料傳到哪里?我給你郵箱號碼:,謝謝

不會發(fā)啊,我傳到論壇里啦,你好好找找。
回復

使用道具 舉報

ID:92134 發(fā)表于 2015-10-16 18:51 | 顯示全部樓層
歇歇分享
回復

使用道具 舉報

ID:162969 發(fā)表于 2017-1-26 16:18 | 顯示全部樓層
騰飛的龍 發(fā)表于 2015-8-20 17:14
很多我不會發(fā)啊,藍牙模塊用HC-06從機的就行。

什么叫從機???
回復

使用道具 舉報

ID:162969 發(fā)表于 2017-1-26 16:20 | 顯示全部樓層
占空比是哪上面的???怎么還有引腳可以插》???/
回復

使用道具 舉報

ID:162969 發(fā)表于 2017-1-26 16:21 | 顯示全部樓層
你這是幾輪驅動???
回復

使用道具 舉報

ID:163526 發(fā)表于 2017-2-5 17:02 來自手機 | 顯示全部樓層
江哥,會寫藍牙智能小車的軟件?
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表