adxl345如何应用

adxl345如何应用,第1张

看你用它来干什么了,adxl345功能很强大,内置很多寄存器,我现在的毕设就用它来做个计步器。

我用的是51单片机控制adxl345用IIC通信。adxl345工作电源可以选择单/双电源模式,额定电压大约3.3V,而51单片机用的是5V电压,需要电压转换模块,自己焊起来比较烦,我在网上花23块大洋(运费12)买了锋模缺adxl345模块,已经把电压转成3.3V了,可以直接用。各个引脚如下图:

与单片机连法:第一张图右侧,5V脚高电平、 GND直接地 、3V3、VS、CS不用连,因为模块内部已经连好了。第一张图左侧,SCL、SDA分别与51单片机某一脚相连,SCL模拟时钟信号,SDA传数据(I2C通信)。SDO不用连,如果使用中断银辩的话INT1、INT2分别码盯与单片机的INT0、INT1相连。

ADXL345使用独立5v电源 SPI方式可以并笑消参考ti例子因为初始化是固定的呀

比如

//******************************************************************************

// MSP-FET430P140 Demo - USART0, SPI Full-Duplex 3-Wire Slave P1.x Exchange

//

// Description: SPI Master communicates at fast as possible, full-duplex with

// SPI Slave using 3-wire mode. The level on P1.4/5 is TX'ed and RX'ed to P1.0

// and P1.1. Master will pulse slave Reset on init to insure synch start.

// Slave normal mode is LPM4.

// ACLK = n/a, MCLK = SMCLK = DCO ~ 800kHz, ULCK = external

/升数/

// fet140_slav0 fet140_mstr0

// MSP430F169 Slave MSP430F169 Master

// ----------------- -----------------

//| XIN|-/|\| XIN|-

//| | | | |

//| XOUT|- --|RST XOUT|-

//| | /|\| |

//| RST|--+<----|P3.0 |

// LED <-|P1.0 || P1.4|<-

// LED <-|P1.1 || P1.5|<-

// ->|P1.4 || P1.0|->LED

// ->|P1.5 || P1.1|->LED

//| SIMO0/P3.1|<-------|P3.1 |

//| SOMI0/P3.2|------->|P3.2 |

//|UCLK/P3.3|<-------|P3.3 |

//

// M. Buccini

// Texas Instruments Inc.

// Feb 2005

/绝知/ Built with IAR Embedded Workbench Version: 3.21A

//******************************************************************************

#include <msp430x14x.h>

void main(void)

{

WDTCTL = WDTPW + WDTHOLD// Stop watchdog

P1OUT = 0x00// P1.0 setup for LED output

P1DIR |= 0x03

P3SEL |= 0x0E // P3.1,2,3 SPI option select

U0CTL = CHAR + SYNC + SWRST // 8-bit, SPI

U0TCTL = CKPL + STC // Polarity, 3-wire

U0BR0 = 0x02// SPICLK = SMCLK/2

U0BR1 = 0x00

U0MCTL = 0x00

ME1 |= USPIE0 // Module enable

U0CTL &= ~SWRST // SPI enable

IE1 |= URXIE0 + UTXIE0 // RX and TX interrupt enable

_BIS_SR(LPM4_bits + GIE)// Enter LPM4 w/ interrupt

}

#pragma vector=USART0RX_VECTOR

__interrupt void SPI0_rx (void)

{

P1OUT = RXBUF0 // RXBUF0 to TXBUF0

}

#pragma vector=USART0TX_VECTOR

__interrupt void SPI0_tx (void)

{

unsigned int i

i = P1IN

i = i >>4

TXBUF0 = i // Transmit character

}

知识豪杰,快来加入430f149团队吧,一起答疑助人,没你不行!团队地址:http://zhidao.baidu.com/team/view/430f149


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12329063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存