❶ 多個下位單片機與上位機pc通過串口通信的實現
如果是一個單片機具有多個串口,那麼中斷和地址是不同的,通信程序中更改下地址和中斷就好了.
如果單片機只有一個串口,那就要更改硬體電路了,串口是1對1的,不支持1對多.
422和485可以支持1對多.
給每一個下位機編寫一個不同的地址碼,放入一個寄存器中,每次上傳給上位機數據的時候,把地址碼包含在數據包中,收到有效數據後,就可以根據地址碼確認了,相當於身份ID.
如果不想在程序中修改,也可以通過撥碼開關,在外部撥到地址位,每次上電後,通過讀取撥碼開關的值來確定自己的身份ID.
上位機向下位機發送數據的時候,如果是向單個發送的,就在數據包增加要發送下位機的地址碼,如果是要向全部發送,就把地址碼設為一特殊值,當作廣播下發.
這個要在上下位機通訊協議中明確出來.
❷ 三個51單片機實現通信
你好:
暫且想到兩種辦法:
通用IO口通信:茄源櫻因為三個單片機通信,一個主機兩個從機,那麼主機殼引出兩個io口作為從機的工作使能信號,比如主機引出P1.0和P1.1,然後兩個從機分別接入一io,裂如當主機發出高或低電平使能從機工作,在從機的while里判斷接收的io口的電平,當滿足條件執行之後的程序;數據傳送的話主機殼直接引出8個io口連向兩個從機,因為只有使能從機之後才可以接收數據,所以這樣連接不用擔心未使能的從機接收數據。
模擬iic協議:也是兩個信號線,模擬出iic協議,但是在while里不判斷io電平,而是判斷iic信號線傳遞過來的地址數據,比如從機1地址為0x00,從機2地址為0x01,然後判斷是否收到正確的地址。
對比:
1方案簡單,程序量小,操作方便,但是從機數量不宜過多;顫叢2方案稍復雜,但是可靠,安全,最多可接入256個從機。
希望我的回答能幫助到你。
❸ 請問使用TTL電平,能夠進行3個單片機的串口通信嗎
使用TTL電平,可以 3個 或者 多個 單片機的串口通信,可以自己設計一個 通訊協議,
多 機 通信 要設置 一個 主機,可以多個從機,從機之間 的數據 交換 需要通過 主機,
如果 短距離 通訊,可以 直接 串口連接, 主機 RXD、TXD 連接 從機TXD、 RXD,
如果通訊速度不高 100米內應該可以 做到,距離長些,波特率要低一些,
加上 RS485通訊距離 可以在 1500 米左右。
❹ 多個單片機串口通信如何進行
利用單片機串口控制寄存器SCON中的SM2位選擇模式2或模式3可以進行多機通信,具體說是用第九位TB8和RB8來區分地址幀和數據幀,當TB8為0時發送的是數據幀,通常單片機接收到後直接拋棄,不產生中斷,當TB8為1時發送的是地址幀,單片機收到的第9位(RB8)為1時把收到的前8位地址與本機地址比對,如果相同則切換接收模式以接收接下來的數據幀,如果不同則繼續保持接收地址幀的狀態。
❺ 單片機多機通訊的最佳連接方式
硬體連接。
1、首先單片機構成的多機系統,常採用匯流排型主從式結構啟唯前,硬體連接。
2、其次所謂主從式,即在數個單片機中,有一個是山轎主機,其餘的是從機;從機要服從主機的調動、支配。串列口方悄清式2、方式3適合於這種主從式通信結構。
3、最後採用不同的通信標准時,還需進行相應的電平轉換,有時還要對信號進行光電隔離;在實際的多機應用系統中,常採用RS-485串列標准匯流排進行數據傳輸。
❻ 我要用PC與多個單片機通訊,不知道該用什麼線!
從232轉485轉換介面的485-A和 485-B兩端接出兩根線,把所有單片機並聯在兩睜灶根線上就行了。轉換接簡余口的另一端當然就是要接在PC上了。程序的話,沒什麼區別,只要記得485是半雙工,通信時寫好收發方向使能就可以了。當然攔早滾,首先要保證你的單片機都有485介面才行哦。
❼ 單片機多機通訊時,多是主機向從機發送命令後,從機給出應答信號,能不能從機主動給主機發送數據呢,謝謝
主機和從機通訊時,不可以從機主動發數據給主機。一般要主機主動去發布命令,從機去應答,如果從機也主動和主機聯系,那麼會造成主機接收數據錯誤,或者發送數據錯誤!
下面分析下原因。
1、首先說明下單片機多機通訊的原理:簡單點就是多個單片機TXD和RXD連接到一個,主機的TXD連接從機的RXD,從機之前是並聯狀態;復雜的呢就是通過RS485晶元,連接方式和上面一樣的,RS485相對來說傳輸數據抗干擾。
2、主機給從機發送數據,從機怎麼來接收這一幀數據。一般我們是給每個從機都設置一個獨一無二的地址。從機接收到數據首先判斷是不是發送給自己的,就像是收快遞一樣的。不是發給自己的,後面的數據就不處理,或者不接收數據。
3、說明下主機和從機的概念。其實主機、從機都是一樣的設備,作殲如為主機來說,這個設備要主動去和從機的設備去溝通,就好像車間的班長和流水線上的操作工,班長去下發任務,操作工根據任務命令去做事。
主機就是去告訴從機,什麼時間去做什麼事。從機就是等待命令,然後去檢測外部信號,執行命令。
4、主機和從機通訊的時候罩御,能不能從機主動。明白了主機和從機的概念,深入的想一下,為什麼要主機發送命令,從機做出應答呢
。一般是主機會和很多從機進行通信。主機和從機通信一般是有個時間的間隔。比如200ms發送一次,然後切換到下一個從機。
如果主機在發送數據的時候,從機突然主動和主機聯系了,那麼
就會出現數據錯誤了,因為主機在發送數據,發送的過程中肯定會造成來不及處理接收數據,因為單片機同時只能處理一件事情。
所以
主機就是要主動聯系,從機就是要等待主機聯系之後再回應主機。不然就會出現溝通混亂的問氏悶啟題,在編寫程序的時候一定要注意這一點。
❽ 多個單片機之間通訊,串口不夠用。怎麼辦
樓主,其實,還可以使用時鍾+IO 來模擬串口的。
❾ 利用多個單片機串口通信實現無線通信,怎麼解決串口通信需要共地的問題
所謂公地只不過是保證兩個雹談猜單片機的串侍鍵口引腳上的電勢一直,以滿足串口通訊的需要,你現在既然用源型無線通訊了,就只需要保證單片機和無線通訊模塊公地就可以了。
❿ 三個單片機互相通信
單片機森薯多機通信,可以設置 一山笑個為 主機,其餘為 從機,從機之間 通過 主機進行通訊,
主機 TXD 與 從機 TXD 連接, 主機 TXD 與 從機 RXD 連接 ,
從機 TXD 連在一起 , RXD 也連在一起。
用 令牌協議 設計通訊此唯者協議。