MCS-51單片機內(nèi)部有一個全雙工的串行通信口,即串行接收和發(fā)送緩沖器(SBUF),這兩個在物理上獨立的接收發(fā)送器,既可以接收數(shù)據(jù)也可以發(fā)送數(shù)據(jù)。但接收緩沖器只能讀出不能寫入,而發(fā)送緩沖器則只能寫入不能讀出,它們的地址為99H。這個通信口既可以用于網(wǎng)絡(luò)通信,亦可實現(xiàn)串行異步通信,還可以構(gòu)成同步移位寄存器使用。如果在傳行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可方便地構(gòu)成標準的RS-232接口。下面我們分別介紹。
????[1].?基本概念
????數(shù)據(jù)通信的傳輸方式
????常用于數(shù)據(jù)通信的傳輸方式有單工、半雙工、全雙工和多工方式。
????單工方式:數(shù)據(jù)僅按一個固定方向傳送。因而這種傳輸方式的用途有限,常用于串行口的打印數(shù)據(jù)傳輸與簡單系統(tǒng)間的數(shù)據(jù)采集。
????半雙工方式:數(shù)據(jù)可實現(xiàn)雙向傳送,但不能同時進行,實際的應(yīng)用采用某種協(xié)議實現(xiàn)收/發(fā)開關(guān)轉(zhuǎn)換。
????全雙工方式:允許雙方同時進行數(shù)據(jù)雙向傳送,但一般全雙工傳輸方式的線路和設(shè)備較復雜。
????多工方式:以上三種傳輸方式都是用同一線路傳輸一種頻率信號,為了充分地利用線路資源,可通過使用多路復用器或多路集線器,采用頻分、時分或碼分復用技術(shù),即可實現(xiàn)在同一線路上資源共享功能,我們盛之為多工傳輸方式。
????[1].?基本概念
????數(shù)據(jù)通信的傳輸方式
????常用于數(shù)據(jù)通信的傳輸方式有單工、半雙工、全雙工和多工方式。
????單工方式:數(shù)據(jù)僅按一個固定方向傳送。因而這種傳輸方式的用途有限,常用于串行口的打印數(shù)據(jù)傳輸與簡單系統(tǒng)間的數(shù)據(jù)采集。
????半雙工方式:數(shù)據(jù)可實現(xiàn)雙向傳送,但不能同時進行,實際的應(yīng)用采用某種協(xié)議實現(xiàn)收/發(fā)開關(guān)轉(zhuǎn)換。
????全雙工方式:允許雙方同時進行數(shù)據(jù)雙向傳送,但一般全雙工傳輸方式的線路和設(shè)備較復雜。
????多工方式:以上三種傳輸方式都是用同一線路傳輸一種頻率信號,為了充分地利用線路資源,可通過使用多路復用器或多路集線器,采用頻分、時分或碼分復用技術(shù),即可實現(xiàn)在同一線路上資源共享功能,我們盛之為多工傳輸方式。
????串行數(shù)據(jù)通信兩種形式 ????異步通信 ????在這種通信方式中,接收器和發(fā)送器有各自的時鐘,它們的工作是非同步的,異步通信用一幀來表示一個字符,其內(nèi)容如下:一個起始位,僅接著是若干個數(shù)據(jù)位,圖2是傳輸45H的數(shù)據(jù)格式。 ????同步通信 ????同步通信格式中,發(fā)送器和接收器由同一個時鐘源控制,為了克服在異步通信中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時間,在要求傳送數(shù)據(jù)量較大的場合,速度就慢得多。同步傳輸方式去掉了這些起始位和停止位,只在傳輸數(shù)據(jù)塊時先送出一個同步頭(字符)標志即可。 ????同步傳輸方式比異步傳輸方式速度快,這是它的優(yōu)勢。但同步傳輸方式也有其缺點,即它必須要用一個時鐘來協(xié)調(diào)收發(fā)器的工作,所以它的設(shè)備也較復雜。 |
????串行數(shù)據(jù)通信的傳輸速率 ????串行數(shù)據(jù)傳輸速率有兩個概念,即每秒轉(zhuǎn)送的位數(shù)bps(Bit per second)和每秒符號數(shù)—波特率(Band rate),在具有調(diào)制解調(diào)器的通信中,波特率與調(diào)制速率有關(guān)。 ????[2].?MCS-51的串行口和控制寄存器 ????串行口控制寄存器 |
????MCS-51單片機串行口寄存器結(jié)構(gòu)如圖3所示。SBUF為串行口的收發(fā)緩沖器,它是一個可尋址的專用寄存器,其中包含了接收器和發(fā)送器寄存器,可以實現(xiàn)全雙工通信。但這兩個寄存器具有同一地址(99H)。MCS-51的串行數(shù)據(jù)傳輸很簡單,只要向發(fā)送緩沖器寫入數(shù)據(jù)即可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)即可接收數(shù)據(jù)。 ????此外,從圖中可看出,接收緩沖器前還加上一級輸入移位寄存器,MCS-51這種結(jié)構(gòu)目的在于接收數(shù)據(jù)時避免發(fā)生數(shù)據(jù)幀重疊現(xiàn)象,以免出錯,部分文獻稱這種結(jié)構(gòu)為雙緩沖器結(jié)構(gòu)。而發(fā)送數(shù)據(jù)時就不需要這樣設(shè)置,因為發(fā)送時,CPU是主動的,不可能出現(xiàn)這種現(xiàn)象。 |
????串行通信控制寄存器 ????在上一節(jié)我們已經(jīng)分析了SCON控制寄存器,它是一個可尋址的專用寄存器,用于串行數(shù)據(jù)的通信控制,單元地址是98H,其結(jié)構(gòu)格式如下: |
??表1??SCON寄存器結(jié)構(gòu) | |||||||||
SCON | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI | ||
位地址 | 9FH | 9EH | 8DH | 9CH | 9BH | 9AH | 99H | 98H |
????下面我們對各控制位功能介紹如下: ????(1).SM0、SM1:串行口工作方式控制位。 ????????SM0,SM1????工作方式 ????????????00??????方式0 ????????????01??????方式1 ????????????10??????方式2 ????????????11??????方式3 ????(2).SM2:多機通信控制位。 ????多機通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收狀態(tài),當串行口工作于方式2或3,以及SM2=1時,只有當接收到第9位數(shù)據(jù)(RB8)為1時,才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請,否則會將接受到的數(shù)據(jù)放棄。當SM2=0時,就不管第位數(shù)據(jù)是0還是1,都難得數(shù)據(jù)送入SBUF,并發(fā)出中斷申請。 ????工作于方式0時,SM2必須為0。 ????(3).REN:允許接收位。 ????REN用于控制數(shù)據(jù)接收的允許和禁止,REN=1時,允許接收,REN=0時,禁止接收。 ????(4).TB8:發(fā)送接收數(shù)據(jù)位8。 ????在方式2和方式3中,TB8是要發(fā)送的——即第9位數(shù)據(jù)位。在多機通信中同樣亦要傳輸這一位,并且它代表傳輸?shù)牡刂愤€是數(shù)據(jù),TB8=0為數(shù)據(jù),TB8=1時為地址。 ????(5).RB8:接收數(shù)據(jù)位8。 ????在方式2和方式3中,RB8存放接收到的第9位數(shù)據(jù),用以識別接收到的數(shù)據(jù)特征。 ????(6).TI:發(fā)送中斷標志位。 ????可尋址標志位。方式0時,發(fā)送完第8位數(shù)據(jù)后,由硬件置位,其它方式下,在發(fā)送或停止位之前由硬件置位,因此,TI=1表示幀發(fā)送結(jié)束,TI可由軟件清“0”。 ????(7).RI:接收中斷標志位。 ????可尋址標志位。接收完第8位數(shù)據(jù)后,該位由硬件置位,在其他工作方式下,該位由硬件置位,RI=1表示幀接收完成。 |
????電源管理寄存器PCON ????PCON主要是為CHMOS型單片機的電源控制而設(shè)置的專用寄存器,單元地址是87H,其結(jié)構(gòu)格式如下: |
??表2??PCON電源管理寄存器結(jié)構(gòu) | |||||||||
PCON | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
位符號 | SMOD | - | - | - | GF1 | GF0 | PD | IDL |
????在CHMOS型單片機中,除SMOD位外,其他位均為虛設(shè)的,SMOD是串行口波特率倍增位,當SMOD=1時,串行口波特率加倍。系統(tǒng)復位默認為SMOD=0。 |
????中斷允許寄存器IE ????中斷允許寄存器在前一節(jié)中已闡述,這里重述一下對串行口有影響的位ES。ES為串行中斷允許控制位,ES=1允許串行中斷,ES=0,禁止串行中斷。 |
??表3??IE中斷允許控制寄存器結(jié)構(gòu) | |||||||||
位符號 | EA | - | - | ES | ET1 | EX1 | ET0 | EX0 | |
位地址 | AFH | AEH | ADH | ACH | ABH | AAH | A9H | A8H |
評論