三軸加速度傳感器設(shè)計(jì)_第1頁
三軸加速度傳感器設(shè)計(jì)_第2頁
三軸加速度傳感器設(shè)計(jì)_第3頁
三軸加速度傳感器設(shè)計(jì)_第4頁
三軸加速度傳感器設(shè)計(jì)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、中北大學(xué)課程設(shè)計(jì)說明書2013/2014學(xué)年第 2 學(xué)期學(xué)院:專業(yè):學(xué)生姓名:學(xué)號(hào):課程設(shè)計(jì)題目:三軸加速度傳感器設(shè)計(jì)起迄日期:課程設(shè)計(jì)地點(diǎn):指導(dǎo)教師:專業(yè)負(fù)責(zé)人:下達(dá)任務(wù)書日期:2014年6月13日1 課 程 設(shè) 計(jì) 目的12 課 程 設(shè) 計(jì) 內(nèi) 容 和 要求12、1設(shè)計(jì)要求12.2、設(shè)計(jì)要求13 、 設(shè) 計(jì) 方 案 及 實(shí) 現(xiàn) 情況3.1 、設(shè)計(jì)思路13.2 工 作 原 理 及 框圖13.3 . 主 要 電 路 模 塊 的 使用23.4 、實(shí) 物 結(jié) 果圖64 課 程 設(shè) 計(jì) 總結(jié)75 參考文獻(xiàn)6、附錄8附錄1原理圖8附錄2 PCB版圖9附錄3 C語言代碼103/405/401、課程設(shè)計(jì)目

2、的綜合應(yīng)用模電、數(shù)電、微機(jī)原理、單片機(jī)原理、傳感器原理 及應(yīng)用和專業(yè)知識(shí),通過理論與實(shí)踐相結(jié)合,掌握所學(xué)知識(shí)的綜 合應(yīng)用方法,培養(yǎng)和提高解決本專業(yè)實(shí)際工程問題的能力。2、課程設(shè)計(jì)內(nèi)容和要求2、1設(shè)計(jì)要求:1 .文獻(xiàn)檢索和綜述;2 .掌握三軸加速度傳感器的工作原理;3 .畫出傳感器裝配結(jié)構(gòu)圖;用protel繪制原理圖;4 .所寫說明書格式規(guī)范,內(nèi)容完整;5 .參加答辯。2.2、設(shè)計(jì)內(nèi)容:1 .設(shè)計(jì)傳感器整體結(jié)構(gòu);4 .以ADXL345三軸加速度計(jì)為模型,設(shè)計(jì)測(cè)量電路,給出電 路元件參數(shù);5 .基于單片機(jī)的采集與顯示電路方案設(shè)計(jì);6,用ADXL345搭建測(cè)試系統(tǒng),仿真實(shí)驗(yàn)處理結(jié)果。3、設(shè)計(jì)方案及實(shí)

3、現(xiàn)情況3.1、 設(shè)計(jì)思路根據(jù)題目要求,首先要對(duì)傳感器整體結(jié)構(gòu)進(jìn)行設(shè)計(jì),以滿足 ADXL345三軸加速度計(jì)運(yùn)行的環(huán)境;其次,選擇合適的通信方式 使單片機(jī)與傳感器能正常通信傳輸數(shù)據(jù);最后,對(duì)單片機(jī)外圍結(jié)構(gòu)進(jìn)行設(shè)計(jì),使單片機(jī)能正常工作,編寫合適的C語言程序,使 傳感器傳輸?shù)臄?shù)據(jù)能夠在外圍器件上顯示出來。3.2、 工作原理及框圖(1)工作原理ADXL345三軸加速度計(jì)能夠?qū)⑷齻€(gè)方向的加速度g儲(chǔ)存在 其內(nèi)部寄存其中,所以,通過適當(dāng)控制指令以及與單片機(jī)Ke通 信,就可將其傳輸?shù)絾纹瑱C(jī)中,然后對(duì)其進(jìn)行編譯。顯示模塊這 里使用的是LCD1602,編譯后的數(shù)據(jù)傳送到與LCD1602相連的I/O 口,通過讀寫指令

