基于51单片机驱动MPU6050模块(LCD1602显示)
@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显示)相关推荐
- 基于51单片机驱动ADXL346 (LCD1602显示)
基于51单片机驱动ADXL346 (LCD1602显示) 一.ADXL346传感器介绍 1.实物图 2.产品说明 3.电气参数 4.通信协议 二.驱动代码 1.引脚定义 2.初始化函数 3.主函数 三 ...
- 基于51单片机的电子钟万年历LCD1602显示
本设计是51单片机的电子钟万年历LCD1602显示(proteus仿真+程序+报告+器件清单) 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号C0002 ...
- 基于51单片机+红外遥控解码+LCD1602显示
红外遥控解码(NEC) 基本介绍 什么是红外线? 红外线系统的组成 发射管和接收管 红外遥控发射(载波频率) 重要介绍 NEC协议 数据格式(必看) 位定义(必看) 编写程序思路(2种) 方式一 方式 ...
- 基于51单片机驱动HC-SR04超声波模块(LCD1602显示)
基于51单片机驱动HC-SR04超声波模块(LCD1602显示) 一.基本参数 二.通信时序 三.部分代码展示 四.实际效果 总结 一.基本参数 点击图片购买 HC- SR04+是一款宽电压工作的超声 ...
- K_A14_001 基于STM32等单片机驱动MPU6050模块 串口与OLED0.96双显示
K_A14_001 基于STM32等单片机驱动MPU6050模块 串口与OLED0.96双显示 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 时序 对应程序: 四.部分代码说明 1.接线引 ...
- 基于51单片机驱动A4988实现步进电机逆时针转动
基于51单片机驱动A4988实现步进电机逆时针转动 一.简介 二.接线 典型接线图 实际接线 三.部分代码 引脚定义 定时器初始化 主函数 四.实验现象 五.注意事项 一.简介 A4988 是一款完全 ...
- 【Proteus仿真】51单片机汇编实现DS18B20+LCD1602显示
[Proteus仿真]51单片机汇编实现DS18B20+LCD1602显示 Proteus仿真 汇编代码(.asm) ;**************************************** ...
- C语言 | 基于51单片机实现MPU6050的卡尔曼滤波算法(代码类2)
github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 之前写过一个博客(代码分享:单片机开发 | ...
- 【Proteus仿真】51单片机制作简易计算器+ LCD1602显示
[Proteus仿真]51单片机制作简易计算器+ LCD1602显示 Proteus仿真效果演示 程序代码 #include<reg51.h> //头文件 #define uint uns ...
最新文章
- python如何跨模块调用变量_Python跨模块用户定义的全局变量:在其他模块运行时调用它们的问题...
- DataList中的按钮触发事件的方法的实现
- ATMEGA328实验电路板
- 机器学习--线性回归(原理与例子)
- React: 关于React通信方式
- 新站SEO优化如何吸引搜索引擎蜘蛛的爬行?
- 看完王兴刷屏之后,你该学会建立属于自己的第一性原理
- win7 系统盘下AppData文件夹中Local和Roaming分别有什么作用?
- redis特点单进程单线程高性能服务器,Redis为什么是单线程?Redis又为什么这么快!...
- Swift的笔记和参考
- java 循环写法_java的for循环的几种写法
- angular学习的一些Mark
- 滴滴公司多次被下架的原因是什么,深挖测试员究竟还该不该去滴滴?
- linux 下解决arp病毒攻击时上网问题的最简单的治标办法
- 抽象代数基本概念(一):代数系
- 前端h5 打开pdf文件
- linux 查看tps命令,Linux系统一些系统查看指令
- 欢迎大家加入我的Q群
- 第三方支付平台BeeCloud
- 函数式编程如何破坏了我
热门文章
- 如何串联两个路由器(建议用第二种方法)
- java上传与下载文件_JavaWeb之实现文件上传与下载
- unity初学 Mstudio教程
- python爬取微信聊天记录数据_[使用案例]python如何爬取微信好友信息?(上)
- 国内外关于监管企业内控的法律文件
- 用于二维范德华异质结构表征的低温探针台
- 从输入/输出的视角看TCP/IP(终端,shell以及X Window)
- 2021HECTF mmmmd5d5d5d5
- 百度文库不能下载解决方案
- 美泰推出首款获CarbonNeutral(R)认证的Matchbox(R) Tesla Roadster压铸模型车,使用99%的回收材料制作,彰显品牌的发展蓝图