资源简介
ADXL345模块输出X_Y轴角度,基于51单片机的源程序。
代码片段和文件信息
/******************************************
日期:2015年10月27日 *
功能:ADXL345合成X轴和Y轴角度 *
author: @kzy *
CPU:stc89c52rc *
晶振:11.0592Mhz * *
*******************************************/
#include
#include
#include
#include “serial.h“
sbit SCL=P1^1;
sbit SDA=P1^0;
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef int int16;
typedef char int8;
uint8 buffer[6]={0};
int16 x_y_z_Data[3];
#define SlaveAddress 0xA6 //定义器件在IIC总线中的从地址根据ALT ADDRESS地址引脚不同修改
//ALT ADDRESS引脚接地时地址为0xA6,接电源时地址为0x3A
/*********************延时模块***************/
void delay5us();
void Delay5ms();
void delayNms(uint16 Nms);
/*********************延时模块***************/
/*************IIC模块*****************************/
void IIC_Start();
void IIC_Stop();
void IIC_SendAck(bit ack);
bit IIC_RecvAck();
void IIC_SendByte(uint8 dat);
uint8 IIC_RecvByte();
/*************IIC模块*****************************/
/*************************ADXL345模块**********************/
void ADXL345_Single_Write(uint8 REG_ADDRESSuint8 REG_DATA);
uint8 ADXL345_Single_Read(uint8 REG_ADDRESS);
void ADXL345_Multiple_Read();
void Init_ADXL345();
/*************************ADXL345模块**********************/
/*************************数据格式转换******************/
unsigned char* u32tostr(unsigned long dat);
/*************************数据格式转换******************/
void main(void)
{
uint8 DeivceID;
float X_angleY_angleQTK;
Serial_Init(); // 11.0592Mhz
delayNms(600); //延时600ms用以ADXL345内部完成自身初始化
Init_ADXL345();
do{
DeivceID=ADXL345_Single_Read(0x00);
}while(0xE5!=DeivceID);
while(1)
{
ADXL345_Multiple_Read();
x_y_z_Data[0]= (buffer[1]<<8)+buffer[0]; //合成16位原始数据
x_y_z_Data[1]= (buffer[3]<<8)+buffer[2]; //合成16位原始数据
x_y_z_Data[2]= (buffer[5]<<8)+buffer[4]; //合成16位原始数据
Q=(float)x_y_z_Data[0]*3.9;
T=(float)x_y_z_Data[1]*3.9;
K=(float)x_y_z_Data[2]*3.9;
Q=-Q;
X_angle=(float)(((atan2(KQ)*180)/3.14159265)+180); //X轴角度值
Y_angle=(float)(((atan2(KT)*180)/3.14159265)+180); //Y轴角度值
SendStr(“X_angle:“);
SendStr(u32tostr(X_angle));
SendStr(“\r\n“);
delayNms(100);
SendStr(“Y_angle:“);
SendStr(u32tostr(Y_angle));
SendStr(“\r\n“);
delayNms(100);
}
}
void delay5us()
{
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}
void Delay5ms()
{
uint16 n = 560;
while (n--);
}
void delayNms(uint16 Nms)
{
uint16 j;
while(Nms--)
{
for(j=0;j<120;j++)
{;}
}
}
/*************IIC模块*****************************/
void IIC_Start()
{
SDA=1;
SCL=1;
delay5us();
SDA=0;
delay5us();
SCL=0;
}
void IIC_Stop()
{
SDA=0;
SCL=0;
delay5us();
SDA=1;
delay5us();
}
void IIC_SendAck(bit ack)
{
SDA=ack;
SCL=1;
delay5us();
SCL=0;
delay5us();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\
文件 21321 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\ADXL345
文件 6002 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\adxl345.c
文件 8263 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\ADXL345.hex
文件 61 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\ADXL345.lnp
文件 13202 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\adxl345.LST
文件 22181 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\ADXL345.M51
文件 17955 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\adxl345.OBJ
文件 1818 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\ADXL345.plg
文件 57502 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\ADXL345.uvopt
文件 13401 2015-10-27 22:05 ADXL345模块输出X_Y轴角度\ADXL345.uvproj
文件 57474 2015-10-27 22:05 ADXL345模块输出X_Y轴角度\ADXL345_uvopt.bak
文件 0 2015-10-27 20:39 ADXL345模块输出X_Y轴角度\ADXL345_uvproj.bak
文件 547 2015-10-06 16:29 ADXL345模块输出X_Y轴角度\serial.c
文件 315 2015-10-27 21:39 ADXL345模块输出X_Y轴角度\serial.h
文件 2037 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\serial.LST
文件 4138 2015-10-27 22:14 ADXL345模块输出X_Y轴角度\serial.OBJ
- 上一篇:S3001伺服电机资料
- 下一篇:STM32+ch375读取U盘源代码
相关资源
- 已经调通的压力传感器bmp180程序
- 基于MC9S12XS128的温湿度传感器DHT11程序
- 监护用多路数字体温计的研制
- PT100温度传感器在温度数据实时监测系
- 基于msp430f149的ADXL345倾角传感器的测试
- 二氧化碳传感器MH-Z14
- 传感器设计超声波论文
- DS18B20温度传感器源码
- 基于电阻应变式传感器电子秤设计
- 《STM32开发指南》第三十四章 ADXL345三
- 3144 霍尔传感器
- 颜色传感器ARDUINO代码
- 压电式加速度传感器资料
- 电容式传感器详细介绍和动画演示p
- 《传感器与检测技术》 陈杰高教版高
- SICK中距离传感器DT35的中文操作说明书
- I2C 总线数字温度传感器 LM92 及其应用
- 位移传感器的应用word版
- bme280温湿度大气压强传感器驱动程序
- 智能消防小车含完整原理图word 版论文
- 无线传感器网络仿真的NS2实现
- 大气压强传感器BMP280单片机程序
- 基于单片机与光电传感器的电动自行
- SHT20温湿度传感器程序gpio模拟I2C+中文
- hdc1080_drive.rar
- 基于OPNET的无线传感器网络仿真
- 传感器融合 - 文献综述
- 土壤湿度传感器
- STM32 两轮平衡车 程序 获取姿态传感器
- 2du6光敏传感器参考手册
评论
共有 条评论