微控制器iic匯流排問題,51微控制器iic匯流排有哪些io口

2025-02-03 11:35:35 字數 2375 閱讀 1133

1樓:網友

你能看懂時序圖,應該能理解的了。sda是傳輸的資料,而scl是時鐘的脈衝,程式中乙個時鐘的脈衝是從乙個高電平開始,保持一段時間後轉成低電平,持續時間的長短由器件引數和速度確定。而應答或非應答則是從器件通過在這個時間內拉低sda電平,表示自己存在。

51微控制器iic匯流排有哪些io口

2樓:乾萊資訊諮詢

io口模擬其實就是資料口配合時鐘口羨改一位一位地接受或傳送資料,然後存到記憶體裡。

微控制器又稱單片微控制器,它不是完成某乙個枯派渣邏輯功能的晶元,而是把乙個計算機系統整合到乙個晶元上。

相當於乙個微型的計算機,和計算機相比,微控制器只缺少了i/o裝置。概括的講:一塊晶元就成了一臺計算機。

它的體積小、質量輕、**便宜、為學習、應用和開發提供了便利條件。同時,學習使用微控制器是瞭解計算機原理與結構的最佳選擇。

微控制器的使用領域已十分廣泛,如智慧型儀表、即時工控、通訊裝置、導航系統、家用電器等。

運算器有兩個功能:

1)執行各種算術運算。

2)執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。

運算器所執行沒悄全部操作都是由控制器發出的控制訊號來指揮的,並且,乙個算術操作產生乙個運算結果,乙個邏輯操作產生乙個判決。

在微控制器中iic中如果沒有應答訊號微控制器如何處理

3樓:網友

應答是接收設別自動產生的,不一定是從機。在iic上除了開始,停止和重複開始外,所有資料都在在時鐘的低電平公升擾數變化的,也就是為高後,資料就應該穩定了。所以如果是模擬匯流排,應先有下降沿,再設為輸入,然後讀ack,如果是從機的應答,是自動產生的,是作為資料通訊正確的判斷標誌吵首,為了可靠,是要判斷的。

主機的應答一般李棚是程式控制的,如果要結束匯流排,可以給也可以不給應答;如果要繼續讀資料,就必須給出應答。

iic匯流排的應答訊號問題

4樓:昔魄守向露

1、首先iic通訊要分清主機與從機的關係,在主機對從機進行寫操作時,一般是在傳送完乙個資料之後微控制器就進入檢測應答訊號狀態:先將兩個腳置位sda=1;scl=1;然後在一定時間內不斷檢測sda腳的電平狀態,比如說你弄個迴圈for(i=255;i>0;i--)進行不斷判斷,當sda的電平為低時就跳出迴圈,說明此時從機已經ack,就可說明是i2c器件拉低;如果為高時,則一直判斷完整個迴圈,到最後還為高時,就說明沒有應答。

2、寫應答和讀應答肯定有所區別的。寫應答是在你讀從機資料期間,當你接收到乙個資料時,可以應答的(想繼續通訊就應答),就將sda復位(拉低),不想應答(想結束通訊時)就置位(sda=1)。讀應答則在主機寫資料給從機期間,每當從機接收到乙個資料就會應答一下(將資料sda線拉低),主機將不斷檢測sda線的電平,主機就是憑sda的電平狀態才知道從機是否已經正確地接收了主機傳送的資料。

最近剛學微控制器一直搞不明白請微控制器的i2c匯流排是什麼?怎麼實現,需要單獨的晶元來實現嗎?

5樓:做而論道

它是一條匯流排,包括兩條導線:一條資料線sda,一條時鐘線scl。

微控制器通過這條匯流排,和外接的各個晶元進行通訊。

想傳送一位元組資料,就必須在資料線sda上一位一位的傳輸;

每傳送一位,在時鐘線scl上要輸出乙個脈衝。

另外還有「起始」、「終止」和「應答」位,這些看時序圖即可理解。

匯流排上,可以掛接多個器件,這就有了「從位址」的問題;

在某個器件內部,可能有多個儲存單元,這就有了「字位址」的問題。

i2c匯流排,確實是很羅嗦的。

6樓:網友

主片和從片之間的通訊線時鐘和資料線。

7樓:網友

一條是資料線sda,一除錯時鐘線scl,微控制器是更具時序來判斷接受資料的。看懂時序圖就行。

iic匯流排51程式設計,程式寫出來不行啊,問題在**啊?

8樓:颯爽又輕快灬魚丸

沒有仔細看你的程式,寫不進去通常有幾種原因:

1.匯流排時序控制不當或電平不當,我留意到你是用p2口的兩隻腳來做連線,不知道你有沒有接上拉電阻,是否符合時序就靠你自己來詳細核對了。

的位址解碼引腳的連線方式和程式中的iic命令裡的"晶元位址"不匹配。

3.寫動作結束後需要10毫秒等待時間,如果提前去讀,則會得不到響應。

晶元已壞或者cpu有關引腳失效。

9樓:危森弘懋

你這樣的排版,讓人怎麼看,問題提的不簡潔,也就得不到滿意的答案。

10樓:譙麗甫昊焱

彙編的看起來好亂,建議用c51,學起來也輕鬆。

51微控制器URAT中斷接收資料,51微控制器串列埠接收多個字元 假如是4位元組 ,是分4次中斷傳輸的,還是一次中斷完成的?

t1定時器的初始化程式 void init1 main void main tmod 0x01 th0 th0 tl0 tl0 es 1 允許uart串列埠的中斷ri 0 ea 1 et0 1 tr0 1 init1 main tmod,被初始化了兩次不同的數值,只有最後一次,才是有效的。應該統一使...

51微控制器中斷執行過程?坐等,51微控制器中斷中的斷點地址問題,坐等!!!!

51微控制器中斷執行過程,如外部中斷。當 cpu 檢測到 有 中斷觸發 訊號後,首先 執行完成 當前執行的指令,將下一條指令 的 地址 壓入堆疊,cpu 進入中斷 入口 地址,開始 執行 中斷服務程式,當然在中斷服務程式中不能破壞正常執行 程式的各種 暫存器的 狀態 和 資料,中斷服務 程式執行 完...

上位機給51微控制器傳送ASCII碼,微控制器如何在液晶中顯示出來對應的字元呀

液晶屏帶字型檔嗎 如果不帶的話 就把字型檔存到微控制器的 程式儲存器裡 然後在用程式呼叫 回。具體的情況具 答體分析 要有2方面的知識 1 微控制器液晶屏驅動要正確。可以先顯示幾句英文 2 上位機是用微控制器 還是用pc機做的 如果是pc機 要先把pc與微控制器的通訊做好。一般是rs232通訊 用串...