80C51單片機(jī)的串行口 第六章_第1頁
80C51單片機(jī)的串行口 第六章_第2頁
80C51單片機(jī)的串行口 第六章_第3頁
80C51單片機(jī)的串行口 第六章_第4頁
80C51單片機(jī)的串行口 第六章_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

80C51單片機(jī)的串行口第六章2024/4/282第6章80C51單片機(jī)的串行口串行通信基礎(chǔ)6.180C51串行口6.280C51串行口應(yīng)用6.32024/4/2836.1計(jì)算機(jī)串行通信基礎(chǔ)通信:并行通信與串行通信

并行通信特點(diǎn):傳送控制簡單、速度快,但傳輸線較多,成本高。2024/4/284

串行通信特點(diǎn):傳送控制復(fù)雜、速度慢,傳輸線少,成本低2024/4/285異步通信與同步通信收、發(fā)設(shè)備時(shí)鐘獨(dú)立,以字符(幀)為單位傳輸

6.1.1串行通信的基本概念異步通信(RS-232C)

2024/4/286

異步通信幀格式起始位(1位);數(shù)據(jù)位(8位);奇偶校驗(yàn)位(1位,可無校驗(yàn)位);停止位(1位)。

特點(diǎn)易于實(shí)現(xiàn)效率不高2024/4/287SPI(SerialPeripheralInterface--串行外設(shè)接口)是一種同步串行外設(shè)接口,為全雙工通信,數(shù)據(jù)傳輸速度可達(dá)幾Mbps。SPI接口以主從方式工作,一般包括以下信號(hào):(1)MOSI–主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入(2)MISO–主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出(3)SCLK–時(shí)鐘信號(hào),由主器件產(chǎn)生(4)/SS–從器件使能信號(hào),由主器件控制SPI接口傳輸?shù)臄?shù)據(jù)為8位,在/SS和SCLK作用下,按位傳輸,高位在前,低位在后。SPI接口的一個(gè)缺點(diǎn):沒有應(yīng)答機(jī)制。同步通信(發(fā)、收時(shí)鐘直接連接,效率高。板內(nèi)元件間的SPI接口)

接口內(nèi)部硬件連接圖2024/4/288通訊時(shí)序圖2024/4/2892024/4/2810串行通信的傳輸方向單工

半雙工

全雙工80C51有1個(gè)全雙工串行口

2024/4/2811信號(hào)的調(diào)制與解調(diào)DTE:數(shù)據(jù)終端設(shè)備DCE:數(shù)據(jù)通信設(shè)備調(diào)制解調(diào)器調(diào)制:數(shù)字→模擬解調(diào):模擬→數(shù)字音頻模擬信號(hào)二進(jìn)制數(shù)據(jù)2024/4/2812串行通信的錯(cuò)誤校驗(yàn)奇偶校驗(yàn)

發(fā)送字符時(shí),數(shù)據(jù)位尾隨1位奇偶校驗(yàn)位(1或0)。奇校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為奇數(shù);偶校驗(yàn)時(shí),數(shù)據(jù)中“1”的個(gè)數(shù)與校驗(yàn)位“1”的個(gè)數(shù)之和應(yīng)為偶數(shù)。接收字符時(shí),對(duì)“1”的個(gè)數(shù)進(jìn)行校驗(yàn),若發(fā)現(xiàn)不一致,則說明傳輸數(shù)據(jù)過程中出現(xiàn)了差錯(cuò)。

2024/4/2813代碼和校驗(yàn)

發(fā)送方將所發(fā)數(shù)據(jù)塊求和(或各字節(jié)異或),產(chǎn)生的校驗(yàn)和字節(jié)附加到數(shù)據(jù)塊的末尾。接收方在接收數(shù)據(jù)時(shí)要對(duì)數(shù)據(jù)塊(除校驗(yàn)字節(jié)外)求和(或各字節(jié)異或),將所得的結(jié)果與收到的“校驗(yàn)和”進(jìn)行比較,相符則無差錯(cuò),否則就認(rèn)為傳送過程出現(xiàn)了差錯(cuò)。2024/4/2814傳輸速率與傳輸距離傳輸速率比特率:每秒鐘傳送的信息量。單位:位/秒(bps)波特率:每秒鐘傳送碼元數(shù)目,單位:波特(Baud)

基帶傳輸(每個(gè)碼元帶有“1”或“0”這1bit信息),波特率和比特率是相同的。常用波特率為:2400、4800、9600、14.4K、19.2K等傳輸距離與傳輸速率的關(guān)系傳輸距離隨波特率的增加而減小。不同的調(diào)制方法可以在一個(gè)碼元上負(fù)載多個(gè)比特信息2024/4/28156.1.2串行通信接口標(biāo)準(zhǔn)RS-232C定義的是DTE與DCE間的接口標(biāo)準(zhǔn)。機(jī)械特性DB-25(陽頭)連接器DB-9(陽頭)連接器陽頭通常用于計(jì)算機(jī)側(cè),陰頭用于連接線側(cè)2024/4/2816功能特性插針序號(hào)信號(hào)名稱功能信號(hào)方向1

