串行通信的基礎知識
——
1.1 數據傳送
單片機的串行通信使用的是異步串行通信,所謂異步就是指發送端和接收端使用的不是同一個時鐘。異步串行通信通常以字符(或者字節)為單位組成字符幀傳送。字符幀由發送端一幀一幀地傳送,接收端通過傳輸線一幀一幀地接收。
1. 字符幀的幀格式
字符幀由四部分組成,分別是起始位、數據位、奇偶校驗位、停止位。如圖1所示:
1) 起始位:位于字符幀的開頭,只占一位,始終位邏輯低電平,表示發送端開始發送一幀數據。
2) 數據位:緊跟起始位后,可取5、6、7、8位,低位在前,高位在后。
3) 奇偶校驗位:占一位,用于對字符傳送作正確性檢查,因此奇偶校驗位是可選擇的,共有三種可能,即奇偶校驗、偶校驗和無校驗,由用戶根據需要選定。
4) 停止位:末尾,為邏輯“1”高電平,可取1、1.5、2位,表示一幀字符傳送完畢。

圖1 字符幀格式
異步串行通信的字符幀可以是連續的,也可以是斷續的。連續的異步串行通信,是在一個字符格式的停止位之后立即發送下一個字符的起始位,開始一個新的字符的傳送,即幀與幀之間是連續的。而斷續的異步串行通信,則是在一幀結束之后不一定接著傳送下一個字符,不傳送時維持數據線的高電平狀態,使數據線處于空閑。其后,新的字符傳送可在任何時候開始,并不要求整倍數的位時間。
2. 傳送的速率
串行通信的速率用波特率來表示,所謂波特率就是指一秒鐘傳送數據位的個數。每秒鐘傳送一個數據位就是1波特。即:1波特=1bps(位/秒)
在串行通信中,數據位的發送和接收分別由發送時鐘脈沖和接收時鐘脈沖進行定時控制。時鐘頻率高,則波特率高,通信速度就快;反之,時鐘頻率低,波特率就低,通信速度就慢。
1.2 數據轉換
MCS-51單片機只能處理8位的并行數據,所以在進行串行數據的發送時,要把并行數據轉換為串行數據。而在接收數據時,只有把接收的串行數據轉換成并行數據,單片機才能進行處理。
能實現這種轉換的設備,稱為通用異步接收發送器(Universal Asynchronous Receiver /Transmitter)。這種設備已集成到單片機內部,稱為串行接口電路。串行接口電路為用戶提供了兩個串行口緩沖寄存器(SBUF),一個稱為發送緩存器,它的用途是接收片內總線送來的數據,即發送緩沖器只能寫不能讀。發送緩沖器中的數據通過TXD引腳向外傳送。另一個稱為接收緩沖器,它的用途是向片內總線發送數據,即接收緩沖器只能讀不能寫。接收緩沖器通過RXD引腳接收數據。因為這兩個緩沖器一個只能寫,一個只能讀,所以共用一個地址99H。串行接口電路如圖2所示。

電工基礎相關文章:電工基礎知識試題
51單片機相關文章:51單片機教程
通信相關文章:通信原理
評論