xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 7KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-16
  • 語言: 其他
  • 標簽: ADXL345??

資源簡介

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數(shù)據(jù)引腳定義


BYTE?BUF[8];??????????? //接收數(shù)據(jù)緩存區(qū)??????
unsigned?char?devid;
float?pitchroll;

/*
延時5微秒(STC90C52RC---12MHz---12T)
不同的工作環(huán)境需要調(diào)整此函數(shù),注意時鐘過快時需要修改
當改用1T的MCU時請調(diào)整此延時函數(shù)*/

void?Delay5us(){
????_nop_();_nop_();_nop_();_nop_();
????_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}

?/*
延時5毫秒(STC90C52RC@12M)
不同的工作環(huán)境需要調(diào)整此函數(shù)
當改用1T的MCU時請調(diào)整此延時函數(shù)*/

void?Delay5ms(){
????WORD?n?=?560;

????while?(n--);
}

//起始信號
void?ADXL345_Start(){
????ADX_SDA?=?1;????????????????????//拉高數(shù)據(jù)線
????ADX_SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????ADX_SDA?=?0;????????????????????//產(chǎn)生下降沿
????Delay5us();?????????????????//延時
????ADX_SCL?=?0;????????????????????//拉低時鐘線
}?

//停止信號

void?ADXL345_Stop(){
????ADX_SDA?=?0;????????????????????//拉低數(shù)據(jù)線
????ADX_SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????ADX_SDA?=?1;????????????????????//產(chǎn)生上升沿
????Delay5us();?????????????????//延時
}

/**************************************
發(fā)送應(yīng)答信號
入口參數(shù):ack?(0:ACK?1:NAK)
**************************************/
void?ADXL345_SendACK(bit?ack){
????ADX_SDA?=?ack;??????????????????//寫應(yīng)答信號
????ADX_SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????ADX_SCL?=?0;????????????????????//拉低時鐘線
????Delay5us();?????????????????//延時
}

/**************************************
接收應(yīng)答信號
**************************************/
bit?ADXL345_RecvACK(){
????ADX_SCL?=?1;????????????????????//拉高時鐘線
????Delay5us();?????????????????//延時
????CY?=?ADX_SDA;???????????????????//讀應(yīng)答信號
????ADX_SCL?=?0;????????????????????//拉低時鐘線
????Delay5us();?????????????????//延時

????return?CY;
}

/**************************************
向IIC總線發(fā)送一個字節(jié)數(shù)據(jù)
**************************************/
void?ADXL345_SendByte(BYTE?dat){
????BYTE?i;

????for?(i=0;?i<8;?i++)?????????//8位計數(shù)器
????{
????????dat?<<=?1;??????????????//移出數(shù)據(jù)的最高位
????????ADX_SDA?=?CY;???????????????//送數(shù)據(jù)口
????????ADX_SCL?=?1;????????????????//拉高時鐘線
????????Delay5us();?????????????//延時
????????ADX_SCL?=?0;????????????????//拉低時鐘線
????????Delay5us();?????????????//延時
????}
????ADXL345_RecvACK();
}

/**************************************
從IIC總線接收一個字節(jié)數(shù)據(jù)
**************************************/
BYTE?ADXL345_RecvByte(){
????BYTE?i;
????BYTE?dat?=?0;

????ADX_SDA?=?1;????????????????????//使能內(nèi)部上拉準備讀取數(shù)據(jù)
????for?(i=0;?i<8;?i++)?????????//8位計數(shù)器
????{
????????dat?<<=?1;
????????ADX_SCL?=?1;????????????????//拉高時鐘線
????????Delay5us();?????????????//延時
????????dat?|=ADX_SDA;?????????????//讀數(shù)據(jù)???????????????
????????ADX_SCL?=?0;????????????????//拉低時鐘線
????????Delay5us();?????????????//延時
????}
????return?dat;
}

//******單字節(jié)寫入*****************************

評論

共有 條評論