@TOC

一、简介

MPU-6050集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP,可用IIC接口连接一个第三方的数字传感器。MPU-6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为250,500,1000,2000/秒(dps),加速度计可测范围为2,4,8,16g。

二、引脚说明

名称 描述
VDD DC+5v
GND GND
SCL IIC串行时钟线/SPI串行时钟端口
SDA IIC串行数据线/SPI串行数据输入
XDA 连接其他IIC设备的主机数据口
XCL 给IIC设备提供主时钟
ADO IIC器件地址选择位/SPI串行数据输出
INT 中断引脚

三、MPU-6050与51单片机开发板接线

MPU6050 51单片机
VCC 5V
GND GND
SDA P1.1
SCL P1.0

四、51例程代码

//**************************************
//初始化MPU6050
//**************************************
void InitMPU6050()
{Single_WriteI2C(PWR_MGMT_1, 0x00); //解除休眠状态Single_WriteI2C(SMPLRT_DIV, 0x07);Single_WriteI2C(CONFIG, 0x06);Single_WriteI2C(GYRO_CONFIG, 0x18);Single_WriteI2C(ACCEL_CONFIG, 0x01);
}
//**************************************
//合成数据
//**************************************
int GetData(uchar REG_Address)
{char H,L;H=Single_ReadI2C(REG_Address);L=Single_ReadI2C(REG_Address+1);return (H<<8)+L;   //合成数据
}
//**************************************
//在1602上显示10位数据
//**************************************
void Display10BitData(int value,uchar x,uchar y)
{value/=64;                            //转换为10位数据lcd_printf(dis, value);           //转换数据显示DisplayListChar(x,y,dis,4); //启始列,行,显示数组,显示长度
}
//**************************************
//显示温度
//**************************************
//void display_temp()
//{
//  Temp_h=Single_ReadI2C(TEMP_OUT_H); //读取温度
//  Temp_l=Single_ReadI2C(TEMP_OUT_L); //读取温度
//  Temperature=Temp_h<<8|Temp_l;     //合成温度
//  Temperature = 35+ ((double) (Temperature + 13200)) / 280; // 计算出温度
//  lcd_printf(dis,Temperature);     //转换数据显示
//  DisplayListChar(11,1,dis,4);     //启始列,行,显示数组,显示位数
//}
//*********************************************************
//主程序
//*********************************************************
void main()
{ delay(500);       //上电延时      InitLcd();      //液晶初始化InitMPU6050();   //初始化MPU6050delay(150);while(1){Display10BitData(GetData(ACCEL_XOUT_H),2,0);    //显示X轴加速度Display10BitData(GetData(ACCEL_YOUT_H),7,0);   //显示Y轴加速度Display10BitData(GetData(ACCEL_ZOUT_H),12,0);  //显示Z轴加速度Display10BitData(GetData(GYRO_XOUT_H),2,1);    //显示X轴角速度Display10BitData(GetData(GYRO_YOUT_H),7,1);    //显示Y轴角速度Display10BitData(GetData(GYRO_ZOUT_H),12,1);   //显示Z轴角速度delay(500);}
}

五、实际效果

六、总结

MPU6050在平衡小车,四轴等产品上应用广泛,市面资料也比较齐全,想学习平衡车,四轴等产品可以从此模块开始学习;长期发布类似文章,欢迎关注,欢迎随时留言,需要程序或者软件也可以在下方留言喔!