PGND保護(hù)接地

2(3)TXD發(fā)送數(shù)據(jù)(串行輸出)DTE→DCE

3(2)RXD接收數(shù)據(jù)(串行輸入)DTE←DCE

4(7)RTS請(qǐng)求發(fā)送DTE→DCE

5(8)CTS允許發(fā)送DTE←DCE

6(6)DSRDCE就緒(數(shù)據(jù)建立就緒)DTE←DCE

7(5)

SGND信號(hào)接地

8(1)DCD載波檢測(cè)DTE←DCE

20(4)DTRDTE就緒(數(shù)據(jù)終端準(zhǔn)備就緒)DTE→DCE

22(9)RI振鈴指示DTE←DCE2024/4/2817電氣特性RS-232C采用負(fù)邏輯電平,規(guī)定(-3~-25V)為邏輯“1”,(+3~+25V)為邏輯“0”。-3V~+3V是未定義的過渡區(qū)。試比較:電平轉(zhuǎn)換電路(如MAX232)。2024/4/2818過程特性遠(yuǎn)程通信,需要調(diào)制解調(diào)器2024/4/2819近程通信,不需要調(diào)制解調(diào)器無聯(lián)絡(luò)線方式聯(lián)絡(luò)線短接(偽連接)方式

4RTS請(qǐng)求發(fā)送

5CTS允許發(fā)送

6DSRDCE就緒(數(shù)據(jù)建立就緒)20DTRDTE就緒(數(shù)據(jù)終端準(zhǔn)備就緒)2024/4/2820

RS-232C電平與TTL電平轉(zhuǎn)換驅(qū)動(dòng)電路早期常用MC1488、MC1489

近期常用MAXM232:

片內(nèi)帶有自升壓電路僅需+5V電源內(nèi)含2個(gè)發(fā)送器,2個(gè)接收器

2024/4/2821采用RS-232C接口存在的問題新標(biāo)準(zhǔn)RS-485改善了傳輸特性,應(yīng)用廣泛!

差分信號(hào)負(fù)邏輯,+2V~+6V表示1,-6V~-2V表示0采用兩線制接線方式,同一總線上最多可以掛接32個(gè)結(jié)點(diǎn)通信速率在100Kpbs及以下時(shí),最長傳輸距離可達(dá)1200米傳輸距離短、速率低。通常不超過15米,速率20Kbps有電平偏移抗干擾能力差不宜組網(wǎng)2024/4/28226.2

80C51單片機(jī)的串行口6.2.180C51串行口的結(jié)構(gòu)1個(gè)全雙工串口:通信或接口擴(kuò)展接收發(fā)送緩沖器邏輯同名、物理分開;接收雙緩沖。2024/4/28236.2.280C51串行口的控制寄存器串行口控制寄存器SCONSM0和SM1:工作方式選擇位76543210SCONSM0SM1SM2RENTB8RB8TIRI字節(jié)地址:98HSM0SM1方式說明波特率000移位寄存器fosc/1201110位UART(8位數(shù)據(jù))可變10211位UART(9位數(shù)據(jù))fosc/64或fosc/3211311位UART(9位數(shù)據(jù))可變通用異步接收/發(fā)送裝置通用異步接收/發(fā)送裝置2024/4/2824電源控制寄存器PCONSMOD:波特率倍增位。在串行口方式1、方式2、方式3時(shí),波特率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí),SMOD=0。

76543210PCONSMOD字節(jié)地址:97H2024/4/2825SM2:多機(jī)通信控制位SM2=1時(shí),接收機(jī)處于地址幀篩選狀態(tài)。若RB8=1,該地址幀信息可進(jìn)入SBUF,并使RI為1,進(jìn)而在中斷服務(wù)中再進(jìn)行地址號(hào)比較;若RB8=0,該幀不是地址幀,應(yīng)丟掉,且保持RI=0。SM2=0時(shí),接收機(jī)處于地址幀篩選被禁止?fàn)顟B(tài)。不論收到的RB8為0或1,均可以使收到的信息進(jìn)入SBUF,并使RI=1。此時(shí)的RB8通常為校驗(yàn)位。REN:串行接收使能位,軟件置1時(shí),啟動(dòng)接收過程2024/4/2826TB8:多機(jī)方式發(fā)送的第9位多機(jī)方式的地址/數(shù)據(jù)幀標(biāo)志。也可作為奇偶校驗(yàn)位。

RB8:多機(jī)方式接收的第9位多機(jī)方式的地址/數(shù)據(jù)幀標(biāo)志。也可作為奇偶校驗(yàn)位。

