第七章 串行口通信技術(shù)_第1頁
第七章 串行口通信技術(shù)_第2頁
第七章 串行口通信技術(shù)_第3頁
第七章 串行口通信技術(shù)_第4頁
第七章 串行口通信技術(shù)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本章內(nèi)容串行通信基礎(chǔ)

MCS-51的串行接口

MCS-51單片機雙機通信

RS-232C串行通信總線標(biāo)準(zhǔn)及其接口

第七章串行口通信技術(shù)串行通信基礎(chǔ)

兩種通信方式的示意圖串行通信基礎(chǔ)

并行通信中,信息傳輸?shù)奈粩?shù)和數(shù)據(jù)位數(shù)相等;串行通信中,數(shù)據(jù)一位一位順序傳送。并行通信速度快,傳輸線多,適合于近距離的數(shù)據(jù)通信,但硬件接線成本高;串行通信速度慢,但硬件成本低,傳輸線少,適合于長距離數(shù)據(jù)傳輸。

串行通信的制式

在串行通信中數(shù)據(jù)是在兩個站之間進行傳送的,按照數(shù)據(jù)傳送方向,串行通信可分為單工(simplex)、半雙工(halfduplex)和全雙工(fullduplex)三種制式。在單工制式下,通信線的一端是發(fā)送器,一端是接收器,數(shù)據(jù)只能按照一個固定的方向傳送。在半雙工制式下,系統(tǒng)的每個通信設(shè)備都由一個發(fā)送器和一個接收器組成,但同一時刻只能有一個站發(fā)送,一個站接收;兩個方向上的數(shù)據(jù)傳送不能同時進行。即只能一端發(fā)送,一端接收,其收發(fā)開關(guān)一般是由軟件控制的電子開關(guān)示。全雙工通信系統(tǒng)的每端都有發(fā)送器和接收器,可以同時發(fā)送和接收,即數(shù)據(jù)可以在兩個方向上同時傳送。異步通信

在異步通信中,數(shù)據(jù)通常是以字符為單位組成字符幀傳送的。字符幀由發(fā)送端一幀一幀地發(fā)送,每一幀數(shù)據(jù)是低位在前,高位在后,通過傳輸線被接收端一幀一幀地接收。發(fā)送端和接收端可以由各自獨立的時鐘來控制數(shù)據(jù)的發(fā)送和接收,這兩個時鐘彼此獨立,互不同步。在異步通信中,接收端是依靠字符幀格式來判斷發(fā)送端是何時開始發(fā)送何時結(jié)束發(fā)送的。字符幀也叫數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗位和停止位等四部分組成。異步通信

異步通信的另一個重要指標(biāo)為波特率。波特率為每秒鐘傳送二進制數(shù)碼的位數(shù),也叫比特數(shù),單位為b/s,即位/秒。波特率用于表征數(shù)據(jù)傳輸?shù)乃俣龋ㄌ芈试礁?,?shù)據(jù)傳輸速度越快。通常,異步通信的波特率為50~9600b/s。同步通信

同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳輸一幀信息。這里的信息幀和異步通信的字符幀不同,通常有若干個數(shù)據(jù)字符,但它們均由同步字符、數(shù)據(jù)字符和校驗字符CRC三部分組成。在同步通信中,同步字符可以采用統(tǒng)一的標(biāo)準(zhǔn)格式,也可以由用戶約定。MCS-51的串行接口

串行口結(jié)構(gòu)示意圖MCS-51的串行接口

SBUF是兩個在物理上獨立的接收、發(fā)送寄存器,一個用于存放接收到的數(shù)據(jù),另一個用于存放待發(fā)送的數(shù)據(jù),可同時發(fā)送和接收數(shù)據(jù)。兩個緩沖器共用一個地址99H,通過對SBUF的讀、寫語句來區(qū)別是對接收緩沖器還是發(fā)送緩沖器進行操作。CPU在寫SBUF時,操作的是發(fā)送緩沖器;讀SBUF時,就是讀接收緩沖器的內(nèi)容。SBUF=send[i];//發(fā)送第i個數(shù)據(jù)buffer[i]=SBUF;//接收數(shù)據(jù)串行口控制寄存器SCON

SCON(98H)SM0SM1SM2RENTB8RB8TIRI串行口的工作方式SM0SM1工作方式功能波特率00方式08位同步移位寄存器fosc/1201方式110位UART可變10方式211位UARTfosc/64或fosc/3211方式311位UART可變通常我們在做單片機與單片機串口通信、單片機與個人PC機串口通信時,基本都選擇方式1,因此這種方式大家務(wù)必完全掌握。串行口控制寄存器SCON

SM2:多機通信控制位,用于方式2和方式3中。REN:允許串行接收位。由軟件置位或清零。REN=1時,允許接收,REN=0時,禁止接收。TB8:發(fā)送數(shù)據(jù)的第9位。在方式2和方式3中,由軟件置位或復(fù)位。一般可做奇偶校驗位。在多機通信中,可作為區(qū)別地址幀或數(shù)據(jù)幀的標(biāo)識位,一般約定地址幀時TB8為1,數(shù)據(jù)幀時TB8為0。RB8:接收數(shù)據(jù)的第9位。功能同TB8。SCON(98H)SM0SM1SM2RENTB8RB8TIRI串行口控制寄存器SCON

