第8章單片機串行通信及其接口_第1頁
第8章單片機串行通信及其接口_第2頁
第8章單片機串行通信及其接口_第3頁
第8章單片機串行通信及其接口_第4頁
第8章單片機串行通信及其接口_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第8章章 串行通信及其接口串行通信及其接口8.1 概述概述8.2 MCS-51的串行口的串行口8.3 串行口的控制串行口的控制8.1 概述概述串行通信:串行通信: 數(shù)據(jù)一位接一位順序傳送,可只用一根數(shù)據(jù)線傳送多位信息。數(shù)據(jù)一位接一位順序傳送,可只用一根數(shù)據(jù)線傳送多位信息。返回本章首頁8.1 概述概述串行通信有兩種基本方式串行通信有兩種基本方式。 同步通信同步通信SYNCSYNC(Synchronous Data Communication): :嚴(yán)格同步嚴(yán)格同步, ,發(fā)送同步碼發(fā)送同步碼, ,數(shù)據(jù)連續(xù)數(shù)據(jù)連續(xù), ,信息量大信息量大, ,速度較高速度較高 異步通信異步通信ASYNCASYNC(

2、Asynchronous Data Communication): :幀格式幀格式傳送傳送, ,信息量不大信息量不大返回本章首頁異步通信一幀字符信息的結(jié)構(gòu)異步串行通信數(shù)據(jù)格式同步字符CRC字符開始終止數(shù)據(jù)塊同步通信數(shù)據(jù)格式幀結(jié)構(gòu)8.1 概述概述串行通信從傳輸方式分為:串行通信從傳輸方式分為:串行接口有單工、半雙工和全雙工串行接口有單工、半雙工和全雙工3種種返回本章首頁8.1 概述概述RS-232C總線總線I2C-PHILIPS公司推出的公司推出的 I2C總線(總線(INTEL IC BUS)SPI-(Serial Peripheral Interface-串行外設(shè)接口串行外設(shè)接口)返回本章首頁

3、串行接口的連接的三種方法 1 三線連接 2 RS-232接口連接 3 modem方式連接 TXDRXDGND TXDRXDGND三線鏈接TXDRXDGNDTXDRXDGNDRS232電平轉(zhuǎn)換RS232電平轉(zhuǎn)換RS232接口連接 串行通信的傳送速率串行通信的傳送速率傳送速率用于描述數(shù)據(jù)傳送的快慢。在串行通信中,數(shù)據(jù)是按位進行傳送的,因此傳送速率用每秒鐘傳送格式位的數(shù)目來表示,稱之為波特率(baud rate)。每秒傳送一個格式位就是1波特,即: 1波特=1bps(位/秒) 在串行通信中,格式位的發(fā)送和接收分別由發(fā)送時鐘脈沖和接收時鐘脈沖進行定時控制。時鐘頻率高,則波特率也高,通信速度就快;反之,

4、時鐘頻率低,則波特率也低,通信速度也慢。 起 始位D0D1D2D4D3D5D6D7X標(biāo)志停止位檢驗位RS232C總線上傳輸?shù)漠惒酵ㄐ诺湫蛿?shù)據(jù)格式分類符號名稱引腳說明地線 機架保護地(屏蔽地)1 信號地(公共地)7 數(shù)據(jù)信號線TXD數(shù)據(jù)發(fā)送線2在無數(shù)據(jù)信息傳輸或收/發(fā)信息間隔期,RXD/TXD電平為1。輔助信道傳輸速率較主信道低。其余同RXD數(shù)據(jù)接收線3TXD輔助信道數(shù)據(jù)發(fā)送線14RXD輔助信道數(shù)據(jù)接收線16定時信號線 DCE發(fā)送信號定時15指示被傳輸?shù)拿總€bit信息的中心位置 DCE接收信號定時17 DTE發(fā)送信號定時24 控制線RTS請求發(fā)送4DTE發(fā)給DCECTS允許發(fā)送5DCE發(fā)給DTE

