找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 18730|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)讀取陀螺儀GPS模塊串口MPU6050模塊的實(shí)例程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98074 發(fā)表于 2015-12-2 21:28 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這是我給我的小車上寫的陀螺儀GPS模塊源程,用的是導(dǎo)航模塊 JY-901。

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

原理圖

原理圖

陀螺儀GPS模塊源程序.rar

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

源程序

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的積分獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2015-12-2 22:22 | 只看該作者
樓主的程序:
  1. //51單片機(jī)讀取串口MPU6050模塊的實(shí)例程序
  2. //            BY:君悅智控
  3. //測(cè)試平臺(tái):
  4. //                51單片機(jī)開發(fā)板YL-39,芯片STC89C52
  5. //注意:
  6. //    1.51單片機(jī)的下載串口只有一個(gè),同時(shí)又需要接MPU6050,因此在下載的時(shí)候需要拔下MPU6050的TX線,等程序下載成功以后再插上。
  7. //接線方法:
  8. //     51單片機(jī)                  JY901模塊
  9. //                +5V                ----        VCC
  10. //                TX                (不接)        RX
  11. //                RX                ----        TX
  12. //                GND                ----        GND
  13. ///////////////////////////////////////////////////////
  14. /*預(yù)處理命令*/
  15. #include <reg52.h>                   //包含單片機(jī)寄存器的頭文件
  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;                   //用定時(shí)器設(shè)置串口波特率           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. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

板凳
ID:130538 發(fā)表于 2016-8-19 10:13 | 只看該作者
不錯(cuò)。好東西
回復(fù)

使用道具 舉報(bào)

地板
ID:123712 發(fā)表于 2017-1-8 23:06 | 只看該作者
謝謝樓主分享資料,很不錯(cuò),正在學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

5#
ID:222998 發(fā)表于 2017-7-28 20:42 | 只看該作者
二樓好人一生平安
回復(fù)

使用道具 舉報(bào)

6#
ID:223225 發(fā)表于 2017-7-29 16:11 | 只看該作者
謝謝樓主分享資料,很不錯(cuò),正在學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

7#
ID:222908 發(fā)表于 2017-8-3 20:41 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

8#
ID:191542 發(fā)表于 2017-8-24 00:31 | 只看該作者
mpu6050驅(qū)動(dòng)電壓是3.3v以下啊,51單片機(jī)怎么驅(qū)動(dòng)啊?
回復(fù)

使用道具 舉報(bào)

9#
ID:199188 發(fā)表于 2017-9-2 15:20 | 只看該作者
好東西,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

10#
ID:239056 發(fā)表于 2017-10-25 10:30 | 只看該作者
好東西,謝謝分享
回復(fù)

使用道具 舉報(bào)

11#
ID:243036 發(fā)表于 2017-10-26 09:54 | 只看該作者
51單片機(jī)用串口接6050讀到的數(shù)據(jù)是不是16進(jìn)制的呢?我看賣家給的例程是case 0x55這樣的包頭,51能識(shí)別嗎?
回復(fù)

使用道具 舉報(bào)

12#
ID:370943 發(fā)表于 2018-9-26 11:42 | 只看該作者
前來(lái)學(xué)習(xí)這個(gè)模塊
回復(fù)

使用道具 舉報(bào)

13#
ID:407114 發(fā)表于 2019-8-27 11:29 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表