资源简介
51单片机ADXL345三轴加速度传感器源代码
代码片段和文件信息
/*
* ADXL345模块
* 用途:ADXL345模块
* 作者:
* 日期:2016-05-03
*/
#include
#include
#include
#include “ADXL345.h“
sbit ADX_SCL=P2^1; //IIC时钟引脚定义
sbit ADX_SDA=P2^0; //IIC数据引脚定义
BYTE BUF[8]; //接收数据缓存区
unsigned char devid;
float pitchroll;
/*
延时5微秒(STC90C52RC---12MHz---12T)
不同的工作环境需要调整此函数,注意时钟过快时需要修改
当改用1T的MCU时请调整此延时函数*/
void Delay5us(){
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}
/*
延时5毫秒(STC90C52RC@12M)
不同的工作环境需要调整此函数
当改用1T的MCU时请调整此延时函数*/
void Delay5ms(){
WORD n = 560;
while (n--);
}
//起始信号
void ADXL345_Start(){
ADX_SDA = 1; //拉高数据线
ADX_SCL = 1; //拉高时钟线
Delay5us(); //延时
ADX_SDA = 0; //产生下降沿
Delay5us(); //延时
ADX_SCL = 0; //拉低时钟线
}
//停止信号
void ADXL345_Stop(){
ADX_SDA = 0; //拉低数据线
ADX_SCL = 1; //拉高时钟线
Delay5us(); //延时
ADX_SDA = 1; //产生上升沿
Delay5us(); //延时
}
/**************************************
发送应答信号
入口参数:ack (0:ACK 1:NAK)
**************************************/
void ADXL345_SendACK(bit ack){
ADX_SDA = ack; //写应答信号
ADX_SCL = 1; //拉高时钟线
Delay5us(); //延时
ADX_SCL = 0; //拉低时钟线
Delay5us(); //延时
}
/**************************************
接收应答信号
**************************************/
bit ADXL345_RecvACK(){
ADX_SCL = 1; //拉高时钟线
Delay5us(); //延时
CY = ADX_SDA; //读应答信号
ADX_SCL = 0; //拉低时钟线
Delay5us(); //延时
return CY;
}
/**************************************
向IIC总线发送一个字节数据
**************************************/
void ADXL345_SendByte(BYTE dat){
BYTE i;
for (i=0; i<8; i++) //8位计数器
{
dat <<= 1; //移出数据的最高位
ADX_SDA = CY; //送数据口
ADX_SCL = 1; //拉高时钟线
Delay5us(); //延时
ADX_SCL = 0; //拉低时钟线
Delay5us(); //延时
}
ADXL345_RecvACK();
}
/**************************************
从IIC总线接收一个字节数据
**************************************/
BYTE ADXL345_RecvByte(){
BYTE i;
BYTE dat = 0;
ADX_SDA = 1; //使能内部上拉准备读取数据
for (i=0; i<8; i++) //8位计数器
{
dat <<= 1;
ADX_SCL = 1; //拉高时钟线
Delay5us(); //延时
dat |=ADX_SDA; //读数据
ADX_SCL = 0; //拉低时钟线
Delay5us(); //延时
}
return dat;
}
//******单字节写入*****************************
相关资源
- GY-291 ADXL345模块资料 例程
- 自行车智能刹车尾灯
- 三轴加速度adxl345 stm32 程序
- MPU6050 DMP+ADXL345+NRF24L01+HAL库+STM32F103C
- 利用STM32硬件I2C使用加速度传感器AD
- ADXL345加速度传感器 32F103mini板
- ADXL345开发例程
- stm32读取ADXL345加速度传感器数据IIC协
- ADXL345传感器资料及测试程序
- ADXL345+程序
- Z-STACK 各种传感器采集程序
- 摔跤报警器-一个小的动手项目
- 基于CC2530的传感数据采集系统(含加
- 基于单片机的老人防跌倒蜂鸣器报警
- ADXL345Protel99+Altium原理图
- 基于STM32的 ADXL345三轴测量角度 软件
- ADXL345直接输出角度值C51程序
- ADXL345 STM32 SPI 代码亲测可用
- C51与ADXL345通信外加上位机显示程序
- ADXL345模块 51程序
- 加速度传感器ADXL345典型应用
- ADXL345模块输出X_Y轴角度
- cc2530裸机驱动adxl345测试成功
- CC2530-ADXL345 IIC通信
- 基于msp430f149的ADXL345倾角传感器的测试
- 《STM32开发指南》第三十四章 ADXL345三
- 基于adxl345加速度传感器的计步器
- 数字三轴加速度计ADXL34551单片机例程
- ADXL345加速度传感器SPI通信程序
- adxl345 pcb库文件 altium格式
评论
共有 条评论