资源简介
51单片机通过IIC总线从mpu6050读取六轴原始数据并LCD1602显示

代码片段和文件信息
#include
#define uchar unsigned char
#define uint unsigned int
#define CHIP_LOCATION 0xd0
#define SMPLRT_DIV 0x19 //陀螺仪采样率,典型值:0x07(125Hz)
#define CONFIG 0x1A //低通滤波频率,典型值:0x06(5Hz)
#define GYRO_CONFIG 0x1B //陀螺仪自检及测量范围,典型值:0x18(不自检,2000deg/s)
#define ACCEL_CONFIG 0x1C //加速计自检、测量范围及高通滤波频率,典型值:0x01(不自检,2G,5Hz)
#define ACCEL_XOUT_H 0x3B
#define ACCEL_XOUT_L 0x3C
#define ACCEL_YOUT_H 0x3D
#define ACCEL_YOUT_L 0x3E
#define ACCEL_ZOUT_H 0x3F
#define ACCEL_ZOUT_L 0x40
#define TEMP_OUT_H 0x41
#define TEMP_OUT_L 0x42
#define GYRO_XOUT_H 0x43
#define GYRO_XOUT_L 0x44
#define GYRO_YOUT_H 0x45
#define GYRO_YOUT_L 0x46
#define GYRO_ZOUT_H 0x47
#define GYRO_ZOUT_L 0x48
#define PWR_MGMT_1 0x6B //电源管理,典型值:0x00(正常启用)
#define WHO_AM_I 0x75 //IIC地址寄存器(默认数值0x68,只读)
#define SlaveAddress 0xD0 //IIC写入时的地址字节数据,+1为读取
sbit lcd_en=P2^7;
sbit lcd_rs=P2^6;
sbit lcd_rw=P2^5;
//sbit dula=P2^6;
//sbit wela=P2^7;
sbit sda = P2^0;
sbit scl = P2^1;
uchar dis[6];
//int GA_XGA_YGA_Z;
void delay(uint z)
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delays()
{;;}
void IIC_start()
{
sda = 1;
delays();
scl = 1;
delays();
sda = 0;
delays();
}
void IIC_stop()
{
sda = 0;
delays();
scl = 1;
delays();
sda = 1;
delays();
}
void IIC_respons()
{
uchar i;
scl = 1;
delays();
while((sda == 1) && (i < 250)) i++;
scl = 0;
delays();
}
void IIC_init()
{
sda = 1;
delays();
scl = 1;
delays();
}
void IIC_write_byte(uchar date)
{
uchar itemp;
temp = date;
for(i = 0;i < 8;i ++)
{
temp = temp << 1;
scl = 0;
delays();
sda = CY;
delays();
scl = 1;
delays();
}
scl = 0;
delays();
sda = 1;
delays();
}
uchar IIC_read_byte()
{
uchar idate;
scl = 0;
delays();
sda = 1;
delays();
for(i = 0;i < 8;i ++)
{
scl = 1;
delays();
date = (date << 1) | sda;
scl = 0;
delays();
}
return date;
}
void IIC_write_add(uchar address_1uchar address_2uchar date) //第一个是片选地址,第二个是寄存器内部地址
{
IIC_start();
IIC_write_byte(address_1);
IIC_respons();
IIC_write_byte(address_2);
IIC_respons();
IIC_write_byte(date);
IIC_respons();
IIC_stop();
}
uchar IIC_read_add(uchar address_1uchar address_2)
{
uchar date;
IIC_start();
IIC_write_byte(address_1);
IIC_respons();
IIC_write_byte(address_2);
IIC_respons();
IIC_start();
IIC_write_byte(address_1 + 1);
IIC_respons();
date = IIC_read_byte();
IIC_stop();
return date;
}
void mpu6050_init()
{
IIC_write_add(SlaveAddressPWR_MGMT_1 0x00);
IIC_write_add(SlaveAddressSMPLRT_DIV 0x07);
IIC_write_add(SlaveAddressCONFIG 0x06);
IIC_write_add(SlaveAddressGYRO_CONFIG 0x18);
IIC_write_add(SlaveAddressACCEL_CONFIG 0x01);
/*
Single_WriteI2C(PWR_MGMT_1 0x00); //解除休眠状态
Single_WriteI2C(SMPLRT_DIV 0x07); //陀螺仪采集频率
Single_WriteI2C(CONFIG 0x06);//低通滤波频率
Single_WriteI2C(GYRO_CONFIG 0x18);//陀螺仪自检及测量范围
Si
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14742 2018-05-21 22:20 hope\hope
文件 6121 2018-05-21 22:20 hope\hope.c
文件 3039 2018-05-21 22:20 hope\hope.hex
文件 25 2018-05-21 22:20 hope\hope.lnp
文件 13733 2018-05-21 22:20 hope\hope.LST
文件 19094 2018-05-21 22:20 hope\hope.M51
文件 17384 2018-05-21 22:20 hope\hope.OBJ
文件 649 2018-05-21 22:20 hope\hope.plg
....... 55627 2018-05-21 22:56 hope\hope.uvopt
....... 13223 2018-05-21 22:56 hope\hope.uvproj
....... 56263 2018-05-21 19:15 hope\hope_uvopt.bak
....... 13224 2018-05-21 19:15 hope\hope_uvproj.bak
目录 0 2018-05-21 22:56 hope
----------- --------- ---------- ----- ----
213124 13
- 上一篇:地址及解压密码.txt
- 下一篇:木马查杀工具
相关资源
- mpu6050+hmc5883L.rar
- 陀螺仪MPU6050驱动
- STM32F1单片机MPU6050加速度计陀螺仪驱动
- 两轮平衡车源程序,方能仪器,自平
- 基于stm32的六轴传感器驱动工程文件
- MPU6050数据发送到匿名上位机2.4版本的
- STM32 MPU6050 载人平衡车资料
- mpu6050\\mpu9150\\ms5611电路图可直接使用
- MPU6050DMP自检和零偏校准
- mpu6050中文手册
- STM32F103_FREERTOS_MPU6050DMP_USART_Timer输入捕
- 基于stm32的四旋翼飞控程序
- STM32 MPU6050 dmp读取四元数程序
- stm32 mpu6050 DMP 成功
- 基于STM32F103C8T6及NRF24L01的摔倒检测+
- stm32 mpu6050 串口输出
- STM32 MPU6050-DMP
- MPU6050_DMP模式STM32(库函数版本)--串
- STM32-MPU6050DMP欧拉角输出
- MPU6050三轴陀螺仪串口读取数据并显示
- 自平衡小车源代码亲测有问题可随时
- stm32+QMC5883L磁力传感器,可以用来融合
- mpu6050互补滤波算法角度串口输出stm
- MPU6050MS5611HMC5883三传感器数据读取
- mpu6050+地磁传感器通过卡尔曼滤波得出
- K5环境+STM32+MPU6050+卡尔曼滤波源码
- mpu6050寄存器手册中文版
- MPU6050的C代码程序包括DMP直接解算姿态
- MPU6050、磁力计、气压计传感器原理及
- stm32+MPU6050+GPS+SD卡读写+ad采集+串口输
评论
共有 条评论