4、就可顯示出數(shù)據(jù)。每當(dāng)ADXL345三軸加速度計(jì) 記錄數(shù)據(jù)發(fā)生變化時(shí),就更新LCD1602中顯示的數(shù)據(jù),這樣就達(dá) 到了基于單片機(jī)的采集與顯示電路的設(shè)計(jì)。(2)系統(tǒng)框圖ADXL34匚二 單片機(jī) 匚二單片機(jī)1602顯圖1系統(tǒng)框圖3.3、 主要電路模塊的使用(1) ADXL345電源模塊由于ADXL345使用的是3. 3V供電電源,所以要對(duì)5V輸入電 源就行轉(zhuǎn)化,這里使用的是RT9161電源芯片,比1117更低的 壓降,更快的負(fù)載相應(yīng)速度,非常適合高噪聲電源環(huán)境。如圖2,當(dāng)輸入電壓為5V時(shí),輸出為3. 3V,電路中所接的電容起濾波的 作用。GND圖2 RT9161電源模塊(2) ADXL345加速度計(jì)

5、模塊ADXL345是一款小而薄的超低功耗3軸加速度計(jì),分辨率高(13) 位,測(cè)量范圍達(dá)±16g。數(shù)字輸出數(shù)據(jù)為16位二進(jìn)制補(bǔ)碼格式, 可通過SPI或Ke數(shù)字接口訪問。它可以在傾斜測(cè)量應(yīng)用中測(cè)量 靜態(tài)重力加速度,還可以測(cè)量運(yùn)動(dòng)或沖擊導(dǎo)致的動(dòng)態(tài)加速度。其 高分辨率,能夠測(cè)量不到1.0。的傾斜角變化。SCUSCLKVDDI/OGNDRESERVEDGNDGNDSDA/SDI/SDIOSDO/ALT ADDRESSRESERVEDNCINT2INcs圖3 ADXL345引腳圖表1引腳功能表引腳編號(hào)引腳名稱描述1Vdolo數(shù)字接口電源電壓。2GND該引腳必須接地。3RESERVED保留。該引腳

6、必須連接到VS或保持?jǐn)嚅_。4GND該引腳必須接地。5GND該引腳必須接地。6Vs電源電壓.7CS片選。8INTI中斷1輸出。9INT2中斷2輸出。10NC內(nèi)部不連接。11RESERVED保留。該引腳必須接地或保持?jǐn)嚅_。12SDO/ALT ADDRESS串行數(shù)據(jù)輸出(SPI4線)/備用K地址選擇(PC)13SDA/SDI/SDIO串行數(shù)據(jù)(PC)/串行數(shù)據(jù)輸入(SPI 4線)/串行數(shù)據(jù)輸入和輸出(SPI 3線)。14SCL/SCLK申行通信時(shí)鐘。5cL為I2C時(shí)鐘,SCLK為5Pl時(shí)鐘。在本實(shí)驗(yàn)中,如圖4,使用的是SPI通信,采用3線連接, 片選接地,SDIO和SCLK與單片機(jī)相連進(jìn)行通信。AD

7、XL345ADXL345processorcsOOdqutSDIO OO D IN/OUTsdoQSCLK OO DOUT圖4 SPI通信接口表2存儲(chǔ)數(shù)據(jù)所在寄存器地址地址名稱類型復(fù)位值描述十六進(jìn)制十進(jìn)制0x3250DATAX0R00000000X軸數(shù)據(jù)00x3351DATAX1R00000000X軸數(shù)據(jù)10x3452DATAY0R00000000Y軸數(shù)據(jù)00x3553DATAY1R00000000Y軸數(shù)據(jù)10x3654DATAZ0R00000000z軸數(shù)據(jù)00x3755DATAZ1R00000000Z軸數(shù)據(jù)1如圖5為本實(shí)驗(yàn)中ADXL345加速度計(jì)的原理圖示意。VCC3.3VR3VCC3.3V

