【STC单片机】STC15单片机读取MPU6050模块数据并串口输出


采用STC15F2K60S2单片机,使用的是11.0592MHz的外部晶振,如果想移植到其他型号的单片机只需拷贝相应的头文件即可,调整IIC通讯的延时函数,本示例只是对mpu6050模块进行数据读取,程序刚刚调通,没有修正相关数据,数据仅供参考

MPU-6050模块(三轴陀螺仪 + 三轴加速度)模块

使用芯片:MPU-6050
供电电源:3-5v(内部低压差稳压)
通信方式:标准IIC通信协议
芯片内置16bit AD转换器,16位数据输出
陀螺仪范围:±250 500 1000 2000  °/s
加速度范围:±2±4±8±16g
  • MPU6050模块资料
资料链接: https://pan.baidu.com/s/1eXUSdd-VzORfq7b7KKzS-Q
提取码: wn94
  • STC单片机开发板:STC15F2K60S2开发板
  • 【开源STC15开发板】STC15F2K60S2开发板

接线说明

SCL----P2.0
SDA----P2.1

主程序

#include "stdio.h"
//#include "string.h"
//#include "stdarg.h"
#include    "config.h"
#include    "USART1.h"
#include    "delay.h"
#include    "mpu.h"/************* 功能说明    **************双串口全双工中断方式收发通讯程序。通过PC向MCU发送数据, MCU收到后通过串口把收到的数据原样返回.******************************************//************* 本地常量声明  **************/sbit ledpin = P1^0;
/*************  本地变量声明  **************//*************   本地函数声明  **************//*************  外部函数和变量声明 *****************//*************  串口1初始化函数 *****************/
void    UART_config(void)
{COMx_InitDefine        COMx_InitStructure;                 //结构定义COMx_InitStructure.UART_Mode      = UART_8bit_BRTx;      //模式,       UART_ShiftRight,UART_8bit_BRTx,UART_9bit,UART_9bit_BRTxCOMx_InitStructure.UART_BRT_Use   = BRT_Timer2;         //使用波特率,   BRT_Timer1, BRT_Timer2 (注意: 串口2固定使用BRT_Timer2)COMx_InitStructure.UART_BaudRate  = 9600ul;           //波特率, 一般 110 ~ 115200COMx_InitStructure.UART_RxEnable  = ENABLE;              //接收允许,   ENABLE或DISABLECOMx_InitStructure.BaudRateDouble = DISABLE;           //波特率加倍, ENABLE或DISABLECOMx_InitStructure.UART_Interrupt = ENABLE;             //中断允许,   ENABLE或DISABLECOMx_InitStructure.UART_Polity    = PolityLow;         //中断优先级, PolityLow,PolityHighCOMx_InitStructure.UART_P_SW      = UART1_SW_P30_P31; //切换端口,   UART1_SW_P30_P31,UART1_SW_P36_P37,UART1_SW_P16_P17(必须使用内部时钟)COMx_InitStructure.UART_RXD_TXD_Short = DISABLE;     //内部短路RXD与TXD, 做中继, ENABLE,DISABLEUSART_Configuration(USART1, &COMx_InitStructure);     //初始化串口1 USART1,USART2//PrintString1("STC15F2K60S2 UART1 Test Prgramme!\r\n");    //SUART1发送一个字符串
}/**********************************************/
void main(void)
{P1M1 = 0; P1M0 = 0;  //设置为准双向口P2M1 = 0; P2M0 = 0;  //设置为准双向口UART_config();EA = 1;
InitMPU6050();while (1){printf("X轴加速度=%d,\n",GetData(ACCEL_XOUT_H));  //X轴加速度Delay1000ms();
printf("Y轴加速度=%d,\n",GetData(ACCEL_YOUT_H));      //Y轴加速度Delay1000ms();
printf("Z轴加速度=%d,\n",GetData(ACCEL_ZOUT_H));      //Z轴加速度Delay1000ms();
printf("X轴加速度=%d,\n",GetData(GYRO_XOUT_H));   //X轴角速度Delay1000ms();
printf("Y轴加速度=%d,\n",GetData(GYRO_YOUT_H));   //Y轴角速度Delay1000ms();
printf("Z轴加速度=%d,\n",GetData(GYRO_ZOUT_H));   //Z轴角速度Delay1000ms();printf("温度=%3.1f℃,\n",Get_temp());   //温度            ledpin = !ledpin;Delay1000ms();}
}

程序源码

链接:https://pan.baidu.com/s/1GYqhs8J4SroPPM3a8s0jWg
提取码:xuu6

【STC单片机】STC15单片机读取MPU6050模块数据并串口输出相关推荐

  1. 程序源码分享-51单片机用LCD1602显示MPU6050角度数据

    硬件方面选择的是51单片机,显示屏LCD1602,姿态传感器MPU6050的型号为维特智能的JY60,具体设计思路见笔者的文章基于单片机的云台姿态测量系统设计. STM32将mpu6050的数据DAC ...

  2. linux 串口读取陀螺仪,stm32读取陀螺仪MPU6050发送数据到串口

    [实例简介] IAR环境下,stm32读取MPU6050数据,发送到串口. [实例截图] [核心代码] 6b42b05e-a094-444f-b033-eda513b6cc49 └── tly01 ├ ...

  3. R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格

    前一段,写过一篇:R语言中写入Excel的不同sheet表格,最近学习了tidyverse的方法,感觉需要总结一下,更新一下知识结构. 本文准备用实际数据,做一下操作: 「批量读取:」 批量读取多个E ...

  4. stm32 iic接口 进入busy_STM32通过IIC接口读取JY61模块MPU6050陀螺仪芯片数据核心程序...

    1 简述 最近,想学角度融合算法在网上买一个JY61的模块.他们家的模块用起来还不错.模块分为串口通讯和IIC通讯的.串口读取数据他们家有例程,我就不说了.想分享给大家这个模块的IIC是怎么去读取MP ...

  5. STM32读取MPU6050陀螺仪芯片数据核心程序

    1 简 介 最近,想学角度融合算法在网上买一个JY61的模块.他们家的模块用起来还不错.模块分为串口通讯和IIC通讯的.串口读取数据他们家有例程,我就不说了.想分享给大家这个模块的IIC是怎么去读取M ...

  6. stm32读取目标芯片_STM32通过IIC读取MPU6050陀螺仪芯片数据核心程序

    1  简 介 最近,想学角度融合算法在网上买一个JY61的模块.他们家的模块用起来还不错.模块分为串口通讯和IIC通讯的.串口读取数据他们家有例程,我就不说了.想分享给大家这个模块的IIC是怎么去读取 ...

  7. 【MM32F5270开发板试用】定制MicroPython及读取MPU6050数据到OLED1306

    本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:HonestQiao 前言 这次有幸获得MM32F5270开发板的试用,非常幸运. 收到板 ...

  8. STM32CubeMX驱动MPU6050模块

    文章目录 1. MPU6050模块简介 2. MPU6050重要寄存器介绍 2.1 数字低通滤波器配置寄存器CONFIG 2.2 采样率分频寄存器SMPRT_DIV 2.3 加速度计配置寄存器ACCE ...

  9. FPGA读取MPU6050六轴陀螺仪

    一. 简介 欢迎关注 FPGA之旅 微信公众号 回复 FPGA驱动MPU6050 获取下载链接 本篇文章将介绍如何使用FPGA驱动MPU6050模块. MPU6050模块的接口是IIC,所以驱动的实质 ...

  10. I2C总线读取MPU6050

    文章目录 实验目的 实验步骤 实验分析 源码分析 主函数 I2C初始化 I2C_Write_Byte IIC_Start IIC_SendByte GetMPU6050Offset GetMPU605 ...

最新文章

  1. 一个面试官对JVM面试问题的分析
  2. SAP系统和微信集成的系列教程之五:如何将SAP UI5应用嵌入到微信公众号菜单中
  3. Linux学习_菜鸟教程_3
  4. diskgenius 数据迁移_活见鬼,明明删除了数据,空间却没减少! - *IT界农民工*
  5. linux如何批量清理文件大小,Linux下自动清理超过指定大小文件的方法
  6. aide制作软件教程_Aide教程
  7. 联想拯救者Y7000P的一些功能键
  8. 17张程序员壁纸推荐,是否有一张你喜欢的?
  9. Vim编辑器学习笔记
  10. C语言全局变量和局部变量的区别详解
  11. composer下面composer.lock有什么用处 以及 如何优雅地删除它
  12. 用户登录 默认 计算机 用户文件,guest登录系统默认禁止guest访问本地计算机(组图)...
  13. mapStateToProps mapDispatchToProps 的使用
  14. 正大国际期货:做期货主帐户有什么风险?
  15. 分组密码体制【密码学笔记】
  16. Python3中打开文件的方式(With open)
  17. maven 3.5.3 settings.xml
  18. Unity地面拼接实现无限路循环
  19. ASCAT数据:风向、风速
  20. 小程序:微信小程序打包成APP

热门文章

  1. 十本数据结构与算法书籍推荐
  2. Android studio svn 工具栏 不显示
  3. 文件对比软件Beyond Compare提示文件禁止编辑的解决方法
  4. Python实现简单命令行版《中国象棋》不使用第三方库
  5. Android WebView 详细介绍
  6. Linux查看opencv版本
  7. CISP 考试教材《第 9 章 知识域:计算环境安全》知识整理
  8. 项目管理前话001——商业模式画布
  9. 谷歌浏览器怎么下载网页视频 网页视频下载方法分享
  10. OA无纸化办公系统对公司管理的作用