標題: 51單片機讀取陀螺儀GPS模塊串口MPU6050模塊的實例程序 [打印本頁]

作者: leva    時間: 2015-12-2 21:28
標題: 51單片機讀取陀螺儀GPS模塊串口MPU6050模塊的實例程序
這是我給我的小車上寫的陀螺儀GPS模塊源程,用的是導航模塊 JY-901。

QQ圖片20151202212009.png (29.72 KB, 下載次數(shù): 228)

原理圖

原理圖

陀螺儀GPS模塊源程序.rar

50.97 KB, 下載次數(shù): 182, 下載積分: 黑幣 -5

源程序


作者: admin    時間: 2015-12-2 22:22
樓主的程序:
  1. //51單片機讀取串口MPU6050模塊的實例程序
  2. //            BY:君悅智控
  3. //測試平臺:
  4. //                51單片機開發(fā)板YL-39,芯片STC89C52
  5. //注意:
  6. //    1.51單片機的下載串口只有一個,同時又需要接MPU6050,因此在下載的時候需要拔下MPU6050的TX線,等程序下載成功以后再插上。
  7. //接線方法:
  8. //     51單片機                  JY901模塊
  9. //                +5V                ----        VCC
  10. //                TX                (不接)        RX
  11. //                RX                ----        TX
  12. //                GND                ----        GND
  13. ///////////////////////////////////////////////////////
  14. /*預處理命令*/
  15. #include <reg52.h>                   //包含單片機寄存器的頭文件
  16. #include <stdio.h>
  17. #include "JY901.h"

  18. void delay_ms(unsigned short i)
  19. {
  20. unsigned short k;
  21.         while(i--)
  22.         for (k=0;k<100;k++);
  23. }

  24. void main(void)
  25. {
  26.         unsigned char i=0;
  27.         TMOD=0x20;                   //用定時器設置串口波特率           9600
  28.         TH1=0xfd;
  29.         TL1=0xfd;
  30.         TR1=1;
  31.         TI=1;
  32.         REN=1;          //串口初始化
  33.         SM0=0;
  34.         SM1=1;
  35.         EA=1;           //開啟總中斷
  36.         ES=1;
  37.         printf("STC89S52 Read JY901 module demo\r\n");
  38.         printf("-------------BY:JYZK-------------\r\n");
  39.         printf("---http://RobotControl.taobao.com---\r\n");
  40.         while(1)
  41.         {
  42.                 delay_ms(10);
  43.                 printf("Time:20%d-%d-%d %d:%d:%.3f\r\n",(short)stcTime.ucYear,(short)stcTime.ucMonth,
  44.                                 (short)stcTime.ucDay,(short)stcTime.ucHour,(short)stcTime.ucMinute,(float)stcTime.ucSecond+(float)stcTime.usMiliSecond/1000);

  45.                 printf("Acc:%.3f %.3f %.3f\r\n",(float)stcAcc.a[0]/32768*16,(float)stcAcc.a[1]/32768*16,(float)stcAcc.a[2]/32768*16);

  46.                 printf("Gyro:%.3f %.3f %.3f\r\n",(float)stcGyro.w[0]/32768*2000,(float)stcGyro.w[1]/32768*2000,(float)stcGyro.w[2]/32768*2000);

  47.                 printf("Angle:%.3f %.3f %.3f\r\n",(float)stcAngle.Angle[0]/32768*180,(float)stcAngle.Angle[1]/32768*180,(float)stcAngle.Angle[2]/32768*180);

  48.                 printf("Mag:%d %d %d\r\n",stcMag.h[0],stcMag.h[1],stcMag.h[2]);

  49.                 printf("Pressure:%lx Height%.2f\r\n",stcPress.lPressure,(float)stcPress.lAltitude/100);

  50.                 printf("DStatus:%d %d %d %d\r\n",stcDStatus.sDStatus[0],stcDStatus.sDStatus[1],stcDStatus.sDStatus[2],stcDStatus.sDStatus[3]);

  51.                 printf("Longitude:%ldDeg%.5fm Lattitude:%ldDeg%.5fm\r\n",stcLonLat.lLon/10000000,(double)(stcLonLat.lLon % 10000000)/1e5,stcLonLat.lLat/10000000,(double)(stcLonLat.lLat % 10000000)/1e5);

  52.                 printf("GPSHeight:%.1fm GPSYaw:%.1fDeg GPSV:%.3fkm/h\r\n\r\n",(float)stcGPSV.sGPSHeight/10,(float)stcGPSV.sGPSYaw/10,(float)stcGPSV.lGPSVelocity/1000);
  53.                        
  54.         }       
  55. }
  56.           
  57. void ser() interrupt 4
  58. {
  59.         if (RI)
  60.         {          
  61.                 RI=0;
  62.                  CopeSerialData(SBUF);            
  63.           }
  64.           
  65.    
  66. }
復制代碼

作者: chiangky    時間: 2016-8-19 10:13
不錯。好東西
作者: 詩和遠方1515    時間: 2017-1-8 23:06
謝謝樓主分享資料,很不錯,正在學習
作者: 進擊的生菜    時間: 2017-7-28 20:42
二樓好人一生平安
作者: binshuihuo    時間: 2017-7-29 16:11
謝謝樓主分享資料,很不錯,正在學習
作者: 978387509    時間: 2017-8-3 20:41
謝謝分享
作者: 總是離人淚    時間: 2017-8-24 00:31
mpu6050驅動電壓是3.3v以下啊,51單片機怎么驅動。
作者: piplxh    時間: 2017-9-2 15:20
好東西,學習學習
作者: 老煙槍    時間: 2017-10-25 10:30
好東西,謝謝分享
作者: xzc1109    時間: 2017-10-26 09:54
51單片機用串口接6050讀到的數(shù)據(jù)是不是16進制的呢?我看賣家給的例程是case 0x55這樣的包頭,51能識別嗎?
作者: 挖掘機在垃圾也    時間: 2018-9-26 11:42
前來學習這個模塊
作者: 520q    時間: 2019-8-27 11:29
謝謝樓主





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