8、U2ADXL345Res34.7KR4Res34.7KGD22456VDDGND RESERVEDGND GNDVsSDA/SDI/SDIO on SDO RESERVEDNC INT21NT113J2TTJO巨SDARIRes34.7KGNDR2Res34.7K圖5 ADXL345原理圖(3)單片機(jī)模塊在本實(shí)驗(yàn)中,使用到單片機(jī)的功能很少,因此,單片機(jī)工作 在最小模塊下。5/40SW-ADPTGM)圖6晶振模塊7復(fù)位模塊*CL !SDA 219P1.0 Pl.l Pl.2 Pl.3 Pl.4 Pl.5 PI.6 Pl.7(ADO)PO.O (ADl)PO.l (AD2)P0.2 (AD3)P0

9、.3 (AD4)P0.4 (AD5)P0.5 (AD6)P0.6 (AD7)P0.7P3.3(INT1)P3.2(lNT0)P3.5(T1)P3.4(T0)EA/VPP(A8)P2.0(A9)P2.1(A1O)P2.2(A11)P2.3 (A12)P2.4 (A13)P2.5 (A14)P2.6 (A15)P2.7RSTXTAL1XTAL2P3.7(RD)P3.6(WR)18XIX2RES 917vccGND (RXD)P3.0 (TXD)P3J ALE/PROG PSEN4020t-A|VCC5.0|-GNDC51ICap Semie30PFa II.05926MHZ一 XTALC6Cap

10、Semi 30PFA189C51圖8單片機(jī)引腳連接圖(4) LCD1602顯示模塊點(diǎn)陣圖形式液晶由MXN個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128歹IJ,每8列對(duì)應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16X8=128個(gè)點(diǎn)組成,屏上64X16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位6/40置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000HOOFH 的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時(shí),則屏幕的左上角顯 示一條短亮線,長(zhǎng)度為8個(gè)點(diǎn);當(dāng)(3FFH)二FFH時(shí),則屏幕的 右下角顯示一條短亮線;當(dāng)(000H)=FFH, (001H)=00H, (

11、002H) 二OOH, (OOEH) =00H, (OOFH)二00H時(shí),則在屏幕的頂部顯 示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基 本原理。表3 LCD1602管腳功能編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2Data I/O2VDO電源正極10D3Data I/O3VL液晶顯示偏壓信號(hào)11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀/寫選擇端(H/L)13D6Data I/O6E使能信號(hào)14D7Data I/O7DOData I/O15BLA背光源正極8D1Data I/O16BLK背光源負(fù)極在此處,LCD1602的8個(gè)

12、數(shù)據(jù)引腳需要上拉電阻來限制電流, 同時(shí)3引腳可以接一個(gè)電位器用來調(diào)節(jié)顯示屏背光亮度。7/403.4、 實(shí)物結(jié)果圖由于在眾多仿真軟件中,沒有ADXL345加速度計(jì)的模型,同時(shí)為了體現(xiàn)出ADXL345與MCU通信的過程,所以并不能用串行通 信軟件代替,所以此處通過,實(shí)物演示來例證。圖10實(shí)物結(jié)果圖4、課程設(shè)計(jì)總結(jié)經(jīng)過為期三周的課程設(shè)計(jì),我對(duì)C語言有了更加深刻的認(rèn)識(shí)。 在編寫程序的時(shí)候,我才發(fā)現(xiàn)能看懂程序和能自己寫程序是兩個(gè) 完全不同的概念,自己一開始寫程序時(shí),即便是一個(gè)很簡(jiǎn)單的功 能模塊,在編譯時(shí)也可能產(chǎn)生很多錯(cuò)誤,在不斷的改錯(cuò)過程中, 自己對(duì)C語言的語法結(jié)構(gòu)有了深刻的理解,對(duì)編譯過程中常見的 8

