《單片機原理及工程應(yīng)用》課件-第5章 串行通信技術(shù)(第2次課 應(yīng)用)2023_第1頁
《單片機原理及工程應(yīng)用》課件-第5章 串行通信技術(shù)(第2次課 應(yīng)用)2023_第2頁
《單片機原理及工程應(yīng)用》課件-第5章 串行通信技術(shù)(第2次課 應(yīng)用)2023_第3頁
《單片機原理及工程應(yīng)用》課件-第5章 串行通信技術(shù)(第2次課 應(yīng)用)2023_第4頁
《單片機原理及工程應(yīng)用》課件-第5章 串行通信技術(shù)(第2次課 應(yīng)用)2023_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1串行口的工作方式SM0SM1工作方式功

能波

率00方式0移位寄存器方式fosc/1201方式18位通用異步接收器/發(fā)送器可變10方式29位通用異步接收器/發(fā)送器fosc/32或

fosc/6411方式39位通用異步接收器/發(fā)送器可變復(fù)習(xí)25.2.3波特率設(shè)置1.方式0和方式2的波特率

方式0波特率是固定的,波特率是振蕩頻率fosc的12分頻。即

波特率B=fosc/12

方式2波特率由振蕩頻率fosc和SMOD(PCON.7)所決定。其對應(yīng)公式為:

波特率B=fosc×2SMOD/64

當(dāng)SMOD=0時,波特率為fosc/64;當(dāng)SMOD=1時,波特率為fosc/32。32.方式1和方式3的波特率方式1和方式3的波特率由定時器T1的溢出率和SMOD決定,即由下式確定:波特率B=定時器T1溢出率×2SMOD/32

實際上,當(dāng)定時器T1作波特率發(fā)生器使用時,通常是工作在方式2,即自動重裝載的8位定時器方式,此時TL1作計數(shù)用,自動重裝載的值保存在TH1內(nèi)。設(shè)計數(shù)的預(yù)置值(計數(shù)初值)為X,那么每過(256-X)個機器周期,定時器溢出一次。4

定時時間t=(256-X)T=(256-X)12/fosc

T1的溢出率為fosc/(12×(256-X)),其波特率為:波特率

通常在系統(tǒng)設(shè)計時,大多數(shù)情況是先確定了系統(tǒng)的波特率B,而我們則要根據(jù)系統(tǒng)的波特率B計算定時器T1的計數(shù)初值,由上式我們可求出計數(shù)初值X為:55.3串行口應(yīng)用

串行通信口的應(yīng)用過程中要做的工作:1.確定通信規(guī)約,通信雙方要明確約定以下內(nèi)容:通信方式―明確采用何種通信方式、幀結(jié)構(gòu)、各位含義等。通信速率―通常規(guī)定通信波特率。校驗方式—確定傳輸數(shù)據(jù)的校驗方式。通常采用奇/偶校 驗,同步傳輸時有縱校驗、橫校驗等。回送信息-傳輸信息被確認(rèn)后,向?qū)Ψ交厮秃畏N信息。代碼含義-傳輸1幀數(shù)據(jù)中各個代碼的含義。62.確定相關(guān)器存器的值(各寄存器的具體設(shè)定方法在前面已作了詳細(xì)介紹)(1)串行口控制寄存器SCON。(2)電源控制寄存器PCON的PCON.7,波特率加倍系數(shù)位SMOD。(3)對于方式1、方式3要設(shè)置波特率,實際上就是設(shè)置定時器T1為方式2,相關(guān)的寄存器有:定時器/計數(shù)器方式寄存器TMOD、定時器/計數(shù)器控制寄存器TCON、及初值寄存器TH1、TL1。3.編寫程序,按照以上確定的各寄存器的值對串行口初始化。并編寫中斷服務(wù)程序。71.利用串行口擴展LED顯示器82.利用串行口輸入開關(guān)量93.雙機通信系統(tǒng)設(shè)甲乙兩臺機器按全雙工方式收發(fā)ASCII碼字符,數(shù)據(jù)位為8位,其中最高1位用來作奇偶校驗位,采用偶校驗方式,要求傳送的波特率為1200波特。假設(shè)發(fā)送緩沖區(qū)OUTBUF首址為片內(nèi)RAM60H,接收緩沖區(qū)INBUF首址為RAM70H,時鐘頻率fosc=6MHz

