资源简介
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盘源代码
相关资源
- 激光位移传感器的特点及应用解析
- 位移传感器应用全面解析
- 单片机与温度传感器DS18B20的程序设计
- 毕业论文之温度传感器DS18B20(源码
- stm32 ds18b20 温度传感器 测试通过
- HX711 称重传感器 C程序
- ADNS-3080光流传感器测试程序Arduino
- 28335写的用spi读取传感器数据并用CA
- SCA60角度检测传感器模块程序
- 基于能量和距离的无线传感器网络分
- 无线传感器网络基于分簇的路由协议
- ADXL362中文说明手册
- 传感器应用七十二变
- 在各城市的窄带物联网中传感器起到
- 基于PIC的TCP/IP网络协议和zigbee无线传
- 传感器应用领域的扩大发展强劲
- 物联网中无线传感器节点和RFID数据融
- 用于无线传感器网络应用的超声波传
- 有关面向工业物联网的无线传感器网
- 物联网无线传感器网络的7大特点
- 传感器在潜水设备的应用
- 旋转活塞式流量计的测量原理
- 基于ARM7 PWM定时器的图像传感器时序信
- IEEE 802.15.4的CC2530无线数据收发设计
- IEEE 802.15.4的CC2530无线数据收发设计
- 蓝牙无线抄表传感器的设计
- 低功耗蓝牙无线传感器
- 智能传感器的蓝牙协议栈与SoC结构设
- 智能传感器的蓝牙协议栈与SoC结构解
- 电动车用霍耳位置传感器芯片的使用
评论
共有 条评论