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