101.確定通信方式根據(jù)系統(tǒng)要求,通信雙方要相互約定:7位ASCII碼加1位校驗位共8位數(shù)據(jù),故可采用串行口方式1進行通信。51單片機的奇偶校驗位P是當(dāng)累加器A中“1”的個數(shù)為奇數(shù)時P=1;為偶數(shù)時P=0。直接把P的值放入ASCII碼的最高位(奇偶校驗位),即為偶校驗方式。112.計算定時器T1的計數(shù)初值對于串行口方式1,波特率由定時器T1的溢出率和SMOD決定,定時器T1采用工作方式2,可以避免計數(shù)溢出后用軟件重裝定時初值。取SMOD=0,按式(5.4)可求得計數(shù)初值X為:123.確定相關(guān)寄存器參數(shù)(1)串行口控制寄存器SCONSM1=01時為方式1,在SM2=0和REN=1條件下,允許接收數(shù)據(jù),其余各位均取0。則(SCON)=01010000B=50H(2)電源控制寄存器PCON由于SMOD=0,所以(PCON)=00H(同系統(tǒng)復(fù)位以后的狀態(tài),可不賦值)。位D7D6D5D4D3D2D1D0功能SM0SM1SM2RENTB8RB8TIRI位D7D6D5D4D3D2D1D0功能SMOD---CF1CF0PDIDL13定時器T1T0位D7D6D5D4D3D2D1D0功能GATEC/TM1M0GATEC/TM1M0(3)確定定時器方式寄存器TMOD

由于只用T1,且為定時方式2,(TMOD)=00100000B=20H請注意:串行通信端口的接收中斷RI、發(fā)送中斷TI共用一個中斷向量(0023H),因此,串行口中斷請求后,中斷服務(wù)程序首先要判斷是RI、TI當(dāng)中的那個請求中斷。144.編寫有關(guān)的通信程序主程序:ORG0000H LJMPMAIN ORG0023H;串行中斷入口

LJMPSINOUTORG0040HMAIN:MOVSP,#60H MOVTMOD,#20H;定時器T1設(shè)為方式2 MOVTL1,#0F3H;裝入定時器初值

MOVTH1,#0F3H;8位重裝值

SETBTR1 ;啟動定時器T1 MOVSCON,#50H;串行口設(shè)為方式1 MOVR0,#60H;OUTBUF首址

MOVR1,#70H;INBUF首址

SETBEA ;開中斷

SETBES ;允許串行口中斷

LCALLSOUT;先發(fā)送1個字符

SJMP$ ;等待中斷

15;中斷服務(wù)程序:

ORG1000HSINOUT:JNBRI,SEND;不是接收,則轉(zhuǎn)向發(fā)送

LCALLSIN;是接收,則調(diào)用接收子程序

RETI;中斷返回SEND: LCALLSOUT;是發(fā)送,則調(diào)用發(fā)送子程序

RETI;中斷返回;發(fā)送子程序:SOUT: MOVA,@R0;取發(fā)送數(shù)據(jù)到A MOVC,P;偶校驗位賦于C MOVACC.7,C;送入ASCII碼最高位中

INCR0;修改發(fā)送數(shù)據(jù)指針

MOVSBUF,A;發(fā)送數(shù)據(jù)

CLRTI;清發(fā)送中斷標(biāo)志

RET;子程序返回

16;接收子程序:SIN: MOVA,SUBF;讀入接收緩沖區(qū)內(nèi)容

JNBP,EXIT;若P=0,則接收正確ERROR:…

;若P=1,則接收錯誤

;出錯處理EXIT:ANLA,#7FH;刪去校驗位

MOV@R1,A;存入接收緩沖區(qū)

INCR1 ;修改接收緩沖區(qū)指針

CLRRI ;清接收中斷標(biāo)志

RET ;子程序返回175.4RS-232C串行總線及應(yīng)用RS-232C標(biāo)準(zhǔn)是美國電子工業(yè)協(xié)會(EIA)在1969年頒布的一種推薦標(biāo)準(zhǔn),RS是RecommendedStandard的縮寫。18RS-232C在工程中的應(yīng)用為了提高數(shù)據(jù)通信的可靠性和抗干擾能力,RS-232C標(biāo)準(zhǔn)中規(guī)定發(fā)送端信號邏輯“0”(空號)電平范圍為+5V~+15V,邏輯“1”(傳號)電平范圍為-5V~-15V;接收端邏輯“0”為+3V~+15V,邏輯“1”為-3V~-15V。噪聲容限為2V。-5V~+5V以及-3V~+3V之間分別為發(fā)送端和接收端點信號的不確定區(qū)。通常,RS-232C總線邏輯電平采用+12V表示“0”,-12V表示“1”。19RS-232與TTL電平轉(zhuǎn)換20RS-232與TTL電平轉(zhuǎn)換21RS-232與TTL電平轉(zhuǎn)換22MAX232電平轉(zhuǎn)換器件該器件十分有用,請各位熟記!2389C51PCMAX232RS232電平TTL電平24

在分布式多波特率通信系統(tǒng)中,常常要求從設(shè)備在軟件上能做到波特率能隨主設(shè)備自動調(diào)整,使系統(tǒng)適應(yīng)性更強,智能化程度更高。當(dāng)然,一般情況下,波特率自動檢測的范圍僅限于標(biāo)準(zhǔn)波特率。常用實現(xiàn)波特率自動檢測的方法有三種:

(1)從設(shè)備啟動通信程序

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論