基于51单片机驱动MPU6050模块(LCD1602显示)相关推荐

  1. 基于51单片机驱动ADXL346 (LCD1602显示)

    基于51单片机驱动ADXL346 (LCD1602显示) 一.ADXL346传感器介绍 1.实物图 2.产品说明 3.电气参数 4.通信协议 二.驱动代码 1.引脚定义 2.初始化函数 3.主函数 三 ...

  2. 基于51单片机的电子钟万年历LCD1602显示

    本设计是51单片机的电子钟万年历LCD1602显示(proteus仿真+程序+报告+器件清单) 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号C0002 ...

  3. 基于51单片机+红外遥控解码+LCD1602显示

    红外遥控解码(NEC) 基本介绍 什么是红外线? 红外线系统的组成 发射管和接收管 红外遥控发射(载波频率) 重要介绍 NEC协议 数据格式(必看) 位定义(必看) 编写程序思路(2种) 方式一 方式 ...

  4. 基于51单片机驱动HC-SR04超声波模块(LCD1602显示)

    基于51单片机驱动HC-SR04超声波模块(LCD1602显示) 一.基本参数 二.通信时序 三.部分代码展示 四.实际效果 总结 一.基本参数 点击图片购买 HC- SR04+是一款宽电压工作的超声 ...

  5. K_A14_001 基于STM32等单片机驱动MPU6050模块 串口与OLED0.96双显示

    K_A14_001 基于STM32等单片机驱动MPU6050模块 串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 时序 对应程序: 四.部分代码说明 1.接线引 ...

  6. 基于51单片机驱动A4988实现步进电机逆时针转动

    基于51单片机驱动A4988实现步进电机逆时针转动 一.简介 二.接线 典型接线图 实际接线 三.部分代码 引脚定义 定时器初始化 主函数 四.实验现象 五.注意事项 一.简介 A4988 是一款完全 ...

  7. 【Proteus仿真】51单片机汇编实现DS18B20+LCD1602显示

    [Proteus仿真]51单片机汇编实现DS18B20+LCD1602显示 Proteus仿真 汇编代码(.asm) ;**************************************** ...

  8. C语言 | 基于51单片机实现MPU6050的卡尔曼滤波算法(代码类2)

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 之前写过一个博客(代码分享:单片机开发 | ...

  9. 【Proteus仿真】51单片机制作简易计算器+ LCD1602显示

    [Proteus仿真]51单片机制作简易计算器+ LCD1602显示 Proteus仿真效果演示 程序代码 #include<reg51.h> //头文件 #define uint uns ...

最新文章

  1. python如何跨模块调用变量_Python跨模块用户定义的全局变量:在其他模块运行时调用它们的问题...
  2. DataList中的按钮触发事件的方法的实现
  3. ATMEGA328实验电路板
  4. 机器学习--线性回归(原理与例子)
  5. React: 关于React通信方式
  6. 新站SEO优化如何吸引搜索引擎蜘蛛的爬行?
  7. 看完王兴刷屏之后,你该学会建立属于自己的第一性原理
  8. win7 系统盘下AppData文件夹中Local和Roaming分别有什么作用?
  9. redis特点单进程单线程高性能服务器,Redis为什么是单线程?Redis又为什么这么快!...
  10. Swift的笔记和参考
  11. java 循环写法_java的for循环的几种写法
  12. angular学习的一些Mark
  13. 滴滴公司多次被下架的原因是什么,深挖测试员究竟还该不该去滴滴?
  14. linux 下解决arp病毒攻击时上网问题的最简单的治标办法
  15. 抽象代数基本概念(一):代数系
  16. 前端h5 打开pdf文件
  17. linux 查看tps命令,Linux系统一些系统查看指令
  18. 欢迎大家加入我的Q群
  19. 第三方支付平台BeeCloud
  20. 函数式编程如何破坏了我

热门文章

  1. 如何串联两个路由器(建议用第二种方法)
  2. java上传与下载文件_JavaWeb之实现文件上传与下载
  3. unity初学 Mstudio教程
  4. python爬取微信聊天记录数据_[使用案例]python如何爬取微信好友信息?(上)
  5. 国内外关于监管企业内控的法律文件
  6. 用于二维范德华异质结构表征的低温探针台
  7. 从输入/输出的视角看TCP/IP(终端,shell以及X Window)
  8. 2021HECTF mmmmd5d5d5d5
  9. 百度文库不能下载解决方案
  10. 美泰推出首款获CarbonNeutral(R)认证的Matchbox(R) Tesla Roadster压铸模型车,使用99%的回收材料制作,彰显品牌的发展蓝图