5、DSRDCE裝置就緒6 DTRDTE裝置就緒20DTE發(fā)給DCEDCD接收信號(載波)檢測8DTE收到滿足標(biāo)準(zhǔn)的信號時置位 振鈴指示22由DCE收到振鈴時置位 信號質(zhì)量檢測21由DCE根據(jù)數(shù)據(jù)信息是否有錯而置位/復(fù)位 數(shù)據(jù)信號速率選擇23指定兩種傳輸速率中的一種RTS輔助信道請求發(fā)送19 CTS輔助信道允許發(fā)送13RCD輔助信道接收檢測12備用線 9未定義,保留供未定義,保留供DCE裝置測試使用裝置測試使用 10 11 18 25RS232C信號線及其在信號線及其在DB-25的針腳號的針腳號8.1 概述概述串行接口結(jié)構(gòu)圖串行接口結(jié)構(gòu)圖返回本章首頁8.2 MCS-51的串行口的串行口8.2.1

6、串行口的結(jié)構(gòu)串行口的結(jié)構(gòu)8.2.2 串行口的工作方式串行口的工作方式8.2.3 波特率的計算波特率的計算返回本章首頁中斷請求中斷請求8.2.1 串行口的結(jié)構(gòu)串行口的結(jié)構(gòu) MCS-51單片機片內(nèi)有一個串行接口,可提供同步或全單片機片內(nèi)有一個串行接口,可提供同步或全 雙工異步串行通信方式雙工異步串行通信方式.設(shè)有二個互相獨立的設(shè)有二個互相獨立的 接收接收發(fā)送緩沖器發(fā)送緩沖器,可可 分別接受和發(fā)送數(shù)據(jù)分別接受和發(fā)送數(shù)據(jù)發(fā)送緩沖器只能寫入發(fā)送緩沖器只能寫入, 接收緩沖器只能讀出接收緩沖器只能讀出兩個緩沖器可共用一兩個緩沖器可共用一 個地址碼個地址碼99H 發(fā)送:發(fā)送:MOV SBUF,A 接收:接收:

7、MOV A,SBUF中斷請求中斷請求8.2.1 串行口的結(jié)構(gòu)串行口的結(jié)構(gòu)與串行口有關(guān)的特殊功能寄存器有與串行口有關(guān)的特殊功能寄存器有:SCON:串行口控制寄存器串行口控制寄存器SBUF :緩沖寄存器緩沖寄存器PCON:功耗控制寄存器功耗控制寄存器(D7: SMOD為波特率系數(shù)選擇位為波特率系數(shù)選擇位) 。8.2.1 串行口的結(jié)構(gòu)串行口的結(jié)構(gòu)1串行口控制寄存器串行口控制寄存器SCON (98H),可位尋址,可位尋址SM0 SM1:確定確定4種工作方式種工作方式SM2:多機通信控制位多機通信控制位REN:允許串行接收位允許串行接收位TB8:待發(fā)送的第待發(fā)送的第9位數(shù)據(jù)位數(shù)據(jù)RB8:接受到的第接受到

8、的第9位數(shù)據(jù)位數(shù)據(jù)TI和和RI:發(fā)送和接收中斷標(biāo)志位發(fā)送和接收中斷標(biāo)志位(注注:軟件清零軟件清零)SCON(98h)位地址SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998 D7D6D5D4D3D2D1D02特殊功能寄存器特殊功能寄存器PCON其字節(jié)地址為其字節(jié)地址為87H,沒有位尋址功能。,沒有位尋址功能。PCON的的格式如圖格式如圖7-7所示,其中與串行接口有關(guān)的只有所示,其中與串行接口有關(guān)的只有D7位。位。PCONSMOD D7D6D5D4D3D2D1D0 返回本節(jié)8.2.2 串行口的工作方式串行口的工作方式1方式方式0 (移位寄存器方式)發(fā)送(移位寄存器方式)

