⑴ 單片機串口通信原理
1.RS232介面
RS232-C介面連接器一般使用型號為DB-9的9芯插頭座,只需3條介面線,即"發送數據"、"接收數據"和"信號地"即可傳輸數據,其9個引腳的定義如圖11-3所示。
圖11-3 RS232-C介面連接器定義
在RS232的規范中,電壓值在+3V~+15V(一般使用+6V)稱為"0"或"ON"。電壓在-3V~-15V(一般使用-6V)稱為"1"或"OFF";計算機上的RS232"高電位"約為9V,而"低電位"則約為-9V。
RS232為全雙工工作模式,其信號的電壓是參考地線而得到的,可以同時進行數據的傳送和接收。在實際應用中採用RS232介面,信號的傳輸距離可以達到15m。不過RS232隻具有單站功能,即一對一通信。
2.RS485介面
RS485採用正負兩根信號線作為傳輸線路。兩線間的電壓差為+2V~6V表示邏輯"1":兩線間的電壓差為-2V~6V表示邏輯"0"。
RS485為半雙工工作模式,其信號由正負兩條線路信號准位相減而得,是差分輸入方式,抗共模干擾能力強,即抗雜訊干擾性好;實際應用中其傳輸距離可達1200米。RS485具有多站能力,即一對多的主從通信。
在串列通信中,數據通常是在兩個站之間傳送,按照數據在通信線路上的傳送方向可分為3種基本的傳送方式:單工、半雙工和全雙工,如圖11-4所示。
(點擊查看大圖)圖11-4 單工、半雙工和全雙工通信
單工通信使用一根導線,信號的傳送方和接收方有明確的方向性。也就是說,通信只在一個方向上進行。
若使用同一根傳輸線既作為接收線路又作為發送線路,雖然數據可以在兩個方向上傳送,但通信雙方不能同時收發數據,這樣的傳送方式稱為半雙工。採用半雙工方式時,通信系統每一端的發送器和接收器,通過收發開關分時轉接到通信線上,進行方向的切換。
當數據的發送和接收,分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進行發送和接收操作,這樣的傳送方式就是全雙工。在全雙工方式下,通信系統的每一端都設置了發送器和接收器,因此,能控制數據同時在兩個方向上傳輸。全雙工方式無須進行方向的切換。
串列通信可分為兩種類型,一種是同步通信,另一種是非同步通信。採用同步通信時,將所有字元組成一個組,這樣,字元可以一個接一個地傳輸,但是,在每組信息的開始要加上同步字元,在沒有信息要傳輸時,填上空字元,因為同步傳輸不允許有空隙。採用非同步通信時,兩個字元之間的傳輸間隔是任意的,所以,每個字元的前後都要用一些數據位來作為分隔位。比較起來,在傳輸率相同時,同步通信方式下的信息有效率要比非同步方式高,因為同步方式的非數據信息比例比較小。但是,從另一方面看,同步方式要求進行信息傳輸的雙方必須用同一個時鍾進行協調,正是這個時鍾確定了同步串列傳輸過程中每一個信息位的位置。這樣一來,如果採用同步方式,那麼,在傳輸數據的同時,還必須傳輸時鍾信號。而在非同步方式下,接收方的時鍾頻率和發送方的時鍾頻率不必完全一樣,而只要比較相近,即不超過一定的允許范圍就行了。在數據傳輸中,較為廣泛採用的是非同步通信,非同步通信的標准數據格式如圖11-5所示。
(點擊查看大圖)圖11-5 非同步通信數據格式
從圖11-5所列格式可以看出,非同步通信的特點是一個字元一個字元地傳輸,並且每個字元的傳送總是以起始位開始,以停止位結束,字元之間沒有固定的時間間隔要求。每一次有一個起始位,緊接著是5~8個的數據位,再後為校驗位,可以是奇檢驗,也可以是偶校驗,也可不設置,最後是1比特,或1比特半,或2比特的停止位,停止位後面是不定長度的空閑位。停止位和空閑位都規定為高電平,這樣就保證起始位開始處一定有一個下降沿,以此標識開始傳送數據。
⑵ 單片機 串口通信 RS232
這種類型的單片機,在內部特殊區域常駐有一個監控程序,當單片機上電時,PC指針會首先指向該程序(有的CPU需要給某個引腳加上指定電平才可以),該監控程序會監測串口數據,如果有合法的命令數據,單片機就會進入編程模式。如果沒有接收到合法數據,PC指針就會自動指向用戶程序起始點(一般是0000H),開始執行用戶程序。
你也可以在自己的程序內部嵌入專門的語句,調用常駐監控程序提供的
燒錄
功能,以實現在應用中編程。
⑶ RS232一對多通信原理是什麼
RS232多機通信的原理是從多個從機的RXD引腳接在主機的TXD引腳上,接收主機發送過來的數據後,從機加上二極體,主機一段是二極體的陽極,盡量避免從機發送數據影響其他從機。
然而當主機發送數據過來,通過協議進行判斷是本身從機的數據,這就是本機要進行通信處理,但不是本機的就丟棄了。
⑷ 你好 在單片機與計算機之間通信要加上一個電平轉換晶元 比如我們用的是MAX232晶元 工作原理是什麼
這些知識在網路網頁中有很多,如需詳細了解就網路即可,我只是簡單的說一下吧。單片機與PC機的通訊的一種方式就時通PC攜帶的RS232介面進行,也有些單片機具有USB介面,可以與PC機通過USB通訊,這個不在討論之范圍,還是說說232的事情,RS232介面也稱標准串口,它的全名是「數據終端設備(DTE)和數據通訊設備(DCE)之間串列二進制數據交換介面技術標准」。傳統的RS-232-C介面標准有22根線,採用標准25芯D型插頭座(DB25),後來使用簡化為9芯D型插座(DB9),這就是咱們所說及所用的9針串口,他是由PC主板上的UART晶元來控制的,它是負邏輯電平模式,它定義+5~+12V為低電平,而-12~-5V為高電平;在與單片機通訊時,這個-12~-5V的高電平是我們的單片機所無法生成的,於是就有了轉換晶元MAX232的參與,它負責將單片機輸出的+5V高電平變換成-12~-5V;也負責將單片機0V的低電平轉換成+5~+12,反之也將PC機的信號轉換成0V或5V的電平,這就是MAX232的作用,至於MAX232是如何做到這些的,電荷泵的原理是怎樣的,就不在這里啰嗦了,網路一個MAX232的數據手冊一看便知,以上這些希望對你有用。
⑸ 求單片機與電腦介面(TTL與RS232電平模擬轉換)電路及工作原理
1.先介紹電腦上與單片機進行通訊的介面的名稱
(1)一般是用電腦串口來進行通訊的,平常大家說的電腦的串口是指台式電腦主機後面的九針介面,如下圖
這個介面有個專業的名稱,叫RS23介面,而RS232介面是串口通訊的一種,其實所謂的介面,我的理解就是一種通信協議,規定了傳輸電平,傳輸方式,及怎麼傳輸數據等等。
協議標准規定採用一個25個腳的DB25連接器,還規定了連接器的每個引腳的信號內容,同時還對各種信號的電平加以規定。但隨著設備的不斷改進,出現了代替DB25的DB9介面,現在都把RS232介面叫做DB9。
(2)電腦上的RS232介面採用的是負邏輯電平:
-15~-3表示邏輯1;
+15~+3表示邏輯0;
電壓值通常在7V左右
(3)我們可以使用串口電纜直接連接兩台PC機的串口,實現兩台PC機的串口通訊。但是PC機和單片機的通訊卻不能夠用電纜直接進行連接,原因是PC機RS232串口的電平標准和單片機的TTL電平不一致,因此單片機和PC機之間的串口通訊必須要有一個RS232/TTL電平轉換電路。通常這個電路都選擇專用的RS232介面電平轉換集成電路進行設計,如MAX232、HIN232等。
2.單片機串口輸出的邏輯電平
單片機的串口輸出電路採用的邏輯電平是TTL電平。這種電平信號由TTL器件產生的,一般的晶元,如運放,數字器件等...
TTL:Transistor-Transistor
Logic
三極體結構。
Vcc:5V;VOH>=2.4V;VOL<=0.5V;
VIH>=2V;VIL<=0.8V
3.單片機與電腦串口的連接
首先解決的就是邏輯介面電平的問題,其次就是通信方法及方式的問題
(1)在這里我們可以使用集成晶元MAX232,這是一款專門用來進行信號電平的轉換的晶元,使用起來簡單方便,這里把電路貼出。
(2)當然,我們也可以使用分立元件來搭建RS232電平轉換電路以供我們實驗使用,下圖給出了一個常見電路,只要器件完好,電路焊接完畢後即可正常工作,經實際使用,效果良好。不用MAX232實現DSP或MCU與PC通訊的電路,元件經濟,結構簡單設計巧妙
用三極體實現RS-232轉TTL電路
電路如下圖
1.DB9的2腳TXD:為RS-232電平信號接收端,RXD;3腳為RS-232電平信號發送端,
2.圖中的Vcc應該是+5V,TXD接單片機TXD,RXD接單片機RXD。
工作原理是:從TTL轉為RS2323電平,由於二極體與電容的作用使得在二極體D1與電容C7交接處的電壓保持在-3V~-15V.
當TXD為"1"(TTL)時,Q3截止,PCRXD上的電壓與PCTXD電壓相等,也是-3~-15V,為"1"(RS232)
當TXD為"0"(TTL)時,
Q3導通,則PCRXD電壓約為+5V,這個電壓在+3~+15V之間,根據RS232電平,它是"0"....也就是說TTL的"1"經過這個電平轉換電路後,RS2323可以識別出它是"1",是"0"也能識別為0.這就實現了從TTL到RS232的電平轉換.
從RS232轉換為TTL電平那就簡單了,當PCTXD為"1",即-3~-15V時,Q4截止,RXD電壓約為5V,為"1",,當PCTXD為"0"時,Q4導通,電壓為0,電平為"0".那麼從RS232到TTL的電平轉換也實現了.
備註:D2是為了防止Q4的BE反向擊穿,TXD的最低電壓時15V,Q4的BE耐壓是6V左右。
簡略大概的說:
當TXD=1時,Q3截止,導致PCRXD=1;
當TXD=0時,Q3導通,導致PCRXD=0;
當PCTXD=1時,Q4導通,導致RXD=1;
當PCTXD=0時,Q4截止,導致RXD=0;
RS232
1,0
TTL
1
,0
自己總結的,希望對有需要的人有幫助
/********希望我能幸福,也希望能給別人帶來幸福***/
⑹ RS232是什麼,怎麼與51單片機通信的
所謂的RS-232通信標准,就是對插件樣式、信號名稱和意義以及所謂的驅動器/接收器的電氣模式這種硬體作出規定。一般的都是9針的介面,其中包括CD介面:數據通道接收載波的檢測;RD介面:接收數據;SD介面:發送數據;ER介面:數據終端就緒;SG介面:信號用接地;DR介面:數據集就緒;RS介面:請求發送;CS介面:允許發送;CI介面:被呼表示。用以上介面進行數據通信,還有對電平的要求。當然與51單片機進行通信方式很簡單,首先要解決的是電平標准,51的I/O口最大輸出5V電壓,而RS-232要求電壓在±10V,為達到電平匹配,需用到MAX232CPF電平轉換晶元,將0~5V電平轉換為±10V電平,從而實現電平匹配;然後,數據介面只用到了數據發送與接收2個埠,還有數據的請求發送與允許發送,共4個埠,MAX232CPF還有其他一些外圍電路介面,但比較簡單,都是些電容介面,從而實現單片機與RS232介面的通信。我這兒還有RS232通信介面的相關資料,需要的話我可以給你。
希望我的回答能幫助到你。
⑺ rs232與單片機實施收發數據的詳細步驟,及其特點
先解釋一下現象:
(1)MAX232的12腳即R1OUT連接到了單片機的RX腳,因此使用探頭碰MAX232的12引腳時導入了干擾信號,所以接收到了亂的數據。同時,也證明了單片機的接收電路和程序都沒有問題。
(2)板子上的地接到示波器上的地,PC才能收到數據,說明單片機與PC沒有共地。同時,也證明了單片機的發送電路、程序和PC的接收電路都沒有問題。
原理:
(1)PC的串口即RS232有9個引腳,與單片機通信時用到三個引腳,依次是2腳RX、3腳TX、5腳信號GND。
(2)而單片機串口與此相反,2腳TX、3腳RX、5腳信號GND。
(3)只要把這三根線依次連接,2-2、3-3、5-5即可完成通信。
(4)同時,根據實際通信設備介面不同,串口線也分多種,如直連線、交叉線、公母頭區別等。
故障排除流程:
(1)用萬用表等測量MAX232的14腳T1OUT與開發板串列介面的2腳TX、MAX232的13腳R1IN與開發板串列介面的3腳RX、開發板串列介面的5腳與電源地是不是分別連接。如果連接沒問題,則進行下一步。
(2)用萬用表等測量串口線,PC端的2腳與單片機端的2腳、PC端的3腳與單片機端的3腳、PC端的5腳與單片機端的5腳是不是分別對應,如果對應連接沒問題,則進行下一步。
(3)將PC上串列介面的2、3引腳短接。
(4)打開串口工具如「超級串口」等,下載地址,打開串口,在輸入框中隨便輸入幾個字元,看是不是能在接收窗口中收到。
(5)如果收不到,則說明PC的串口問題(排除串口工具沒有開錯串口或短接沒問題的情況下),換台電腦試下。能收到,則說明電腦端收發都沒問題,進行下一步。
(6)將串口線插到電腦上,開發板端的插頭不插而直接將2、3腳短接。再次用串口工具發送,看是否能接收到,如果能接收到,則證明串口線沒問題,進行下一步。
(7)將串口線插到開發板得串列介面上,再使用串口工具收發。
(8)如果以上都不行,則自己做3根線,也可以使用杜邦線,將PC的TX與開發板的RX、PC的RX與開發板的TX、PC的信號地與開發板的地分別相連。再用串口工具收發測試。
通過以上步驟,則可以逐步排查到問題的具體原因。不過,根據問題及之後的描述,最大的可能性是串口線用的不對,導致PC串口與開發板串口的3根線沒有分別對應上。
⑻ 關於單片機利用232通信時的問題 望指點迷津
1、MAX232外圍用了4個1uF的電容,通過電容充放電(自舉方式)將5V轉換成+12V和-12V的
MAX202外圍是4個0.1uF的,一樣用。
2、單片機之間通訊,短距離通訊,如在同一板上,或在同一殼內,不太長的情況下,可以不用MAX232轉,兩個串口對接就可以了,但過長的距離或在兩個殼內就需要轉了了,一個是加大驅動能力,一個是抗干擾。
單片機串口直接出來的是5V電平,即TTL或CMOS電平。
⑼ RS232介面電路原理圖原理
首先RS232介面電路一般是用在單片機串口與電腦的TTL電平轉換上。
RS-232介面有DB25介面和DB9介面兩種,現在普通使用的基本上都是DB9介面,DB25介面基本上不再使用。DB9介面定義如下(1.載波檢測,2.接收數據,3.發送數據,4.數據終端准備就緒,5.信號地,6.數據機就緒,7.請求發送,8.允許發送,9.振鈴提示),RS-232串口相互連接分為通過Modem連接和無Modem連接,由於乙太網,RS-485匯流排,CAN匯流排等匯流排的普及,通過Modem連接做較長距離通信已經基本上不再使用。無Modem連接即直接連接則分為握手連接和無握手連接,無握手連接直接使用2,3,5三個針腳就可以使用,而握手連接則是必須使用請求發送,允許發送,准備就緒等信號,握手連接又稱全信號連接。由於RS-232使用單端非差分電路,多條線路共用一個接地線,長距離傳輸時,不同節點的接地線電平差異可能會達到幾伏,有可能導致信號的誤讀,從而導致RS-232傳輸距離不能超過15米,傳輸速率不能超過110Kbps
RS232介面的電氣特性:
RS-232C 對電器特性、邏輯電平和各種信號線功能都作了規定。
在TxD和RxD上:
邏輯1(MARK)=-3V~-15V
邏輯0(SPACE)=+3~+15V
在RTS、CTS、DSR、DTR和DCD等控制線上:
信號有效(接通,ON狀態,正電壓)=+3V~+15V
信號無效(斷開,OFF狀態,負電壓)=-3V~-15V
以上規定說明了RS-232C標准對邏輯電平的定義。對於數據(信息碼):邏輯「1」(傳號)的電平低於-3V,邏輯「0」(空號)的電平高於+3V;對於控制信號;接通狀態(ON)即信號有效的電平高於+3V,斷開狀態(OFF)即信號無效的電平低於-3V,也就是當傳輸電平的絕對值大於3V時,電路可以有效地檢查出來,介於-3~+3V之間的電壓無意義,低於-15V或高於+15V的電壓也認為無意義,因此,實際工作時,應保證電平在±(3~15)V之間。RS-232C 與TTL轉換:EIA RS-232C 是用正負電壓來表示邏輯狀態,與TTL以高低電平表示邏輯狀態的規定不同。因此,為了能夠同計算機介面或終端的TTL器件連接,必須在EIA RS-232C 與TTL電路之間進行電平和邏輯關系的變換。實現這種變換的方法可用分立元件,也可用集成電路晶元。目前較為廣泛地使用集成電路轉換器件,如MC1488、SN75150晶元可完成TTL電平到EIA電平的轉換,而MC1489、SN75154可實現EIA電平到TTL電平的轉換。MAX232晶元可完成TTL←→EIA雙向電平轉換。