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

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

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