9、發(fā)送/接收時序接收時序發(fā)送發(fā)送接收接收2方式方式1 (8位位UART) 發(fā)送發(fā)送/接收時序接收時序發(fā)送發(fā)送接收接收3方式方式2 (9位位UART)發(fā)送發(fā)送/接收時序接收時序發(fā)送發(fā)送發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)TXD端輸出,發(fā)送端輸出,發(fā)送11位數(shù)據(jù)。位數(shù)據(jù)。第第9位為可程控的數(shù)據(jù),在位為可程控的數(shù)據(jù),在SCON的的TB8中。中。TB8由軟件值由軟件值1或清零?;蚯辶?。多機通訊,作為發(fā)送地址(多機通訊,作為發(fā)送地址(1)或數(shù)據(jù)()或數(shù)據(jù)(0)的標(biāo)志位。)的標(biāo)志位。雙機通訊,作為奇偶校驗位。雙機通訊,作為奇偶校驗位。接收接收數(shù)據(jù)由數(shù)據(jù)由RXDRXD端輸入,接收端輸入,接收1111位信息,位信息,當(dāng)接收器采樣到

10、當(dāng)接收器采樣到RXDRXD端從端從1 1到到0 0的跳變,開始接收一的跳變,開始接收一幀信息。幀信息。當(dāng)當(dāng)SM2=1SM2=1,僅接受地址信號。地址匹配,僅接受地址信號。地址匹配, SM2,- 0SM2,- 0。SM2=0SM2=0,接受數(shù)據(jù)及地址信號。,接受數(shù)據(jù)及地址信號。(RB8=1(RB8=1為地址信號,為地址信號, RB8=0RB8=0為有效數(shù)據(jù)位)為有效數(shù)據(jù)位)SCON位地址SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998 D7D6D5D4D3D2D1D04方式方式3 (9位位UART) 當(dāng)當(dāng)SM0SM1=11時,串行口工作在方式時,串行口工作在方式3。方

11、式。方式3為波特率可變的為波特率可變的9位異步通信方式,除了波特率外,位異步通信方式,除了波特率外,方式方式3和方式和方式2相同。相同。返回本節(jié)8.2.3 波特率的計算波特率的計算l串行口方式0的波特率是固定的,為系統(tǒng)時鐘的12 分頻(fosc/12),即每個機器周期傳送一位數(shù)據(jù)位。l串行口用方式2工作時,波特率為(2SMOD/64)fosc 。 l串行口方式1和方式3用定時器T1作為波特率發(fā)生器, 其波特率有多種選擇,與T1的溢出率有關(guān)l串行口方式1、3的波特率= (2SMOD32)T1溢出率lT1的溢出率即T1溢出時間的倒數(shù),它與T1選擇的 功能、工作方式和預(yù)置初值等有關(guān)8.2.3 波特率

12、的計算波特率的計算l 若定時器T1設(shè)定為自動重裝方式,T1的溢出率及串 行口波特率算式如下:l當(dāng)單片機與PC機通訊,工作于串行工作方式1,假 定波特率為9600波特,當(dāng)單片機的fOSC=11.0592MHZ, 波特率= (2SMOD32)T1溢出率, T1溢出率=(28-X)*fOSC/12lSMOD1時, X256- fOSC*2/(384*9600)= 2500FAHl將X寫入TH1和TL1時,若波特率發(fā)生器產(chǎn)生的實際傳輸率為波特率9599.84波特l波特率相對誤差=(96009599.84)/9600=0.00177%表8-3 常用的波特率及計算器初值返回本節(jié)8.3 串行口的控制串行口的

13、控制一、利用串行口擴展一、利用串行口擴展I/O二、二、 主從機間的通信主從機間的通信三、三、 多機通信接口多機通信接口返回本章首頁一、利用串行口擴展一、利用串行口擴展I/O l l 單片機串行工作方式單片機串行工作方式08位同步移位寄存器位同步移位寄存器利用利用74LS16474LS164擴展并行口,編制程序使擴展并行口,編制程序使L0L0L7L7以計數(shù)方式以計數(shù)方式點亮。點亮。2 2、共陰數(shù)碼管八段碼、共陰數(shù)碼管八段碼ABCDEFGPABCDEFGP分別接分別接74LS16474LS164的輸出口的輸出口Q7Q7Q0Q0,左移位顯示,左移位顯示0 09 9串并轉(zhuǎn)換,發(fā)光二極管顯示程序設(shè)計串并

