【STC单片机】STC15单片机读取MPU6050模块数据并串口输出
【STC单片机】STC15单片机读取MPU6050模块数据并串口输出
采用
STC15F2K60S2
单片机,使用的是11.0592
MHz的外部晶振,如果想移植到其他型号的单片机只需拷贝相应的头文件即可,调整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模块数据并串口输出相关推荐
- 程序源码分享-51单片机用LCD1602显示MPU6050角度数据
硬件方面选择的是51单片机,显示屏LCD1602,姿态传感器MPU6050的型号为维特智能的JY60,具体设计思路见笔者的文章基于单片机的云台姿态测量系统设计. STM32将mpu6050的数据DAC ...
- linux 串口读取陀螺仪,stm32读取陀螺仪MPU6050发送数据到串口
[实例简介] IAR环境下,stm32读取MPU6050数据,发送到串口. [实例截图] [核心代码] 6b42b05e-a094-444f-b033-eda513b6cc49 └── tly01 ├ ...
- R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格
前一段,写过一篇:R语言中写入Excel的不同sheet表格,最近学习了tidyverse的方法,感觉需要总结一下,更新一下知识结构. 本文准备用实际数据,做一下操作: 「批量读取:」 批量读取多个E ...
- stm32 iic接口 进入busy_STM32通过IIC接口读取JY61模块MPU6050陀螺仪芯片数据核心程序...
1 简述 最近,想学角度融合算法在网上买一个JY61的模块.他们家的模块用起来还不错.模块分为串口通讯和IIC通讯的.串口读取数据他们家有例程,我就不说了.想分享给大家这个模块的IIC是怎么去读取MP ...
- STM32读取MPU6050陀螺仪芯片数据核心程序
1 简 介 最近,想学角度融合算法在网上买一个JY61的模块.他们家的模块用起来还不错.模块分为串口通讯和IIC通讯的.串口读取数据他们家有例程,我就不说了.想分享给大家这个模块的IIC是怎么去读取M ...
- stm32读取目标芯片_STM32通过IIC读取MPU6050陀螺仪芯片数据核心程序
1 简 介 最近,想学角度融合算法在网上买一个JY61的模块.他们家的模块用起来还不错.模块分为串口通讯和IIC通讯的.串口读取数据他们家有例程,我就不说了.想分享给大家这个模块的IIC是怎么去读取 ...
- 【MM32F5270开发板试用】定制MicroPython及读取MPU6050数据到OLED1306
本篇文章来自极术社区与灵动组织的MM32F5270开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:HonestQiao 前言 这次有幸获得MM32F5270开发板的试用,非常幸运. 收到板 ...
- STM32CubeMX驱动MPU6050模块
文章目录 1. MPU6050模块简介 2. MPU6050重要寄存器介绍 2.1 数字低通滤波器配置寄存器CONFIG 2.2 采样率分频寄存器SMPRT_DIV 2.3 加速度计配置寄存器ACCE ...
- FPGA读取MPU6050六轴陀螺仪
一. 简介 欢迎关注 FPGA之旅 微信公众号 回复 FPGA驱动MPU6050 获取下载链接 本篇文章将介绍如何使用FPGA驱动MPU6050模块. MPU6050模块的接口是IIC,所以驱动的实质 ...
- I2C总线读取MPU6050
文章目录 实验目的 实验步骤 实验分析 源码分析 主函数 I2C初始化 I2C_Write_Byte IIC_Start IIC_SendByte GetMPU6050Offset GetMPU605 ...
最新文章
- 一个面试官对JVM面试问题的分析
- SAP系统和微信集成的系列教程之五:如何将SAP UI5应用嵌入到微信公众号菜单中
- Linux学习_菜鸟教程_3
- diskgenius 数据迁移_活见鬼,明明删除了数据,空间却没减少! - *IT界农民工*
- linux如何批量清理文件大小,Linux下自动清理超过指定大小文件的方法
- aide制作软件教程_Aide教程
- 联想拯救者Y7000P的一些功能键
- 17张程序员壁纸推荐,是否有一张你喜欢的?
- Vim编辑器学习笔记
- C语言全局变量和局部变量的区别详解
- composer下面composer.lock有什么用处 以及 如何优雅地删除它
- 用户登录 默认 计算机 用户文件,guest登录系统默认禁止guest访问本地计算机(组图)...
- mapStateToProps mapDispatchToProps 的使用
- 正大国际期货:做期货主帐户有什么风险?
- 分组密码体制【密码学笔记】
- Python3中打开文件的方式(With open)
- maven 3.5.3 settings.xml
- Unity地面拼接实现无限路循环
- ASCAT数据:风向、风速
- 小程序:微信小程序打包成APP