單片機與電腦串口通信電路設計

admin @ 2014-03-19 , reply:0

概述
 本文主要介紹PC機與51系列單片機實現通信的一般方法和步驟。  硬體結構和單片機的通1S程序設計單片機和PC機的串列通信一般採用RS-232、RS-422或B3-485匯流排標準介面,也有……

 本文主要介紹PC機與51系列單片機實現通信的一般方法和步驟。

  硬體結構和單片機的通1S程序設計
單片機和PC機的串列通信一般採用RS-232、RS-422或B3-485匯流排標準介面,也有採用非標準的20nnJL電流環的。為保證通信的可靠,在選擇介面時必須注意:(1)通信的速率;(2)通信距離:(3)抗干擾能力;(4)組網方式。本文主要介紹採用RS-232介面與單片機通信的方法。
1、 RS-232電平轉換和PC機的介面電路


RS-232是早期為公用電話網路數據通信而制定的標準,其邏輯電平與ITL\CMOS電乎完全不同。邏輯“0”規定為+5- +15V之間,邏輯“1,,規定為-5~-15V之間。由於RS-232發送和接收之間有公共地,傳輸採用非平衡模式,因此共模雜訊會耦合到信號系統中,其標準建議的最大通信距離為15米.但實際應用中我們在300bi:/s的速率下可以達到300米。


RS-232規定的電平和一般微處理器的邏輯電平不一致,必須進行電平轉換,實現邏輯電平轉換可以採用以下三種方式。
採用 MCl488和MCl489晶元的轉換介面 MCl488和MCl489晶元為早期的RS-232至TTL邏輯電平的轉換晶元,圖1為實際電路。該電路的不便之處是需要±12V電壓,並且功耗較大,不適合用於低功耗的系統。圖中TXD、RXD分別接單片機的發送和接收端。
採用MAX232晶元的轉換介面 MAX232是MAXIM公司生產的,包含兩路驅動器和接收器的RS-232轉換晶元。圖2為實際電路。晶元內部有一個電壓轉換器,可以把輸入的+5v電壓轉換為RS-232介面所需的±10V電壓,尤其適用於沒有±12V的單電源系統。與此原理相同的晶元還有MAx202、AD公司的ADDtl01以及 INl2隻SIL公司的ICl232晶元。

採用分立元件實現的轉換介面圖3為採用分立元件實現的RS-232-TTL電平的轉換介面電路,其特點是利用PC機的BS-232介面的③腳信號出(也可用④、⑦腳)來供給負電源,FC機的③、④、⑦腳在非發送邏輯”0“電平時均為1電平(-10V左右),其驅動能力為20mA,利用這個特性,用一個二極體和電解電容,即在電解電容上獲取了RS-232通信所需的負電源。該電路簡單、功耗小,在沒有專用晶元時不失為一種替代方法。
上述介紹的RS。232至TTL電平轉換的方法可以適用於大多數通信系統,在一些特殊應用場合需要諸如靜電保護、多收發器(如與MODEM連接)時可採用MAX238(4驅動、4接收)或MAX3221t t15Kv靜電保護)等晶元。
2、單片機通信程序設計

單片機串工作方式目前廣泛應用的51系列單片機的串列通信可工作於同步或非同步方式,多數與8031兼容的51系列單片機都有一個或多個UART非同步串列介面,這就為用戶設計通信程序提供了很好的便利條件。當應用系統中需要多個串列通信介面時,可採用以下幾種方法:

(1)採用多串口的單片機,如華邦的WW77E58就有2個串列介面;

(2)採用通用非同步串口擴展晶元,如TLl6c552(2路)、?LCl6C554(4路);

(3)採用普通I/O模擬實現通信。這是最簡單經濟的方法,並且可以實現高速串通信,實現方法詳見《電子世界)雜誌以前刊登的有關文章。本文僅討論採用一個非同步串列通信的設計方法,單片機串口的控制方式MCS-51系列單片機對串口的控制是通過對串列口控制寄存器SCON和功率控制寄存器PCON的設置來實現的。SCON是一個可位定址的特殊功能寄存器,通過設置SGON的SM0和SMI,可以使單片機有四種不同的工作方式。SCON的格式可參見有關手冊說明。在用於和PC機實現串列通信時,一般設置為方式1或方式3,主要區別是方式1的數據格式為8位,方式3的數據格式為9位,其中第9位SM2為多機通信位,‘可實現單片機的多點通信。功率控制寄存器PCON的SMOD為串列口波特串倍率控制位,當單片機的品振為整數時(如6M),設置5MOD為1通常可獲得更高的通信速串,但 SMOD不能位定址,這點務必請讀者注意。
單片機串口的速率設置單片機和PC機通信時,其通信速率由定時器T1或定時器T2產生(52系列),在T1工作在方式2時的通信速率的計算公式為:波特串=(SMOD× Fosc)/(32×12×[256-TH1])。其中Fosc晶振頻率,為獲得準確的通信速率,Fosc通常為11.0592MH2。採用T1定時器通信的系統,速率不可能過高,一般情況下最高為19200bit/s。如為了獲得更高的通信速率可利用52系列單片機的定時器T2,最高速率可達 115200bjt/s。實際應用中我們曾經在6MH2晶振的單片機系統中實現了38400bit/s的高速通信。
單片機串口通信程序的實現方法實際應用中,單片機通信程序一般採用中斷方式與微機通信,微機做為主控方。當單片機收到微機發送的地址信號時,便轉入中斷服務程序,向微機發送數據。其中斷服務於程序流程見圖4,該中斷服務於程序也適用於多機通信的系統。詳細的程序清單請參見本刊網站COMMON.ASM,單片機的晶振為11. 0592MHz,通信速率為9600bit/s,幀格式為N.8.1。




[admin via 研發互助社區 ] 單片機與電腦串口通信電路設計已經有2398次圍觀

http://cocdig.com/docs/show-post-39630.html