14、轉(zhuǎn)換,發(fā)光二極管顯示程序設(shè)計 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 000BH ORG 000BHLJMP INT_T0LJMP INT_T0MAIN: MOV SP,#53HMAIN: MOV SP,#53H MOV TMOD, #01HMOV TMOD, #01HMOVTH0,#3CHMOVTL0,#0B0HMOVIE, #82HSETBTR0MOV R0,#30HMOV R0,#30H MOV R1,#0AH MOV R1,#0AH MOV SCON,#00H MOV SCON,#00H CLR TI CLR TINEXT: MOV A,

15、 R0NEXT: MOV A, R0 SETB P1.0 SETB P1.0 MOV SBUF,A MOV SBUF,AJNB TI $JNB TI $ CLR TI CLR TICLR P1.0CLR P1.0 INC R0 INC R0 CLR F0 CLR F0JNB F0, $ JNB F0, $ CLR F0CLR F0 LJMP NEXT LJMP NEXT END END初始化:串口方式初始化:串口方式0定時器方式定時器方式1等待等待1S串口發(fā)送數(shù)據(jù)串口發(fā)送數(shù)據(jù)查詢發(fā)送完否查詢發(fā)送完否 (TI=1 )TI=0顯示數(shù)據(jù)指針顯示數(shù)據(jù)指針+1YN1 1秒定時程序(秒定時程序(1 1秒鐘

16、秒鐘 F0-1)F0-1)INT_T0: PUSH ACCINT_T0: PUSH ACC PUSH PSW PUSH PSW CLR EA CLR EA MOV TL0,#3CH MOV TL0,#3CH MOV TH0,#0B0H MOV TH0,#0B0H DJNZ R1,EXIT DJNZ R1,EXIT MOV R1,#0AH MOV R1,#0AH SETB F0 SETB F0 EXIT: SETB EAEXIT: SETB EA POP PSW POP PSW POP ACC POP ACC RETI RETI定時定時初值初值中斷中斷允許允許串口串口方式方式0定時定時1S串行串

17、行發(fā)送發(fā)送關(guān)閉并行輸出關(guān)閉并行輸出開啟并行輸出開啟并行輸出串并轉(zhuǎn)換,串并轉(zhuǎn)換,LED顯示程序設(shè)計顯示程序設(shè)計 ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ORG 000BH ORG 000BH LJMP INT_T0 LJMP INT_T0 OGR 0030H OGR 0030HMAIN:MOV SP,#53HMAIN:MOV SP,#53H MOV TMOD, #01H MOV TMOD, #01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0 MOV R0,#30H MOV R0,#30H MOV R1,

18、#0AH MOV R1,#0AH MOV SCON,#00H MOV SCON,#00H CLR TI CLR TINEXT:MOV A,R0NEXT:MOV A,R0 MOV DPTR,#CDATA MOV DPTR,#CDATA MOVC A,A+DPTR MOVC A,A+DPTR初始化:串口方式初始化:串口方式0定時器方式定時器方式1等待等待1S串口發(fā)送串口發(fā)送LED字型碼字型碼查詢發(fā)送完否查詢發(fā)送完否 (TI=1 )TI=0顯示數(shù)據(jù)指針顯示數(shù)據(jù)指針+1YN SETB SETB P1.0 MOV SBUF,A JNB TI $ CLR P1.0 CLR TI INC R0 CLR F0

