今天上午花了個把小時看了一下MMA7455的數(shù)據(jù)手冊,寫了一個MMA7455 加速度傳感器的底層程序,采用SPI通信方式 ,網(wǎng)上關(guān)于此芯片SPI方式的資料好像比較少,但我個人覺得SPI比IIC好用很多,簡單實用,而且速度比IIC要快 。
現(xiàn)簡單說明一下!!!此程序原創(chuàng),寫的程序應(yīng)該是比較容易看懂的,采用軟件模擬SPI實現(xiàn),(數(shù)據(jù)時8位模式的,好像10位模式很簡單,只需要換個地址就OK了,只測試了8位數(shù)據(jù)模式)模塊化的程序,幾乎不用修改可以直接移植到51、AVR等其他單片機(jī)上(只需要改個對應(yīng)的IO口即可!!),實驗室人在51上測試沒有問題。還算比較穩(wěn)定。測試了一下X、Z軸數(shù)據(jù)偏差不大,但是Y軸偏差比較大,應(yīng)該需要矯正補(bǔ)償!!!
對于矯正的問題,我也看了一下,好像內(nèi)部有個矯正寄存器,X、Y、Z軸對應(yīng)的OFF7-OFF0,不知道具體如何矯正,還有其對應(yīng)的64LSB-0.5LSB是什么意思,LSB不是低位的意思嗎????
還有一個任務(wù)就是把X、Y、Z軸的加速度轉(zhuǎn)化為對應(yīng)的角度值,這個怎么執(zhí)行呢??個人想了一下,應(yīng)該是通過X、Y、Z軸的加速度算出傳感器平面和重力加速度方向的夾角,計算出這個值之后,采用arcsin來算出傳感器平面與重力方向的夾角。不知道正不正確,具體實現(xiàn)呢???直接采用math.h頭文件中的數(shù)學(xué)函數(shù)實現(xiàn)嗎????那如果要計算與對應(yīng)基準(zhǔn)平面的夾角呢???不是與重力方向夾角。這個還是有點(diǎn)問題。請大蝦指點(diǎn)。
特別,把我今天上午研究的程序和所用到得資料全部上傳,供大家參考!!!!!
數(shù)據(jù)手數(shù)據(jù)手冊 MMA7455L.pdf
中文手冊 MMA7455中文.doc
應(yīng)用手冊1 AN3468.pdf
應(yīng)用手冊2 AN3745.pdf
測試程序 MMA7455 430 測試程序.zip