TI:發(fā)送中斷標(biāo)志位,要由軟件清0RI:接收中斷標(biāo)志位,要由軟件清02024/4/28276.2.380C51串行口的工作方式方式0:同步移位寄存器,用于擴(kuò)展并行口RXD:輸入或輸出引腳TXD:移位脈沖輸出接收和發(fā)送方式都是8位波特率固定為:fosc/122024/4/2828數(shù)據(jù)輸出:CLR用于對(duì)74LS164清02024/4/282974LS1642024/4/2830數(shù)據(jù)輸入:S/L負(fù)脈沖將并行數(shù)據(jù)裝入,高電平時(shí)啟動(dòng)單片機(jī)進(jìn)行數(shù)據(jù)輸入。2024/4/283174LS165*方式0應(yīng)用舉例12024/4/2832設(shè)計(jì)要求:數(shù)碼塊循環(huán)顯示00~99顯示緩沖區(qū):31H,30H單元2024/4/2833MAIN:MOV30H,#00HMOV31H,#00HL0:SETBP1.0INC30HMOVA,30HCJNEA,#0AH,AAMOV30H,#00HINC31HMOVA,31HCJNEA,#0AH,AAMOV30H,#00HMOV31H,#00HAA:MOVSCON,#00HMOVR7,#02HMOVR0,#30HMOVDPTR,#TABLOOP:MOVA,@R0MOVCA,@A+DPTRMOVSBUF,AWAIT:JNBTI,WAITCLRTIINCR0DJNZR7,LOOPMOVR2,#30HLCALLDELYACLRP1.0SJMPL0TAB:DB3FH,06H,5BH,04FH,66HDB6DH,7DH,07H,7FH,6FH可省顯示的位數(shù)方式0應(yīng)用舉例22024/4/2834讀入10個(gè)數(shù)據(jù),存放到(50H)開始的10個(gè)存儲(chǔ)單元MAIN:MOVR7,#10MOVR0,#50HMOV40H,#00HSTART:INC40HMOVP1,40HCLRP3.2SETBP3.2RXDATA:MOVSCON,#10HWAIT:JNBRI,WAITCLRRIMOVA,SBUFMOV@R0,AINCR0

DJNZR7,STARTSJMP$REN=1傳送字節(jié)數(shù)據(jù)個(gè)數(shù)傳送數(shù)據(jù)方式0應(yīng)用舉例2(擴(kuò)展)2024/4/2835數(shù)碼塊JLEDJS240dp…aP0P2.0要求:讀入10個(gè)數(shù)據(jù),存放到(50H)開始的10個(gè)存儲(chǔ)單元,同時(shí)用數(shù)碼塊顯示串行接收的數(shù)據(jù)2024/4/2836MAIN:MOVR7,#10

MOVR0,#50H

MOV40H,#00HSTART:INC40HMOVP1,40H

CLRP3.2SETBP3.2RXDATA:MOVSCON,#10HWAIT:JNBRI,WAIT

CLRRI

MOVA,SBUF

MOV@R0,A

INCR0LCALLDISPLAY

DJNZR7,START

SJMPMAINDISPLAY:MOVP2,#0FEHLOOP:MOVDPTR,#1000HMOVCA,@A+DPTRMOVP0,ALCALLDELAYRETDELAY:MOVR4,#0FHD1:MOVR6,#00HD2:MOVR5,#00HDJNZR5,$DJNZR6,D2DJNZR4,D1RETORG1000HDB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90H顯示數(shù)據(jù)2024/4/2837方式1:10位幀,用于雙機(jī)通信起始位:1位數(shù)據(jù)位:8位停止位:1位2024/4/2838串行發(fā)送:(寫SBUF啟動(dòng)發(fā)送過程)串行接收:(置REN=1啟動(dòng)接收過程)

采樣頻率是接收時(shí)鐘的16倍。連續(xù)8次采樣到RXD為L→起始位;之后對(duì)第7、8、9脈沖采樣到的數(shù)據(jù)以三中取二的原則,確定采樣數(shù)據(jù)。2024/4/2839方式1應(yīng)用舉例方式1波特率=(2SMOD/32)*(T1溢出率)

T1溢出率=fosc/{12×[256-(TH1)]}晶振11MHz4800波特2024/4/28402024/4/2841方式2和方式3:11位幀,用于多機(jī)通信起始位:1位數(shù)據(jù)位:9位停止位:1位2024/4/2842串行發(fā)送:(寫SBUF啟動(dòng)發(fā)送過程)串行接收:(置REN=1啟動(dòng)接收過程)

2024/4/2843方式2應(yīng)用舉例方式2波特率=(2SMOD/64)*

fosc2024/4/28442024/4/2845方式3應(yīng)用舉例累加和2024/4/28462024/4/28476.2.480C51波特率確定與初始化步驟波特率的確定波特率的計(jì)算固定波特率:

方式0波特率=fosc/12

方式2波特率=(2SMOD/64)*

fosc可變波特率:方式1波特率=(2SMOD/32)*(T1溢出率)

方式3波特率=(2SMOD/32)*(T1溢出率)

T1溢出率=fosc/{12×[256-(TH1)]}2024/4/2848波特率的選擇波特率要選擇標(biāo)稱值,由于TH1的初值是整數(shù),為了減小波特率計(jì)算誤差,晶振頻率要選為11.0592MHz。方式1和方式3波特率與TH1初值的對(duì)應(yīng)關(guān)系:波特率/(b/s)19.2k9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD100002024/4/2849串行口初始化

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論