51單片機(jī)串口通信實例

51單片機(jī)串口通信實例

ID:17792723

大?。?19.00 KB

頁數(shù):9頁

時間:2018-09-05

51單片機(jī)串口通信實例_第1頁
51單片機(jī)串口通信實例_第2頁
51單片機(jī)串口通信實例_第3頁
51單片機(jī)串口通信實例_第4頁
51單片機(jī)串口通信實例_第5頁
資源描述:

《51單片機(jī)串口通信實例》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、51單片機(jī)串口通信實例一、原理簡介51單片機(jī)內(nèi)部有一個全雙工串行接口。什么叫全雙工串口呢?一般來說,只能接受或只能發(fā)送的稱為單工串行;既可接收又可發(fā)送,但不能同時進(jìn)行的稱為半雙工;能同時接收和發(fā)送的串行口稱為全雙工串行口。串行通信是指數(shù)據(jù)一位一位地按順序傳送的通信方式,其突出優(yōu)點是只需一根傳輸線,可大大降低硬件成本,適合遠(yuǎn)距離通信。其缺點是傳輸速度較低。與之前一樣,首先我們來了解單片機(jī)串口相關(guān)的寄存器。SBUF寄存器:它是兩個在物理上獨立的接收、發(fā)送緩沖器,可同時發(fā)送、接收數(shù)據(jù),可通過指令對SBUF的讀寫來區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。從而控制外部兩條獨立的收發(fā)信號線R

2、XD(P3.0)、TXD(P3.1),同時發(fā)送、接收數(shù)據(jù),實現(xiàn)全雙工。串行口控制寄存器SCON(見表1)。表1SCON寄存器??表中各位(從左至右為從高位到低位)含義如下。SM0和SM1:串行口工作方式控制位,其定義如表2所示。經(jīng)驗分享:學(xué)習(xí)單片機(jī)重要的是實踐,所以開發(fā)板是很重要,給大家推薦些淘寶上信譽良好并且軟硬件及小零件等、售前售后服務(wù)良好的皇冠級金鉆店鋪給大家,在硬件購買上少走彎路。按住Ctrl鍵單擊即可:慧凈電子單片機(jī)(一皇冠)【天津商盟】天津銳志(電子)單片機(jī)經(jīng)營部(兩皇冠)金沙灘工作室(5鉆)深圳育松電子元件,模塊,傳感器,批發(fā)部:淘寶最全最平價(5皇冠)志宏電子(4鉆)表2

3、串行口工作方式控制位??其中,fOSC為單片機(jī)的時鐘頻率;波特率指串行口每秒鐘發(fā)送(或接收)的位數(shù)。SM2:多機(jī)通信控制位。該僅用于方式2和方式3的多機(jī)通信。其中發(fā)送機(jī)SM2=1(需要程序控制設(shè)置)。接收機(jī)的串行口工作于方式2或3,SM2=1時,只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時,才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請引發(fā)串行接收中斷,否則會將接受到的數(shù)據(jù)放棄。當(dāng)SM2=0時,就不管第位數(shù)據(jù)是0還是1,都將數(shù)據(jù)送入SBUF,并置位RI發(fā)出中斷申請。工作于方式0時,SM2必須為0。REN:串行接收允許位:REN=0時,禁止接收;REN=1時,允許接收。TB8:在方式

4、2、3中,TB8是發(fā)送機(jī)要發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中它代表傳輸?shù)牡刂坊驍?shù)據(jù),TB8=0為數(shù)據(jù),TB8=1時為地址。RB8:在方式2、3中,RB8是接收機(jī)接收到的第9位數(shù)據(jù),該數(shù)據(jù)正好來自發(fā)送機(jī)的TB8,從而識別接收到的數(shù)據(jù)特征。TI:串行口發(fā)送中斷請求標(biāo)志。當(dāng)CPU發(fā)送完一串行數(shù)據(jù)后,此時SBUF寄存器為空,硬件使TI置1,請求中斷。CPU響應(yīng)中斷后,由軟件對TI清零。RI:串行口接收中斷請求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時,此時SBUF寄存器為滿,硬件使RI置1,請求中斷。CPU響應(yīng)中斷后,用軟件對RI清零。電源控制寄存器PCON(見表3)。表3PCON寄存器??表中各位(從左至

5、右為從高位到低位)含義如下。SMOD:波特率加倍位。SMOD=1,當(dāng)串行口工作于方式1、2、3時,波特率加倍。SMOD=0,波特率不變。GF1、GF0:通用標(biāo)志位。PD(PCON.1):掉電方式位。當(dāng)PD=1時,進(jìn)入掉電方式。IDL(PCON.0):待機(jī)方式位。當(dāng)IDL=1時,進(jìn)入待機(jī)方式。另外與串行口相關(guān)的寄存器有前面文章敘述的定時器相關(guān)寄存器和中斷寄存器。定時器寄存器用來設(shè)定波特率。中斷允許寄存器IE中的ES位也用來作為串行I/O中斷允許位。當(dāng)ES=1,允許串行I/O中斷;當(dāng)ES=0,禁止串行I/O中斷。中斷優(yōu)先級寄存器IP的PS位則用作串行I/O中斷優(yōu)先級控制位。當(dāng)PS=1,設(shè)定為

6、高優(yōu)先級;當(dāng)PS=0,設(shè)定為低優(yōu)先級。波特率計算:在了解了串行口相關(guān)的寄存器之后,我們可得出其通信波特率的一些結(jié)論:①方式0和方式2的波特率是固定的。在方式0中,波特率為時鐘頻率的1/12,即fOSC/12,固定不變。在方式2中,波特率取決于PCON中的SMOD值,即波特率為:??當(dāng)SMOD=0時,波特率為fosc/64;當(dāng)SMOD=1時,波特率為fosc/32。②方式1和方式3的波特率可變,由定時器1的溢出率決定。??當(dāng)定時器T1用作波特率發(fā)生器時,通常選用定時初值自動重裝的工作方式2(注意:不要把定時器的工作方式與串行口的工作方式搞混淆了)。其計數(shù)結(jié)構(gòu)為8位,假定計數(shù)初值為Count

7、,單片機(jī)的機(jī)器周期為T,則定時時間為(256?Count)×T。從而在1s內(nèi)發(fā)生溢出的次數(shù)(即溢出率)可由公式(1)所示:??從而波特率的計算公式由公式(2)所示:??在實際應(yīng)用時,通常是先確定波特率,后根據(jù)波特率求T1定時初值,因此式(2)又可寫為:??二、電路詳解下面就對圖1所示電路進(jìn)行詳細(xì)說明。??圖1串行通信實驗電路圖最小系統(tǒng)部分(時鐘電路、復(fù)位電路等)第一講已經(jīng)講過,在此不再敘述。我們重點來了解下與計算機(jī)通信的RS-232

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。