『壹』 單片機多機通訊的最佳連接方式
硬體連接。
1、首先單片機構成的多機系統,常採用匯流排型主從式結構啟唯前,硬體連接。
2、其次所謂主從式,即在數個單片機中,有一個是山轎主機,其餘的是從機;從機要服從主機的調動、支配。串列口方悄清式2、方式3適合於這種主從式通信結構。
3、最後採用不同的通信標准時,還需進行相應的電平轉換,有時還要對信號進行光電隔離;在實際的多機應用系統中,常採用RS-485串列標准匯流排進行數據傳輸。
『貳』 51單片機多串口同時通信
51單片機是通過sbuf這個串口專用寄存器和串口模塊來收發數據的。發送時,只要將數據送入到sbuf,等等ti狀態到1就發送完畢。同樣接收時,ri為1,那麼說明sbuf接收完畢一幀數據,可以直接從sbuf讀取數據了。
『叄』 51單片機怎麼用串口和兩個從機通信單片機發出的指令兩個從機都收到了,怎麼控制選擇只有一個從機收到
要看你的具體情況,如果你的從機也是單片機可編程的話,可以主從機通信中分別編寫不同的通信協議,在發送的指令上加上校驗碼,從機接收到指令後,先判斷校驗碼是不是符合協議,如果是的話就是給自己的指令,要執行,不是的話則不執行。
如果你要控制的從機不可編程,則需要對串口進行擴展,方法有很多,比較簡單的話可以用串口擴展串口,就是使用外接串口擴展晶元來實現,比如GM8123,可以將一個串口擴展為三個子串口,每次通信的時候選中一個子串口工作,當然也可以多通道同時工作,你自己去網上查一下相關資料很多。這種方法也可以適用第一種情況
『肆』 簡述80C51單片機多機通信的特點。
多機通信是工作於方式2和方式3,SM2位主要用於方式2和方式3。接收狀態,當串列口工作於方式2或3,以及SM2=1時,只有當接收到第9位數據(RB8)為1時,才把接收到的前8位數據送入SBUF,且置位RI發出中斷申請,否則會將接受到的數據放棄。當SM2=0時,就不管第位數據是0還是1,都難得數據送入SBUF,並發出中斷申請。
工作於方式0時,SM2必須為0。
(3).REN:允許接收位。
REN用於控制數據接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。
(4).TB8:發送接收數據位8。
在方式2和方式3中,TB8是要發送的——即第9位數據位。在多機通信中同樣亦要傳輸這一位,並且它代表傳輸的地址還是數據,TB8=0為數據,TB8=1時為地址。
(5).RB8:接收數據位8。
在方式2和方式3中,RB8存放接收到的第9位數據,用以識別接收到的數據特徵。
(6).TI:發送中斷標志位。
可定址標志位。方式0時,發送完第8位數據後,由硬體置位,其它方式下,在發送或停止位之前由硬體置位,因此,TI=1表示幀發送結束,TI可由軟體清「0」。
(7).RI:接收中斷標志位。
可定址標志位。接收完第8位數據後,該位由硬體置位,在其他工作方式下,該位由硬體置位,RI=1表示幀接收完成。
電源管理寄存器PCON
PCON主要是為CHMOS型單片機的電源控制而設置的專用寄存器,單元地址是87H,其結構格式如下:
表2 PCON電源管理寄存器結構
PCON D7 D6 D5 D4 D3 D2 D1 D0
位符號 SMOD - - - GF1 GF0 PD IDL
在CHMOS型單片機中,除SMOD位外,其他位均為虛設的,SMOD是串列口波特率倍增位,當SMOD=1時,串列口波特率加倍。系統復位默認為SMOD=0。
『伍』 單片機串口通訊有哪幾種方式
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卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制等等。
還有自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械。因此,單舉爛片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。
『陸』 單片機多機通訊時,多是主機向從機發送命令後,從機給出應答信號,能不能從機主動給主機發送數據呢,謝謝
主機和從機通訊時,不可以從機主動發數據給主機。一般要主機主動去發布命令,從機去應答,如果從機也主動和主機聯系,那麼會造成主機接收數據錯誤,或者發送數據錯誤!
下面分析下原因。
1、首先說明下單片機多機通訊的原理:簡單點就是多個單片機TXD和RXD連接到一個,主機的TXD連接從機的RXD,從機之前是並聯狀態;復雜的呢就是通過RS485晶元,連接方式和上面一樣的,RS485相對來說傳輸數據抗干擾。
2、主機給從機發送數據,從機怎麼來接收這一幀數據。一般我們是給每個從機都設置一個獨一無二的地址。從機接收到數據首先判斷是不是發送給自己的,就像是收快遞一樣的。不是發給自己的,後面的數據就不處理,或者不接收數據。
3、說明下主機和從機的概念。其實主機、從機都是一樣的設備,作殲如為主機來說,這個設備要主動去和從機的設備去溝通,就好像車間的班長和流水線上的操作工,班長去下發任務,操作工根據任務命令去做事。
主機就是去告訴從機,什麼時間去做什麼事。從機就是等待命令,然後去檢測外部信號,執行命令。
4、主機和從機通訊的時候罩御,能不能從機主動。明白了主機和從機的概念,深入的想一下,為什麼要主機發送命令,從機做出應答呢
。一般是主機會和很多從機進行通信。主機和從機通信一般是有個時間的間隔。比如200ms發送一次,然後切換到下一個從機。
如果主機在發送數據的時候,從機突然主動和主機聯系了,那麼
就會出現數據錯誤了,因為主機在發送數據,發送的過程中肯定會造成來不及處理接收數據,因為單片機同時只能處理一件事情。
所以
主機就是要主動聯系,從機就是要等待主機聯系之後再回應主機。不然就會出現溝通混亂的問氏悶啟題,在編寫程序的時候一定要注意這一點。
『柒』 單片機多機通信是怎麼回事
單片機多機通信很復雜的,給你解釋下原理,其他的自己到網上去搜下資料,看下程序就可以理解了的。我們學的是51單片機,我就給你說51單片機的通信原理哈!
51單片機具有多機通信的功能,可實現一台主機於多台從機的通信。
多機通信充分利用了單片機內部的多機通信控制位SM2。當從機SM2=1時,從機只接收主機發出的
地址幀(第九位為1),對數據幀(第九位為0)不予理睬;而當SM2=0時,可接收主機發送過來的所有信息。
多機通信的過程如下:
(1)所有從機SM2均置1,處於只接收地址幀狀態。
(2)主機先發送一個地址幀,其中前8位數據表示地址,第9位為1表示該幀為地址幀。
(3)所有從機接收到地址幀後,進行中斷處理,把接收到的地址與自身地址相比較。地址相符時將SM2清成0,脫離多機狀態,地址不相符的從機不作任何處理,即保持SM2=1。
(4)地址相符的從機SM2=0,可以接收到主機隨後發來的信息,即主機發送的所有信息。收到信息TB8=0,則表示是數據幀,而對於地址不符的從機SM2=1,收到信息TB8=0,則不予理睬,這樣就實現了主機與地址相符的從機之間的雙機通信。
(5)被定址的從機通信結束後置SM2=1,恢復多機通信系統原有的狀態。