導航:首頁 > 操作系統 > 單片機只能處理串列數據嗎

單片機只能處理串列數據嗎

發布時間:2022-06-12 10:52:44

Ⅰ 2000分 請教幾個單片機串列通信的問題 (高手進)

我來給你回答:我現在也正在做課程設計,恰好也是串列數據採集系統設計,多個採集站點和上位計算機的多機通訊;

問題1:
在設置串列啟動(初始化)時,SMOD=1,此時恰好PCON=80H,用匯編就是 MOV PCON,#80H,原因:SMOD是波特率選擇位,當串列口工作方式位1、2和3時,波特率和2的SMOD次方成正比,而SMOD=1,既2的SMOD次方等於2,所以波特率倍增。

問題2:
當上位機給單片機發指令時,數據到了SBUF中,產生RI=1,即產生串列中斷(也可以用查詢JNB RI,$;JMP GET),產生中斷後單片機就進入中斷處理子程序有條關鍵指令就是MOV A,SBUF;此時上位機的指令已經得到了,進入指令識別和處理程序比如比較指令中又沒有01H +0000H + 01H + 03H + 0005H;沒有的話給8282H 或8383H 發送個約定好的指令,上位機發現這個指令時,就進行重新發送.假如成功,就給8181H會送成功指令。上位機發送下步指令。
典型程序(錯誤時):
MOV DPTR,#8282H
MOV R3,#FFH
MOVX,@DPTR,R3
此時上位機就會得到FFH這個約定的錯誤碼,處理後就會重新發送。
FFH既是個數也是個數據包,對與機器來說就是個數據包(需要發送),對於你來說,就是個約定的識別碼是個數。當然約定碼也可以是你說的0005H,對於我們來說0005H和05H是相等的,因為前面的00是空的。對於計算機來說是不一樣的,計算機處理是0005H有16位,05H只有8位。

在等待過程中,如果單片機沒有指令可以讓它 SJMP $--既處於死循環等待中;當單片機受到數據時,串列控制位RI就會置1,產生串列中斷。此時數據已經進入了SBUF,(發送和接受都是SBUF,是分開的,當在執行指令時,單片機會自己區別),此時加入用中斷就可以在中斷子程序中讀取SBUF中的內容,指令位MOV A,SBUF,MOV R4,A;也可以把SBUF中的內容存入內部RAM中 ,然後就可以進一步處理R4中的內容或者存於內部RAM中的內容(要求記錄的話)。

補充問題的回答:
發送數據時可以是05H也可以是0005H,因為通訊中,雙方的識別是約定好的。
希望對你有用。

本人的回答供你參考,如果還是不明白的話,找老師吧,老師是最精通的。

Ⅱ 簡述單片機串列口的工作方式

89系列單片機的串列通信有4種工作方式:

1、方式0是同步移位寄存器方式,幀格式8位,波特率固定為fosc/12。

2、方式1是8位非同步通信方式,幀格式10位,波特率可變:T溢出率/n(n= :32或16)。

3、方式2是9位非同步通信方式,幀格式11位,波特率固定: fosc/n(n=32 或16)。

4、方式3是9位非同步通信方式,幀格式11位,波特率可變:T溢出率(m=32或16)。

方式1、2、3的區別主要表現在幀格式及波特率兩個方面。

單片機應用范圍:

單片機滲透到我們生活的各個領域。導彈的導航裝置,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制等等。

還有自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。

Ⅲ 51單片機串列通信數據處理問題

是要根據接收到3 5 8分別實現動作?
可以把單片機接收的字元放在一個數組裡面啊,如果是232,類似Receive_Buf[i]=*(SBUF+i) 應該就行,最近做的485的一個接收函數大概就是這個思路。
拼接字元串的話,用sprintf函數,頭文件#include <stdio.h>
或者考慮判斷接收到的數,SBUF=0x33就是接到3

Ⅳ 串口發送數據是單片機發送數據嗎

通常,具備串列通訊埠的設備都可以發送和接收數據,那麼單片機自然也可以發送串列數據。
PC電腦具有串列通訊埠,也能發送和接收串列數據,電腦和電腦之間,單片機和單片機之間,電腦和單片機之間都能發送和接收數據。當然還有其它設備也可以。
所以說單片機能夠發送數據,但串口發送數據不是只有單片機才能發送數據。

Ⅳ 單片機串列口工作方式發送

串口通信是指多個單片機之間,或單片機與電腦進行互相通信,這時,RXD是接收,TXD是發送。串列通信是遠距離的。
而串口的方式0,其實並不是串口收/發,准確說只是串列輸入/輸出數據,注意,不是通信。只是單片機與串/並轉換晶元之間傳輸數據,而且限於同一個板內。所以,RXD不再接收,TXD也不再是發送。而是用TXD做同步時鍾信號,用RXD做串列數據線。輸出數據時,也是用發送狀態,可以接74LS164晶元。而用接收狀態時,是輸入數據,外部可用74LS165晶元。這是串口的另一個應用。

