這里只是一個討論的過程,因為這個電路在實際的電路當中,到我現(xiàn)在位置還沒有調(diào)試出來,只是那出來與大家一起探討一下,希望對我們大家都有幫助。電路如上所示,RXD2、TXD2接單片機,TX、RX通過串口線連接到PC機。
首先,對于RS232通訊要了解,即在232通訊當中,“-3V~-15V”表示邏輯1,“+3V~+15V”表示邏輯0。現(xiàn)在我們來對電路進行分析一下。
下面先看單片機這邊:當單片機TXD2端口放送數(shù)據(jù)時,當為低電平“0”時,光耦導(dǎo)通,+6V經(jīng)過RX、R52、D13、R51、光耦1,2腳到地形成回路。此回路阻值大致為2.2K+2.2K+1.6K=6K,I=6/6K=1mA。在這種情況下,RX大概在5.幾V,故PC機接收為邏輯“0”。與單片機這邊發(fā)送相一致。由于此時1mA為截止,驅(qū)動不了發(fā)光二極管,但能導(dǎo)通。故對TX沒有影響。
同理當TXD2為高電平“1”時,IC14截止,RX為低電平,+6經(jīng)過C21、C20、R52回到RX,注意G3的位置,此時RX由于放電處于負壓狀態(tài),故為邏輯“1”,與發(fā)送狀態(tài)相一致。
接下倆看看PC機這邊。當TX發(fā)送“0”,極為高電平時,IC13導(dǎo)通,RXD2為低電平,故為“0”。當TX為“1”,即為“-3~-15V”時,明顯IC13截止而RXD2為高電平。
總體上說,RS232就是一個電平轉(zhuǎn)換的過程,不管是上面所搭的電路還是MAX232都是電平轉(zhuǎn)換。但在調(diào)試的過程當中,發(fā)現(xiàn)PC機發(fā)送數(shù)據(jù)時,單片機接受的是發(fā)送數(shù)據(jù)的2倍。只有講接收到的數(shù)除以2才能得到實際發(fā)送的數(shù)據(jù)。
這一問題有待解決。