微控制器串列埠通訊的波特率什麼意思,為何不同環境下一定要設定某一

時間 2021-08-31 20:03:20

1樓:匿名使用者

波特率是指每秒傳送多少個二進位制數,也就是序列時鐘訊號的頻率,但是我們常用非同步通訊方式,時鐘訊號並沒有被傳輸,因此傳送方和接受方的設定波特率必須一致,並且不能有太大的誤差

2樓:匿名使用者

波特率就好比一首歌曲的節奏,有了這個節奏,序列通訊的各個資料位就會有條不紊地依次排隊一個一個地傳到對方,要正確收發,兩個通訊的主體的節奏必須一致,至於你說的不同環境我覺得,可以理解為:傳輸距離的遠近,周圍電磁干擾的強弱等等,當然距離越遠、干擾越大波特率相應的要小,降低速度以提高傳輸的準確性。

3樓:平靜的心情追夢

微控制器序列通訊波特率就是每傳送兩個資料的之間的間隔,或者是每秒鐘傳送的位元組數,你在進行序列通訊時,是兩個微控制器進行通訊,那肯定是要進行同步的(波特率要相同),要不然通訊沒法建立。波特率的設定注意點一般就是 如果晶振是12m的話,波特率最高只能為2400(因為再高的話,會出現很大的時間誤差,接收的資料出現亂碼) 如果是11.0592m 的話,波特率可以達到9600.

希望能幫到你。

89c52微控制器中,序列口工作方式1時,每次傳送8位資料是什麼意思?

4樓:匿名使用者

序列資料的傳送實際上就是靠改變io口電平來實現的,io口在同一時間就只能表示兩種狀態:高低電平,對應資料位0或1.串列埠第次傳送8位資料就是讓io口在傳送時間內變化8次.

為什麼是8位,因為串列埠在方式1是以位元組為單位傳送的.

而為什麼串列埠在方式1要以位元組為單位呢? 這是在硬體設計之初就確定好的,是串列埠標準.你我是不能改變的.

傳送時間是由波特率決定的,波特率就是指每秒鐘傳送多少個bit位.

串列埠標準中: 要傳送一個資料,還得加上一些其它的東西,比如起始位 停止位等.

a=01;subf=a; 微控制器執行後,就會將a中的8個位送到subf緩衝器中,subf也是一個位元組. 然後微控制器將會按設定好的引數啟動串列埠,將subf中的資料一位一位的送到io口上,即txd引腳上,至於起始位 停止位些是由串列埠自動實現的,只要設定好後,不需去理會.時間當然也是由波特率決定的.

綜上所述,在使用微控制器串列埠時,波特率的設定是必不可少的.兩個裝置要通訊,他們的波特率 停止位 資料位都是必不可少的.

5樓:

串列埠工作方式1時,總共傳送10個位:1起始位+8資料位+1停止位。

起始位為低電平,作用是產生初始下降沿觸發接收方的接收操作。

8位資料位中,最低位最前。

停止位為高電平。

如果用示波器來觀測,波形為:

低高低低低低低低低高

6樓:匿名使用者

你最好拿示波器看看就知道了

用51微控制器串列埠實驗時波特率怎麼調才合適??我覺得是不是就給它調高點就可以?不是很理解,求解釋一下

最好是用11.0592m的,這個頻率可以選任意的一個波特率 都可以被1600整除 12m的晶振波特率只能是2400,9600的情況下會有7.8 的誤差,會產生亂碼,而2400波特率的情況下誤差是0.16 不會產生亂碼了 對於非同步通訊而言,重要是雙方要匹配,王八要能看上綠豆。雙方通訊波特率越特殊 例...

關於51微控制器串列埠非同步通訊的問題

傳送時是自己主動的,當然可以不用中斷方式,使用查詢法。接收時自己是被動的,你不知道什麼時候會發來資料,所以採用中斷方式,沒有中斷的時候執行其他的程式段。查詢法是不斷地查詢是否有資料接受到或資料是否傳送完成。中斷法是指當接收到資料或傳送資料後進入中斷子程式,子程式完成後再返回執行原來被中斷的程式。 1...

51微控制器與PC機的串列埠通訊設計的問題

1 用串列埠除錯助手 2 用pc機通過串列埠控制8952讓埠上的led亮滅很簡單,如只需傳送0xfe內容,再讓p0 subf就可讓p0口上的一個led滅。3 若要實現雙工方式,設定scon 0x50,也就是讓ren 1即可,4 若要有語音提示,在主程式相應位置加一發音程式即可。以上希望能幫到你。 我...