13、/40錯(cuò)誤也有了全面的認(rèn)識(shí)。通過這三周的課程設(shè)計(jì),我在熟悉了 EDA-V實(shí)驗(yàn)箱的操作同時(shí),也學(xué)到了很多在學(xué)習(xí)課本知識(shí)時(shí)所體 會(huì)不到的東西。最初拿到課程設(shè)計(jì)任務(wù)書時(shí),感覺每個(gè)模塊都在做實(shí)驗(yàn)時(shí)用 過,心想只要把各個(gè)模塊組合到一起就可以實(shí)現(xiàn)系統(tǒng)功能了,但 結(jié)果其實(shí)不然;同時(shí),通過實(shí)際動(dòng)手連接元件,更加加深了我對(duì) ADXL345的深刻認(rèn)識(shí)。完成此次設(shè)計(jì)后,我不僅能對(duì)PROTEUS仿真軟件熟練操作, 能達(dá)到學(xué)以致用,同時(shí)還掌握了 ADXL345和LCD1602的工作原理。 經(jīng)過這一過程,我發(fā)現(xiàn)平常的學(xué)習(xí)在注重理論知識(shí)的掌握同時(shí), 要加強(qiáng)實(shí)驗(yàn)環(huán)節(jié),只有通過不斷地實(shí)踐,我們才能把知識(shí)掌握的 更牢固,理解的更

14、透徹。5、參考文獻(xiàn)1Creed Huddleston著,張鼎 譯,智能傳感器設(shè)計(jì).人民郵 電出版社,20092松井邦彥著,傳感器實(shí)用電路設(shè)計(jì)與制作.北京:科學(xué)出 版社,20053范茂軍主編,互聯(lián)網(wǎng)與傳感器技術(shù).北京:機(jī)械工業(yè)出版 社,20124劉愛華、滿寶元主編,傳感器原理與應(yīng)用技術(shù).北京:人民 郵電出版社,20105張憲主編.傳感器與測(cè)控電路.北京:化學(xué)工業(yè)出版社,9/402011附錄1、原理圖45 / 40SW-ADFT'6 V«XCg,g 4.7UF-<2<DVC£J)V<5KD GXDV»VDD $DA$D15D:OGOT - 一