Ⅵ 求助:單片機串列口輸出的數據是什麼類型

是全雙工通用串口,ttl電平,如果需要和其它主機進行通訊進行電平轉換,直接接max232就可認。

Ⅶ 單片機的問題

兩個單片機串口通訊需要將Rx和Tx連接,一般其中間不需要外接電阻或電容等。但如果兩個單片機各自為一套獨立系統,彼此相距校遠,在兩單片機Rx和Tx之問通常會加入驅動晶元,以增加兩者之間數據傳輸的可靠性。
另外如果兩單片機是各自獨立供電,除了連接Rx和Tx外,還需耍將兩邊的信號地(GND)連接到一起。

Ⅷ 單片機串列通信中通信什麼意思

通信就是信息的傳遞!在數字系統中,通信一般分為並行通信和串列通信!並行通信一般是將一定位數的數據一次性通過一組數據匯流排向外發送。而單片機中的串列通信則一般將要發送或接受的數據拆分,只用一根數據線,一位一位向外發送或接收,例如大部分單片機中的UART串列通信埠,只用了兩根線就實現了接收與發送!

一般來講,並行通信可以一次性並行發送多位數據,所以通信速率較高,通信數據量大,但是需要位數較多的數據匯流排,適合近距離通信!而單片機串列通信由於一次只能發送一位數據,所以速度較慢,但是有效節省資源,適合遠距離傳輸!就比如咱們家中使用的網線,一般是一根比較細的電纜或者電話線,好像沒有見過拉一根很寬很粗的排線連接到您的計算機上吧,因為這樣既不方便也不經濟!呵呵!
舉個例子,比如將八位二進制數10101101向外發送,如果採用並行通信方式,將這八位數對應的放到8根數據匯流排上,這樣就一次性的將八位數據向外發送!而採用串列通信時,需要將這八位數據拆分,先發1,再發0,然後以此類推,直到將這八位數據發完,這樣就可以只用一兩根或少量數據線實現較遠距離傳輸,並且比較節省資源!
至於你說的通的是什麼信息,對於單片機來說,這信息既可以是數據信息,也可以是命令信息,比如你需要將一個數或字元發送出去,或者將一段命令代碼發送出去!可以通過串列方式,也可以採用並行方式,使用者可以根據具體情況選擇!
模數、數模轉換一般是做模擬與數字信號之間的轉換,這種轉換可以認為是通信中的一種,它跟以上所說的串列並行通信不是一個概念!因為他們適用的場合不同!
呵呵,這個解釋清楚嗎?

Ⅸ 單片機的串列口和並行口有什麼不同,它們各執行什麼功能,可以詳細講解下單片機的整個工作步驟

一、主體不同

1、串列口:採用串列傳輸方式來傳輸數據的介面標准。

2、並行口:採用並行傳輸方式來傳輸數據的介面標准。

二、特點不同

1、串列口:串口沒有干擾,傳輸出錯後重發一位就可以了,所以要比並口快。

2、並行口:8位通道之間的互相干擾,傳輸時速度就受到了限制。而且當傳輸出錯時,要同時重新傳8個位的數據。


三、優缺點不同

1、串列口:串列傳輸由於只有一位信號在信號線上,沒有位同步問題,因此傳送頻率可以繼續提高

2、並行口:並行傳輸時,發送器是同時將8位信號電平加在信號線上,電信號雖然是以光速傳輸的,但仍有延遲,因此8位信號不是嚴格。

Ⅹ 單片機的IO口是不是既可以串列使用也可以並行使用

是的。所有的I/O都可以並行使用也可以串列使用,但串列使用要看情況,如果單片機內部具有諸如UART、I2C、SPI硬體模塊的,可以通過對模塊進行配置而直接使用。如果沒有,則只能用軟體模擬這些介面而達到串列使用目的。當然,即使存在這些硬體資源,但你不怕麻煩,,想用軟體模擬也未嘗不可。

閱讀全文

與單片機只能處理串列數據嗎相關的資料

熱點內容
redhatlinux最新 瀏覽:177
python字典編程詞彙 瀏覽:144
微信和伺服器如何通訊 瀏覽:10
百家號伺服器配置有什麼用 瀏覽:598
怎麼為電腦加密 瀏覽:58
伺服器出現差錯是什麼意思 瀏覽:616
蘋果app移到商店裡怎麼刪掉 瀏覽:254
phpjsphtml 瀏覽:63
吃雞手機國際服伺服器超時怎麼辦 瀏覽:68
努比亞Z5無命令 瀏覽:642
展示網站雲伺服器 瀏覽:872
代碼混淆器php 瀏覽:366
貝恩pdf 瀏覽:208
丙烯pdf 瀏覽:367
雲伺服器華碩 瀏覽:713
sublime3運行python 瀏覽:191
怎麼把安卓視頻傳到蘋果上面 瀏覽:83
手機拍鬼片用什麼app 瀏覽:642
爬山虎app是干什麼用的 瀏覽:507
有哪些寫給程序員的歌 瀏覽:51