Ⅰ 最近剛學單片機一直搞不明白請單片機的I2C匯流排是什麼怎麼實現,需要單獨的晶元來實現嗎
它是一條匯流排,包括兩條導線:一條數據線SDA,一條時鍾線SCL。
單片機通過這條匯流排,和外接的各個晶元進行通信。
想傳送一位元組數據,就必須在數據線SDA上一位一位的傳輸;
每傳送一位,在時鍾線SCL上要輸出一個脈沖。
另外還有「起始」、「終止」和「應答」位,這些看時序圖即可理解。
匯流排上,可以掛接多個器件,這就有了「從地址」的問題;
在某個器件內部,可能有多個存儲單元,這就有了「字地址」的問題。
I2C匯流排,確實是很羅嗦的。
Ⅱ 如何構建AT89系列單片機擴展的系統匯流排
擴展系統匯流排是在需要擴展外部數據存儲器RAM的情況下才這么做的,但不要用於擴展外部程序存儲器ROM,如果ROM是用來存放字型檔是可以的。因為現在的單片機片內的程序存儲器的容量很大,不需要在外部擴展,更主要是不便於程序加密。如果僅僅是為了完成老師的作業那就這樣做:P0口8條線直接接出來就是8條數據線D0-D7,P0口再接一片74LS373,做低8位地址鎖存器,單片機的ALE接到373的CLK端,這樣373輸出端就是低8位地址匯流排A0-A7了。P2口直接接就是高8位地址匯流排A8-A15。P3.6是寫數據存儲器的寫信號WR,P3.7是讀信號RD,這兩條即是控制匯流排。
Ⅲ 單片機匯流排的用法
只要硬體做好了,
用指令:
MOVX DPTR,A
就可以了,數據會出現在鎖存器上。
Ⅳ 關於單片機地址匯流排的操作方法
很多初學者都這么問呢,實際上這是你的老師重點強調的內容。
你說的是51單片機把?對於匯流排工作方式,讀寫外部存儲器或者IO的數據時,只要執行MOVX指令就可以了,WR、RD、ALE這些信號都是硬體自動產生的,不需要你自己寫程序去控相應信號線的電平,或者簡單說一點,你無法控制ALE的信號變化!就這樣,只要你執行了MOVX指令就自動將數據讀取或者寫入了。
Ⅳ 什麼是單片機的擴展匯流排
很多並行介面器件,如ROM,RAM,I/O等都是採用地址匯流排,數據匯流排,控制匯流排的三匯流排結構與CPU通訊,當擴展這些器件時,單片機就相當於一隻CPU,需要用單片機的I/O口來擴展出來三匯流排,而單片機在設計時考慮到了這樣的情況,對51單片機來說,P2P0合起來是16位地址匯流排(定址64K),P0口分時當數據匯流排來用(8位),P3口相當於控制匯流排。
Ⅵ 單片機擴展地址匯流排和數據匯流排分別如何實現
那首先要晶元本身就具有匯流排功能的並有相應的I/O口,如除了數據,地址口外還要有相應的讀,寫口,對「馮」匯流排模式還需外有低位地址鎖存器及相應的地址鎖存信號。有了這條件後再選用有要對應規定用的器件。如I和M的匯流排規范就不一樣,器件就不好換用。這時再一一聯上,OK!
Ⅶ intel8051單片機進外部擴展時,如何形成匯流排控制匯流排有哪些信號
外部擴展時,P0口作為數據匯流排以及通過373作為地址匯流排的低八位,P2作為地址匯流排的高八位。P3.6/P3.7作為讀寫控制信號。
Ⅷ 多個STC12C5A60S2單片機如何連入CAN匯流排
這個問題比較復雜,首先STC12C5A60S2是一款不帶CAN匯流排的單片機,需要外接CAN匯流排控制器,例如SJA1000,好像是飛利浦的晶元,與單片機並行通訊,協議很復雜,所以我建議用帶CAN匯流排的單片機,例如STM8系列,C8051系列,這樣外接一個CAN匯流排收發器就行了,簡單方便
Ⅸ 80c51單片機如何擴展外部匯流排
用鎖存器74LS375,74HC573擴展,用8255也可以擴展,其中一個8255可以把單片機的P0口擴展為三個8位I/O口。
Ⅹ PROTUES 時鍾晶元12C877的ad[0..7]匯流排, 怎麼和單片機的P1口連接呀
是DS12C887呀。那是匯流排介面,首先也要畫一條匯流排,然後給匯流排加網路標號D[0..7],注意,[ ]括弧內是兩個小數點。再與單片機用8條線也P1口連接,再分別給每條導線加網路標號。見下圖。