微控制器實驗 三軸磁場模組 GY 271

2021-09-06 10:39:48 字數 1501 閱讀 9130

最近買了一塊三軸磁場模組進行實驗

名稱:hmc5883l模組(三軸磁場模組)

型號:gy-271

使用晶元:hmc5883l

供電電源:3-5v

通訊方式:iic通訊協議

測量範圍:±1.3-8 高斯

mcu: stc89c52rc

遇到的問題與解決方法:

1) 我的實驗板 p1.0, p1.1 直接連線了板載液晶1602的插口

而作為i2c協議的sdl, scl輸入, 我必須把p1.0, p1.1 空出來,所以我用外接線連線了液晶

2) 看說明貌

似 gy-271 輸出是3.3v, 我先打算用上拉電阻, 而後用示波器看資料, 高電平是5v (懷疑 gy-271 上面已經有上拉電阻了 )

去掉上拉電阻一樣工作

實驗如上:

現在是顯示水平的的角度, 我把gy-271以垂直方向為軸, 水平旋轉, 顯示屏顯示 0-360, 看來實驗成功了

有空再驗證一下其他軸向

附 i2c 問題集:

上拉電阻。

硬體上,一般i2c都要求接上拉電阻,mcu可以內建上拉電阻除外。為什麼呢?主要是因為i2c通訊的ack訊號,當釋放時,需要把data線拉高。

傳送資料時序。

下降沿改變資料,上公升沿傳送資料。( scl 下降後馬上調整 sdl, 等scl上公升的時候, 就是其他模組來讀取的時候) (scl高電位的時候, 如何, sdl有變化,就不是資料傳輸而是啟動停止)

sub位址的選定。

這個sub位址也是因晶元而多樣化。如:

1、指定要程式設計的具體sub register,如24c02,可以編寫/讀出內部的任何位址的資料;

2、內部沒有指定的sub 位址可選擇,讀或寫時,都只能從某一固定的位址開始,例如:要讀0x17的位址的資料,而該晶元固定只能從0x16開始讀,則只能讀出兩位元組。晶元如之前博文中提到的收音ic:si47***

連續寫。

i2c不僅提供了單個byte的讀出/寫入,也提供了連續位址的讀出/寫入,如si47***。連續位址操作時,內部位址register會自動+1,只要連續往裡送資料即可,但要注意ack訊號的回應。(每寫8個資料,要檢查一下ack)

ack訊號。

ack是應答訊號,出現在第九個clk,但並不是每個byte都要出現。如接收一串連續的資料,當接收完成,在最後乙個byte時,不需要回答ack訊號給晶元。

注意晶元的頻率。

頻率問題是因晶元而異的,有一些執行速度很快,400khz也正常;有一些比較慢,超過100us乙個clk。前者,對user而言,現的問題不多,後者,卻要令user增加不少延時。這就是每個ic都有時序要求的說明文件,裡面一定有各個時間值的最大或最***。

位元組序每個資料位元組在傳送時都是高位(msb)在前。

微控制器實驗 三軸磁場模組 GY 271

最近買了一塊三軸磁場模組進行實驗 名稱 hmc5883l模組 三軸磁場模組 型號 gy 271 使用晶元 hmc5883l 供電電源 3 5v 通訊方式 iic通訊協議 測量範圍 1.3 8 高斯 mcu stc89c52rc 遇到的問題與解決方法 1 我的實驗板 p1.0,p1.1 直接連線了板載...

微控制器彩燈移動實驗 微控制器彩燈實驗

一 任務要求 實驗內容 利用 c8051f310 微控制器設計乙個彩燈控制器 主要功能和技術指標要求 1.控制 led七段數碼管按照特定方式閃爍。2.閃爍模式不少於 種。3.利用鍵盤控制彩燈閃爍模式切換。提高要求 使用按鍵 kint 控制led 燈閃爍頻率,閃爍頻率多級可調。二 設計思路 功能實現 ...

微控制器 LED實驗

實 驗 報 告第頁 專業 軟體工程 班級 4 學號 123012005158 實驗日期 2007年11 月27 告退發 訂正 重做 課程微控制器程式設計 實驗名稱 led實驗 一 實驗目的 掌握 led工作原理和使用方法 二 實驗環境 pc,kc,51 板三 實驗內容 步驟和結果分析 編寫時鐘程式,...