TI:發(fā)送中斷標(biāo)志位。在方式0中,發(fā)送完8位數(shù)據(jù)后,由硬件置位;在其他方式中,在發(fā)送停止位之初由硬件置位。因此,TI=1是發(fā)送完一幀數(shù)據(jù)的標(biāo)志,其狀態(tài)既可供軟件查詢使用,也可請求中斷。TI位必須由軟件清0。RI:接收中斷標(biāo)志位。在方式0中,接收完8位數(shù)據(jù)后,由硬件置位;在其他方式中,當(dāng)接收到停止位時該位由硬件置1。因此,RI=1是接收完一幀數(shù)據(jù)的標(biāo)志,其狀態(tài)既可供軟件查詢使用,也可請求中斷。RI位也必須由軟件清0。SCON(98H)SM0SM1SM2RENTB8RB8TIRI電源及波特率選擇寄存器PCONPCON主要是為CHMOS型單片機的電源控制而設(shè)置的專用寄存器,字節(jié)地址為87H,不可以位尋址。在HMOS的AT89C51單片機中,PCON除了最高位以外其它位都是虛設(shè)的。

PCON(87H)SMOD×××GF1GF0PDIDL

與串行通信有關(guān)的只有SMOD位。SMOD為波特率選擇位。在方式1、2和3時,串行通信的波特率與SMOD有關(guān)。當(dāng)SMOD=1時,通信波特率乘2,當(dāng)SMOD=0時,波特率不變。MCS-51串行口的工作方式

方式1

發(fā)送時,當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器SBUF后,啟動發(fā)送器發(fā)送,數(shù)據(jù)從TXD輸出。當(dāng)發(fā)送完一幀數(shù)據(jù)后,置中斷標(biāo)志TI為1。方式1下的波特率取決于定時器1的溢出率和PCON中的SMOD位。

接收時,REN置1,允許接收,串行口采樣RXD,當(dāng)采樣由1到0跳變時,確認是起始位“0”,開始接收一幀數(shù)據(jù)。當(dāng)RI=0,且停止位為1或SM2=0時,停止位進入RB8位,同時置中斷標(biāo)志RI;否則信息將丟失。所以,采用方式1接收時,應(yīng)先用軟件清除RI或SM2標(biāo)志。MCS-51串行口的波特率

在方式1下,波特率由定時器T1的溢出率和SMOD共同決定,即:方式1和方式3的波特率=·定時器1溢出率其中,定時器1的溢出率取決于單片機定時器1的計數(shù)速率和定時器的預(yù)置值。。

實際上,當(dāng)定時器T1做波特率發(fā)生器使用時,通常是工作在模式2下,即作為一個自動重裝載的8位定時器,此時TL1作計數(shù)用,自動重裝載的值在TH1內(nèi)。設(shè)計數(shù)的預(yù)置值(初始值)為X,那么每過256-X個機器周期,定時器溢出一次。為了避免溢出而產(chǎn)生不必要的中斷,此時應(yīng)禁止T1中斷。溢出周期為12×(256-X)/fosc.溢出率為溢出周期的倒數(shù)。串口方式1定時器1方式2產(chǎn)生常用波特率時,TL1和TH1中所裝入的值MCS-51單片機雙機通信

兩個單片機串行通信程序流程個人PC與51單片機的通信RS232串行通信線51單片機RS-232C串行通信總線標(biāo)準(zhǔn)及其接口

。

RS-232C的電氣標(biāo)準(zhǔn)采用負邏輯,即:邏輯“0”:+5V~+15V

邏輯“1”:-5V~-15V

因此,RS-232C不能和TTL電平直接相連,否則將使TTL電路燒壞,實際應(yīng)用時必須注意。RS-232C和TTL電平之間必須進行電平轉(zhuǎn)換,常用的電平轉(zhuǎn)換集成電路MAX232。MAX232引腳圖RS-232C串行通信總線標(biāo)準(zhǔn)及其接口

。

RS-232C標(biāo)準(zhǔn)總線為25根,可采用標(biāo)準(zhǔn)的DB-25和DB-9的D型插頭。目前計算機上只保留了兩個DB-9插頭,作為提供多功能I/O卡或主板上COM1和COM2兩個串行接口的連接器。引腳名稱功能引腳名稱功能1DCD載波檢測6DSR數(shù)據(jù)準(zhǔn)備完成2RXD發(fā)送數(shù)據(jù)7RTS發(fā)送請求3TXD接收數(shù)據(jù)8CTS發(fā)送清除4DTR數(shù)據(jù)終端準(zhǔn)備完成9RI振鈴指示5SG(GND)信號地線在簡單的RS232-C標(biāo)準(zhǔn)穿性通信中,僅連接發(fā)送數(shù)據(jù)(2)、接收數(shù)據(jù)(3)和信號地(5)三個引腳即可。#include<reg51.h>//包含頭文件reg51.hunsignedcharnum;//用于暫存字節(jié)voidserial_int(void)interrupt4//單片機串口中斷服務(wù)程序{if(RI){RI=0;//清零接受中斷標(biāo)志位num=SBUF;//把接受緩沖器的字節(jié)存入變量numP1=~num;//變量num逐位取反,送到P1口

SBUF=num;//把變量num的字節(jié)送到發(fā)送緩沖器

while(TI==0);//等待發(fā)送完畢TI=0; //清零發(fā)送中斷標(biāo)志位

}}main()//主程序{TMOD=0x20;//設(shè)置定時器0為工作方式2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論