微控制器模擬串列埠通訊有什麼利弊,微控制器硬雙串列埠有什麼意義

2021-03-20 04:30:24 字數 1545 閱讀 4557

1樓:做而論道

串列埠通訊,或者 iic 通訊,應該是由專門的硬體,來完成的。

cpu 對這些硬體,設定一下,再傳送一下資料,就可以等待結果了。

有些微控制器,太簡陋,沒有相應的硬體,只能用軟體程式設計,模擬硬體,來實現。

執行這些程式,當然,必須佔用 cpu 的時間。這就是《佔用大量的cpu資源》。

有時,還要使用定時器、中斷源,這也是《佔用大量的資源》。

2樓:seyen媛

隨著微控制器的使用日益頻繁,用其作前置機進行採集和通訊也常見於各種應用,一般是利用前置機採集各種終端資料後進行處理、儲存,再主動或被動上報給管理站。這種情況下下,採集會需要一個串列埠,上報又需要另一個串列埠,這就要求微控制器具有雙串列埠的功能,

但我們知道一般的51系列只提供一個串列埠,那麼另一個串列埠只能靠程式模擬。

所說的模擬串列埠, 就是利用51的兩個輸入輸出引腳如p1.0和p1.1,置1或0分別代表高低電平,也就是串列埠通訊中所說的位,如起始位用低電平,則將其置0,停止位為高電平,則將其置1,各種資料位和校驗位則根據情況置1或置0。

至於串列埠通訊的波特率,說到底只是每位電平持續的時間,波特率越高,持續的時間越短。如波特率為9600bps,即每一位傳送時間為1000ms/9600=0.104ms,即位與位之間的延時為為0.

104毫秒。微控制器的延時是通過執行若干條指令來達到目的的,因為每條指令為1-3個指令週期,可即是通過若干個指令週期來進行延時的,微控制器常用11.0592m的的晶振,現在我要告訴你這個奇怪數字的來歷。

用此頻率則每個指令週期的時間為(12/11.0592)us,那麼波特率為9600bps每位要間融多少個指令週期呢?指令週期s=(1000000/9600)/(12/11.

0592)=96,剛好為一整數,如果為4800bps則為96x2=192,如為19200bps則為48,別的波特率就不算了,都剛好為整數個指令週期。

3樓:匿名使用者

如果微控制器有串列埠,用它是最好的,程式設計方便,介面現成.模擬是為了解決老式的微控制器無串列埠的一種替代方法.對於學習串列埠的工作原理理解有意,但需要微控制器模擬出串列埠的時鐘以及對應的時序關係來,因此微控制器需要模擬,計算,傳送,接收時也需要判斷時序和有用訊號的分解還原.

4樓:匿名使用者

模擬串列埠通訊,或者模擬iic通訊都會佔用大量的cpu資源,這種**不成熟,如果是使用延時方式做的話,確實會佔用大量的cpu資源,但是使用中斷和其它方式配合的方法,其實不會很佔資源,這個要看個人的能力。

5樓:匿名使用者

模擬串列埠通訊沒有做過,模擬iic通訊倒是做過了的,對於iic來說就是要cpu控制一個i/o實現高頻率的翻轉來提供時鐘,而另外一個i/o作為資料線,因為i/o的高速翻轉,所以要大量佔用cpu的資源。

微控制器硬雙串列埠有什麼意義

6樓:匿名使用者

意義很大,比如多cpu微控制器系統,還需要與上位機通訊,雙串列埠就可以發揮作用了。

7樓:

可同時與兩個串列埠通訊...如果只有一路的就沒辦法同時了。

微控制器串列埠通訊的原理微控制器串列埠通訊原理

串列埠通訊的概念非常簡單,串列埠按位 bit 傳送和接收位元組。儘管比按位元組 byte 的並行通訊慢,但是串列埠可以在使用一根線傳送資料的同時用另一根線接收資料。它很簡單並且能夠實現遠距離通訊。比如ieee488定義並行通行狀態時,規定裝置線總長不得超過20米,並且任意兩個裝置間的長度不得超過2米...

51微控制器串列埠通訊問題

c51微控制器的程式 1 初始化程式 tmod 0x20 th1 0xfd tl1 0xfd 0 0 1 1 ren 1 tr1 1 ea 1 es 1 2 傳送程式 void data send 串列埠傳送資料3 接收資料 void data receive interrupt 4 include...

51微控制器與vb通過串列埠通訊,微控制器為什麼只能傳送0至

傳送大數,你只能多次傳送,一次只能傳送一幀,而串列埠傳送的一幀可能是7 8 9位,由你設定而定。51微控制器是8位的,一次只能處理8位資料,也就是一個位元組,一個位元組只能表示0 255的大小的資料。一個位元組確實只能是0 255,但你可以連續發兩個位元組然後在vb裡面組成一個大於255的數。比如發...