微控制器之串列埠通訊

2021-09-30 05:05:19 字數 958 閱讀 3843

13:54:08

雖然自己還有很多的不懂,但是我可以慢慢的學習,一點點的積累。微控制器串列埠通訊有以下的知識。

 電平轉換

微控制器ttl電平,邏輯0為電壓0v,邏輯1為電壓+5v。

rs-232電平特性:

邏輯1(mark)=-3v~-15v

邏輯0(space)=+3~+15v

在rts、cts、dsr、dtr和dcd等控制線上:

訊號有效(接通,on狀態,正電壓)=+3v~+15v

訊號無效(斷開,off狀態,負電壓)=-3v~-15v

常用電平轉換晶元max232可以完成雙向電平轉換,還有其他一些常用單向轉換晶元不在敘述。

 串列埠通訊方式

51系列微控制器串列埠通訊方式總共有四種,由串列埠控制暫存器scon設定, 方式0和方式2的波特率是固定的,方式1和3波特率是可變的,計算公式為

如果pcon中的smod位為1則;

波特率 = 2*(t1的溢位率)/32

如果pcon中的smod位為0則;

波特率 = 1*(t1的溢位率)/32

溢位速率=(計數速率)/(所用週期數)

計數速率與晶振有關,計數速率即機器週期的倒數,為fose/12。fose為晶振頻率。

所用週期與定時器工作方式和初值有關。

 通訊協議

通訊方式中的誤碼問題,一般採用資料校驗的辦法

奇偶校驗。

校驗和。

crc校驗(迴圈冗餘校驗)。

關於crc校驗,弄的不是很明白,希望高手可以詳細給我講解。好了說一點知道的吧,crc校驗是利用生成的多項式(原理比較多)最高次冪n一般為4、8、16、32等等,首先把資料後新增n位,然後再和多項式進行二進位制除法(就是異或運算)最後得到的餘數即為crc校驗碼,然後加在資料位後面一起傳送。

通訊中先發低位,後高位。傳送完資料由硬體置ri為1,ri只能用軟體清零。接受完一幀資料硬體置ti為1,軟體清零。

微控制器串列埠通訊

微控制器串列埠通訊 通常的usb序列通訊方式為全雙工,即兩條資料線 rxd和txd,一條用於傳送資料,一條用於接收資料。在序列通訊前,需要對序列通訊進行配置。對於微控制器 ri為接受中斷標誌位,未通訊時ri 0 當電腦傳送第乙個位元組幀a0到微控制器時,sbuf a0,中斷標誌位ri 1,微控制器呼...

微控制器串列埠通訊

1 需求 實現電腦端控制微控制器開啟燈光風扇,顯示微控制器傳遞過來的資料 如溫度 濕度等 2 工具 平台軟體 驅動人生 vs2012 keil4 3 下面就開始吧 4 檢視我們當前的通訊埠號 如圖 然後確定我們微控制器的晶振,我是用的是11.0592m的 即9600 差不多我們就可以開始我們的開發了...

微控制器串列埠通訊

1 每隔1秒鐘,a向b通過串列埠傳送乙個位元組c num 該位元組按照0x00 0x09迴圈,例如某一時刻傳送c num 0x 3 2 b接收到資料後,做9 c num的計算,並將計算結果通過串列埠傳送給a微控制器。例如b接收到0x03,則b要通過串列埠返回0x09 0x03 0x06給微控制器a ...