19、 JNB F0, $ CLR F0CLR F0 LJMP NEXT LJMP NEXT END ENDCDATA:DB 0FCH,60HCDATA:DB 0FCH,60H DB 0DAH,0F2H DB 0DAH,0F2H DB 66H,0B6H DB 66H,0B6H DB 0BEH,0E0H DB 0BEH,0E0H DB 0FEH,0F6H DB 0FEH,0F6H (abcdefgh (abcdefgh) )二、二、 主從機間的通信主從機間的通信1雙機串行異步通信雙機串行異步通信l l 單片機與單片機間的串行異步通信接口設(shè)計單片機與單片機間的串行異步通信接口設(shè)計(如圖如圖8-148-1

20、6所示所示 )l l 單片機與單片機與PC系列微機間的異步串行通信接口系列微機間的異步串行通信接口設(shè)計(設(shè)計(如圖如圖8-17所示)所示)圖8-14 兩臺8031直接通信圖8-15 兩臺8031采用RS232C總線通信圖8-16 兩臺8751互傳數(shù)據(jù)圖8-17 8031單片機和PC機通過RS232C總線通信接口圖程序設(shè)計程序設(shè)計1、假定甲、乙機進行串行數(shù)據(jù)通信,其波特率為、假定甲、乙機進行串行數(shù)據(jù)通信,其波特率為1200。甲機將內(nèi)部。甲機將內(nèi)部RAM 40H4FH單元的內(nèi)容傳送到乙機外部單元的內(nèi)容傳送到乙機外部RAM 1000H100FH單元,請編程實現(xiàn)。單元,請編程實現(xiàn)。ORG 0000HL

21、JMPMAINORG0023HLJMPT_PGORG0030HMAIN: MOV SP, #60HMOV TMOD, #20HMOV TH1, #0F3HMOV TL1, #0F3HMOV PCON, #00HMOV SCON, #40H MOV R0, #40HMOV R1, #10HSETB EASETB ES假設(shè)假設(shè)fsoc=6MHz,串行工作方式,串行工作方式1,smod=0,則計數(shù)初值為:則計數(shù)初值為:X=256-6*106*20 / (384*1200)=256-13=FFH+1-13=0F3HSETB TR1MOV A, R0CLR TIMOV SBUF, A SJMP$T_PG

22、: DJNZ R1, NEXTCLR ESCLR TR1LJMP BACKNEXT:INCR0MOVA, R0CLR TIMOVSBUF, ABACK: RETIsmod=0 方式方式1,REN=0中斷中斷允許允許取數(shù)取數(shù)發(fā)送發(fā)送甲機發(fā)送程序:甲機發(fā)送程序:程序設(shè)計程序設(shè)計1、假定甲、乙機進行串行數(shù)據(jù)通信,其波特率為、假定甲、乙機進行串行數(shù)據(jù)通信,其波特率為1200。甲機將內(nèi)部。甲機將內(nèi)部RAM 40H4FH單元的內(nèi)容傳送到乙機外部單元的內(nèi)容傳送到乙機外部RAM 1000H100FH單元,編程實現(xiàn)。單元,編程實現(xiàn)。ORG 0000HLJMPMAINORG0023HLJMPR_PGORG0030

23、HMAIN: MOV SP, #60HMOV TMOD, #20HMOV TH1, #0F3HMOV TL1, #0F3HMOV PCON, #00HMOV SCON, #50H MOV DPTR, #1000HMOV R1, #10HSETB EASETB ESSETB TR1CLR RISJMP$R_PG: MOVA, SBUFMOVDPTR, ACLR RIINC DPTRDJNZ R1, BACKCLR ESCLR TR1BACK: RETIsmod=0 方式方式1,REN=1中斷中斷允許允許接受接受送外存送外存乙機接受程序:乙機接受程序:8.3.2 多機通信接口多機通信接口1多機通信原理多機通信原理 串行口控制寄存器串行口控制寄存器SCON中的中的SM2為多機通信接口控制位。為多機通信接口控制位。 RB8=1為地址信號,為地址信號, RB8=0為有效數(shù)據(jù)位為有效數(shù)據(jù)位 串行口以方式串行口以方式2或或3接收時,接收時, SM2=1,則僅當(dāng)接收到的第9位數(shù)據(jù)RB8為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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論