15、0 器SERVID X££S£RVH>NC.IKT2Cmivcc葉pro(AD:村 0pi.ifADIJPO.lPU2爾二pu(AD3JP03Pl.4伍DW.4P】J(AD5JPO.S 伍D5PC.6P16Pl.7ADB0.7P3 3巨蟲(AS)P2 0 fA95?2.1P3OT5:(A10JM.2P3.5GD,:AH 打.3P3 4(TC)(A12JP24<A13)P2.5五VP?(A14p2 5 川5段7KT All XIAL2VCCGNDLSIIXXDPJQP3.;西P3%F室).強(qiáng) ?SENR2Rts3 4F附圖1 ADXL345與單片機(jī)原理圖

16、2、PCB版圖friito-附圖2 PCB版圖3、C語言代碼Sinclude <REG51. H>Sinclude <math. h> /Keil librarySinclude <stdio. h> /Keil library#include <INTRINS. H>#defineuchar unsigned char#defineuint unsigned int#defineDataPort PO/LCD 1602 數(shù)據(jù)端口sbitSCL=PrO;/IIC時(shí)鐘引腳定義sbitSDA=Pri;/IIC數(shù)據(jù)引腳定義sbitLCM_RS=P20;

17、/LCD 1602 命令端口sbitLCM_RW=P21;/LCD 1602 命令端 口sbitLCM_EN=P2-2;/LCD 1602 命令端口#define SlaveAddress 0xA6 定義器件在 HC總線中的 從地址,根據(jù)ALT ADDRESS地址引腳不同修改/ALT ADDRESS引腳接地時(shí)地址為0xA6,接電源時(shí)地址為0x3A typedef unsigned char BYTE;BYTE BUF8;typedef unsigned short WORD;接收數(shù)據(jù)緩存區(qū)顯示變量變量初始化lcdl602uchar ge, shi, bai, qian, wan;int dis

18、_data;void delay(unsigned int k);void InitLcdO ;void Init_ADXL345 (void);初始化 ADXL345void WriteDataLCM(uchar dataW);void WriteCommandLCM (uchar CNID, uchar Attribc);void DisplayOneChar(uchar X, uchar Y, uchar DData);void conversion(uint temp_data);void Single_Write_ADXL345(uchar REG_Address, ucharREG

19、_data);單個(gè)寫入數(shù)據(jù)uchar Single_Read_ADXL345(uchar REG_Address);單個(gè)讀取內(nèi)部寄存器數(shù)據(jù)voidMultiple_Read_ADXL345();連續(xù)的讀取內(nèi)部寄存器數(shù)據(jù)/void Delay5us ();void Delay5ms ();void ADXL345_Start();void ADXL345_Stop();void ADXL345_SendACK(bit ack);bit ADXL345_RecvACK();void ADXL345_SendByte(BYTE dat);BYTE ADXL345_RecvByte();void AD

20、XL345_ReadPage();void ADXL345_WritePage();/*void conversion(uint temp_data)(wan=temp_data/10000+0x30 ;temp_data=temp_data%10000; 取余運(yùn)算qian=temp_data/1000+0x30 ;t emp_da t a=t emp_da t a% 1000;取余運(yùn)算bai=temp_data/100+0x30;t emp_da t a=t emp_da t a% 100;取余運(yùn)算shi=temp_data/10+0x30;t emp_da t a=t emp_da t a

21、% 10;取余運(yùn)算ge=temp_data+0x30;/ / /void delay(unsigned int k) unsigned int i, j;for (i=0;i<k;i+) for(j=0;j<121;j+);/ / /void WaitForEnable(void)void WaitForEnable(void)DataPort=Oxff;LCM_RS=0;LCM_RW=l;_nop_();LCM EN=1; nop () ; nop () ; nop () ; nop ();while (DataPort&0x80);LCM_EN=0; _nop_ ()

22、; _nop_ ();/ / f/void WriteCommandLCM(uchar CNffi,uchar Attribc) if (Attribc)WaitForEnable();LCM_RS=0;LCM_RW=0;_nop_();DataPort=CMD; nop () ; nop () ; nop () ; nop ();LCM EN=1; nop () ; nop () ; nop () ; nop () ;LCM EN=0;/ / f/void WriteDataLCM(uchar dataW)WaitForEnableO ;LCM_RS=1; LCM_RW=0 ;_nop_0

23、;DataPort=dataW; _nop_ ();LCM EN=1;nop_() ; _nop_ () ;_nop_() ;_nop_();LCM_EN=0;/vL vL vL vL/ /void InitLcdOWriteCommandLCM(0x38,1);WriteCommandLCM(0x08, 1);Wr i teCommandLCM(0x01, 1);WriteCommandLCM(0x06, 1);WriteCommandLCM(0x0c, 1);/vL vL vL vLvL vL vL vL/f void DisplayOneChar (uchar X,uchar Y, uc

24、har DData)Y&=1;X&二15;if (Y)X|=0x40;X|=0x80;Wr i teCommandLCM(X, 0);WriteDataLCM(DData);延時(shí)5微秒%A %A vt vt vt >X >1# >1# vL %£ %£ %£ £z Az Az Az Az >X >X >X >1# >1# vL vl/fvoid Delay5us ()(_nop_ () ;_nop_() ;_nop_() ;_nop_();_nop_ () ;_nop_() ;_nop_()

25、 ;_nop_();_nop_ () ;_nop_() ;_nop_() ;_nop_();/vt vtx x x x/延時(shí)5毫秒%A %A vt vt vt >X >1 >1 vL vL vL vL >£z >Az >Az >Az >Az >X >X X >1 >1 vL vLvt vt vt vt/fvoid Delay5ms()WORD n = 560;while (n一一);/vt vt/起始信號(hào)%A %A vt vt vt >X >1 >1 vL vL vL vL >£

26、z >Az >Az >Az >Az >X >X X >1 >1 vL vLvt vt vt vt/fvoid ADXL345_Start()SDA = 1;SCL = 1;拉高數(shù)據(jù)線 拉高時(shí)鐘線Delay5us ();延時(shí)SDA = 0;Delay5us ();SCL = 0;產(chǎn)生下降沿延時(shí)拉低時(shí)鐘線/vt/停止信號(hào)%A %A vt vt vt >1# >1# vL vL vL vL >£z >Az >Az >Az >Az>1# >1# VL*/fvoid ADXL345_Stop(

27、)(拉低數(shù)據(jù)線拉高時(shí)鐘線延時(shí)產(chǎn)生上升沿延時(shí)SDA = 0;SCL = 1;Delay5us ();SDA = 1;Delay5us ();/vt vti發(fā)送應(yīng)答信號(hào)入口參數(shù):ack (O:ACK 1:NAK)>1 vL vL vL vL >£z >Az >Az >Az >Az>1 >1 vL vl/fvoid ADXL345_SendACK(bit ack)SDA = ack;SCL = 1;Delay5us ();SCL = 0;Delay5us ();寫應(yīng)答信號(hào)拉高時(shí)鐘線延時(shí)拉低時(shí)鐘線延時(shí)/>A vl vl/接收應(yīng)答信號(hào)%A

28、%A vt vt vt >1 >1 vL vL vL vL >£z >Az >Az >Az >Az>1 >1 vL vl/fbit ADXL345 RecvACKOSCL = 1;拉高時(shí)鐘線延時(shí)Delay5us ();讀應(yīng)答信號(hào)拉低時(shí)鐘線延時(shí)CY = SDA;SCL = 0;Delay5us ();return CY;/vt vtvf>/向HC總線發(fā)送一個(gè)字節(jié)數(shù)據(jù)%A %A xt vt vt >1# >1# vL vL vL vL >£z >£z >£z >&

29、#163;z >£x>1# >1#vt vt vt vt/>T >T 7fvoid ADXL345_SendByte(BYTE dat)BYTE i;for (i=0; i<8; i+)/8位計(jì)數(shù)器dat <<= 1;移出數(shù)據(jù)的最高位SDA 二 CY;送數(shù)據(jù)口SCL = 1;拉高時(shí)鐘線延時(shí)拉低時(shí)鐘線延時(shí)Delay5us ();SCL = 0;Delay5us ();)ADXL345_RecvACK();從HC總線接收一個(gè)字節(jié)數(shù)據(jù)vt vt vl>1 >1 vL vL vL vL £z Az Az Az Az>

30、1 >1L*vl vl vl vl/7fBYTE ADXL345_RecvByte()BYTE i;BYTE dat = 0;SDA = 1;數(shù)據(jù),for (i=0; i<8; i+)使能內(nèi)部上拉,準(zhǔn)備讀取/8位計(jì)數(shù)器dat <<= 1;SCL = 1;拉高時(shí)鐘線Delay5us ();延時(shí)dat |= SDA;讀數(shù)據(jù)SCL = 0;拉低時(shí)鐘線Delay5us ();延時(shí)return dat;/*-Hj-(、(、.卜,卜,、,., V、V、V、4. V、,;、,;、,;、.卜,卜 4、,、.、,. V、V、V、V、,;、,;、,;、,;、.卜,卜,、,、,、1、V、&#

31、171;. 4、void Single_Write_ADXL345(ucharREG Address, ucharREG_data)ADXL345_Start();起始信號(hào)ADXL345_SendByte(SlaveAddress);發(fā)送設(shè)備地址+寫信號(hào)xWXL345_SendByte(REG_Address);內(nèi)部寄存器地址,xWXL345_SendByte (REG_data);內(nèi)部寄存器數(shù)據(jù),ADXL345_Stop ();發(fā)送停止信號(hào)* 單 字 節(jié) 讀 取.V 'V'Vuchar Single_Read_ADXL345(uchar REG_Address) uchar

32、REG_data;ADXL345_Start ();起始信號(hào)ADXL345_SendByte (SlaveAddress) ;/發(fā)送設(shè)備地址+寫信號(hào)ADXL345_SendByte(REG_Address) ;/發(fā)送存儲(chǔ)單元地址,從。開始ADXL345_Start ();起始信號(hào)xWXL345_SendByte(SlaveAddress+1);發(fā)送設(shè) 備地址+讀信號(hào)REG_data=ADXL345_RecvByte ();讀出寄存器數(shù)據(jù)ADXL345_SendACK(l);ADXL345_Stop();return REG_data;停止信號(hào)*/連續(xù)讀出ADXL345內(nèi)部加速度數(shù)據(jù),地址范圍0

33、x320x37/*void Multiple_read_ADXL345(void)uchar i;ADXL345_Start();起始信ADXL345_SendByte(SlaveAddress);發(fā)送設(shè)備地址+寫信號(hào)ADXL345_SendByte(0x32);發(fā)送存起始信發(fā)送設(shè)連續(xù)讀取6/BUF0最后一回應(yīng)ACK儲(chǔ)單元地址,從0x32開始ADXL345_Start ();號(hào)ADXL345_SendByte(SlaveAddress+1);備地址+讀信號(hào)for (i=0; i<6; i+)個(gè)地址數(shù)據(jù),存儲(chǔ)中BUF(BUFi = ADXL345_RecvByte();存儲(chǔ)0x32地址中的

34、數(shù)據(jù)if (i = 5)(ADXL345_SendACK(l);個(gè)數(shù)據(jù)需要回NOACK)else(ADXL345_SendACK(0);ADXL345_Stop();Delay5ms ();%L %A vt vt xt >X%£ %£ %£ .J停止信號(hào)/初始化ADXL345 ,根據(jù)需要請(qǐng)參考pdf進(jìn)行修改V kAx ., ." .!" q" .“ 1*" vl>X X" fx(、,;、,;、,;、,;、,;、xTx xTx,、,卜,、,. . xtx x?x (、xvx ,;、,;、,;、xTx xT

35、x Txvoid Init_ADXL345()Single_Write_ADXL345(0x31, OxOB);測(cè)量范圍,正負(fù)16g, 13位模式Single_Write_ADXL345(0x2C, 0x08);速率設(shè)定為12. 5Single_Write_ADXL345(0x2D, 0x08);選擇電源模式Single_Write_ADXL345(0x2E, 0x80);使能 DATA_READY中斷Single_Write_ADXL345(0xlE, 0x00) ;/X 偏移量 根據(jù)測(cè)試傳感器的狀態(tài)寫入Single_Write_ADXL345(0xlF, 0x00) ;/Y 偏移量根據(jù)測(cè)試

36、傳感器的狀態(tài)寫入Single_Write_ADXL345(0x20, 0x05) ;/Z 偏移量根據(jù)測(cè)試傳感器的狀態(tài)寫入%A >A vt vt xt >1# >1# vL vL vL vL >£z >Az >Az >AzXTX,;、;、,;、,:、,:、xTx xTx,、,、,、,. XTX 4、. «、X?x .;、顯示X軸void display_x() float temp;dis_data=(BUFl«8)+BUF0; 合成數(shù)據(jù)if (dis_data<0)di s_data=-di s_data;Displ

37、ayOneChar0,' -'); 顯示正負(fù)符號(hào)位)else DisplayOneChar (2, 0,J '); 顯示空格temp= (float)dis_data*3. 9; 計(jì)算數(shù)據(jù)和顯示,conversion (temp);轉(zhuǎn)換出顯示需要的數(shù)據(jù)DisplayOneChar (0, 0,,); 第 0 行,第 0 列 顯示 XDisplayOneChar (1,0,':;DisplayOneChar(3, 0, qian);DisplayOneChar(4, 0,.);DisplayOneChar(5, 0, bai);DisplayOneChar(6, 0, shi);DisplayOneChar (7, 0, ' g');*/顯示 y 軸 void display_y() float temp;dis_data=(BUF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論