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

下載本文檔

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

文檔簡(jiǎn)介

第8章

串行通信及其接口

8.1概述8.2MCS-51的串行口8.3串行口的控制第一頁(yè),共四十四頁(yè)。8.1概述串行通信:

數(shù)據(jù)一位接一位順序傳送,可只用一根數(shù)據(jù)線傳送多位信息。返回本章首頁(yè)第二頁(yè),共四十四頁(yè)。8.1概述串行通信有兩種基本方式。

同步通信SYNC(SynchronousDataCommunication):嚴(yán)格同步,發(fā)送同步碼,數(shù)據(jù)連續(xù),信息量大,速度較高異步通信ASYNC(AsynchronousDataCommunication):幀格式傳送,信息量不大返回本章首頁(yè)異步通信一幀字符信息的結(jié)構(gòu)第三頁(yè),共四十四頁(yè)。異步串行通信數(shù)據(jù)格式同步字符CRC字符開(kāi)始終止數(shù)據(jù)塊同步通信數(shù)據(jù)格式幀結(jié)構(gòu)第四頁(yè),共四十四頁(yè)。8.1概述串行通信從傳輸方式分為:串行接口有單工、半雙工和全雙工3種返回本章首頁(yè)第五頁(yè),共四十四頁(yè)。8.1概述RS-232C總線I2C--PHILIPS公司推出的I2C總線(INTELICBUS)SPI--(SerialPeripheralInterface--串行外設(shè)接口)返回本章首頁(yè)串行接口的連接的三種方法1三線連接2RS-232接口連接3modem方式連接第六頁(yè),共四十四頁(yè)。

TXDRXDGND

TXDRXDGND三線鏈接TXDRXDGNDTXDRXDGNDRS232電平轉(zhuǎn)換RS232電平轉(zhuǎn)換RS232接口連接第七頁(yè),共四十四頁(yè)。串行通信的傳送速率傳送速率用于描述數(shù)據(jù)傳送的快慢。在串行通信中,數(shù)據(jù)是按位進(jìn)行傳送的,因此傳送速率用每秒鐘傳送格式位的數(shù)目來(lái)表示,稱(chēng)之為波特率(baudrate)。每秒傳送一個(gè)格式位就是1波特,即:1波特=1bps(位/秒)在串行通信中,格式位的發(fā)送和接收分別由發(fā)送時(shí)鐘脈沖和接收時(shí)鐘脈沖進(jìn)行定時(shí)控制。時(shí)鐘頻率高,則波特率也高,通信速度就快;反之,時(shí)鐘頻率低,則波特率也低,通信速度也慢。第八頁(yè),共四十四頁(yè)。起始位D0D1D2D4D3D5D6D7X標(biāo)志停止位檢驗(yàn)位RS232C總線上傳輸?shù)漠惒酵ㄐ诺湫蛿?shù)據(jù)格式第九頁(yè),共四十四頁(yè)。分類(lèi)符號(hào)名稱(chēng)引腳說(shuō)明地線

機(jī)架保護(hù)地(屏蔽地)1

信號(hào)地(公共地)7

數(shù)據(jù)信號(hào)線TXD數(shù)據(jù)發(fā)送線2在無(wú)數(shù)據(jù)信息傳輸或收/發(fā)信息間隔期,RXD/TXD電平為1。輔助信道傳輸速率較主信道低。其余同RXD數(shù)據(jù)接收線3TXD輔助信道數(shù)據(jù)發(fā)送線14RXD輔助信道數(shù)據(jù)接收線16定時(shí)

信號(hào)

DCE發(fā)送信號(hào)定時(shí)15指示被傳輸?shù)拿總€(gè)bit信息的中心位置

DCE接收信號(hào)定時(shí)17

DTE發(fā)送信號(hào)定時(shí)24

控制線RTS請(qǐng)求發(fā)送4DTE發(fā)給DCECTS允許發(fā)送5DCE發(fā)給DTEDSRDCE裝置就緒6

DTRDTE裝置就緒20DTE發(fā)給DCEDCD接收信號(hào)(載波)檢測(cè)8DTE收到滿(mǎn)足標(biāo)準(zhǔn)的信號(hào)時(shí)置位

振鈴指示22由DCE收到振鈴時(shí)置位

信號(hào)質(zhì)量檢測(cè)21由DCE根據(jù)數(shù)據(jù)信息是否有錯(cuò)而置位/復(fù)位

數(shù)據(jù)信號(hào)速率選擇23指定兩種傳輸速率中的一種RTS輔助信道請(qǐng)求發(fā)送19

CTS輔助信道允許發(fā)送13RCD輔助信道接收檢測(cè)12備用線

9未定義,保留供DCE裝置測(cè)試使用

10

11

18

25RS232C信號(hào)線及其在DB-25的針腳號(hào)第十頁(yè),共四十四頁(yè)。8.1概述串行接口結(jié)構(gòu)圖返回本章首頁(yè)第十一頁(yè),共四十四頁(yè)。8.2MCS-51的串行口 8.2.1串行口的結(jié)構(gòu)8.2.2串行口的工作方式8.2.3波特率的計(jì)算返回本章首頁(yè)第十二頁(yè),共四十四頁(yè)。第十三頁(yè),共四十四頁(yè)。中斷請(qǐng)求第十四頁(yè),共四十四頁(yè)。8.2.1串行口的結(jié)構(gòu) MCS-51單片機(jī)片內(nèi)有一個(gè)串行接口,可提供同步或全

雙工異步串行通信方式.設(shè)有二個(gè)互相獨(dú)立的

接收\(chéng)發(fā)送緩沖器,可分別接受和發(fā)送數(shù)據(jù)發(fā)送緩沖器只能寫(xiě)入,

接收緩沖器只能讀出兩個(gè)緩沖器可共用一

個(gè)地址碼99H發(fā)送:MOVSBUF,A接收:MOVA,SBUF中斷請(qǐng)求第十五頁(yè),共四十四頁(yè)。8.2.1串行口的結(jié)構(gòu) 與串行口有關(guān)的特殊功能寄存器有:SCON:串行口控制寄存器SBUF:緩沖寄存器PCON:功耗控制寄存器

(D7:SMOD為波特率系數(shù)選擇位)。第十六頁(yè),共四十四頁(yè)。8.2.1串行口的結(jié)構(gòu) 1.串行口控制寄存器SCON(98H),可位尋址SM0SM1:確定4種工作方式SM2:多機(jī)通信控制位REN:允許串行接收位TB8:待發(fā)送的第9位數(shù)據(jù)RB8:接受到的第9位數(shù)據(jù)TI和RI:發(fā)送和接收中斷標(biāo)志位(注:軟件清零)SCON(98h)位地址SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998D7 D6 D5 D4 D3 D2 D1 D0第十七頁(yè),共四十四頁(yè)。2.特殊功能寄存器PCON其字節(jié)地址為87H,沒(méi)有位尋址功能。PCON的格式如圖7-7所示,其中與串行接口有關(guān)的只有D7位。PCONSMOD

D7 D6 D5 D4 D3 D2 D1 D0

返回本節(jié)第十八頁(yè),共四十四頁(yè)。8.2.2串行口的工作方式 第十九頁(yè),共四十四頁(yè)。1.方式0(移位寄存器方式)發(fā)送/接收時(shí)序發(fā)送接收第二十頁(yè),共四十四頁(yè)。2.方式1(8位UART)

發(fā)送/接收時(shí)序發(fā)送接收第二十一頁(yè),共四十四頁(yè)。3.方式2(9位UART)發(fā)送/接收時(shí)序發(fā)送發(fā)送數(shù)據(jù)TXD端輸出,發(fā)送11位數(shù)據(jù)。第9位為可程控的數(shù)據(jù),在SCON的TB8中。TB8由軟件值1或清零。多機(jī)通訊,作為發(fā)送地址(1)或數(shù)據(jù)(0)的標(biāo)志位。雙機(jī)通訊,作為奇偶校驗(yàn)位。第二十二頁(yè),共四十四頁(yè)。接收數(shù)據(jù)由RXD端輸入,接收11位信息,當(dāng)接收器采樣到RXD端從1到0的跳變,開(kāi)始接收一幀信息。當(dāng)SM2=1,僅接受地址信號(hào)。地址匹配,SM2,<-0。SM2=0,接受數(shù)據(jù)及地址信號(hào)。

(RB8=1為地址信號(hào),RB8=0為有效數(shù)據(jù)位)SCON位地址SM0SM1SM2RENTB8RB8TIRI9F9E9D9C9B9A9998D7 D6 D5 D4 D3 D2 D1 D0第二十三頁(yè),共四十四頁(yè)。4.方式3(9位UART)當(dāng)SM0SM1=11時(shí),串行口工作在方式3。方式3為波特率可變的9位異步通信方式,除了波特率外,方式3和方式2相同。返回本節(jié)第二十四頁(yè),共四十四頁(yè)。8.2.3波特率的計(jì)算串行口方式0的波特率是固定的,為系統(tǒng)時(shí)鐘的12

分頻(fosc/12),即每個(gè)機(jī)器周期傳送一位數(shù)據(jù)位。串行口用方式2工作時(shí),波特率為(2SMOD/64)×fosc。

串行口方式1和方式3用定時(shí)器T1作為波特率發(fā)生器,

其波特率有多種選擇,與T1的溢出率有關(guān)串行口方式1、3的波特率=(2SMOD/32)×T1溢出率T1的溢出率即T1溢出時(shí)間的倒數(shù),它與T1選擇的

功能、工作方式和預(yù)置初值等有關(guān)第二十五頁(yè),共四十四頁(yè)。8.2.3波特率的計(jì)算若定時(shí)器T1設(shè)定為自動(dòng)重裝方式,T1的溢出率及串

行口波特率算式如下:當(dāng)單片機(jī)與PC機(jī)通訊,工作于串行工作方式1,假

定波特率為9600波特,當(dāng)單片機(jī)的fOSC=11.0592MHZ,波特率=(2SMOD/32)×T1溢出率,T1溢出率=(28-X)*fOSC/12SMOD=1時(shí),

X=256-fOSC*2/(384*9600)=250=0FAH將X寫(xiě)入TH1和TL1時(shí),若波特率發(fā)生器產(chǎn)生的實(shí)際傳輸率為波特率=9599.84波特波特率相對(duì)誤差=(9600—9599.84)/9600=0.00177%第二十六頁(yè),共四十四頁(yè)。表8-3常用的波特率及計(jì)算器初值返回本節(jié)第二十七頁(yè),共四十四頁(yè)。8.3串行口的控制 一、利用串行口擴(kuò)展I/O二、主從機(jī)間的通信三、多機(jī)通信接口返回本章首頁(yè)第二十八頁(yè),共四十四頁(yè)。一、利用串行口擴(kuò)展I/O l

單片機(jī)串行工作方式0—8位同步移位寄存器利用74LS164擴(kuò)展并行口,編制程序使L0~L7以計(jì)數(shù)方式點(diǎn)亮。2、共陰數(shù)碼管八段碼ABCDEFGP分別接74LS164的輸出口Q7~Q0,左移位顯示0~9第二十九頁(yè),共四十四頁(yè)。串并轉(zhuǎn)換,發(fā)光二極管顯示程序設(shè)計(jì)

ORG0000HLJMPMAINORG000BH LJMPINT_T0MAIN:MOVSP,#53H MOVTMOD,#01H

MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0 MOVR0,#30HMOVR1,#0AHMOVSCON,#00HCLRTINEXT:MOVA,@R0SETBP1.0MOVSBUF,A JNBTI$CLRTI CLRP1.0 INCR0CLRF0 JNBF0,$ CLRF0LJMPNEXTEND初始化:串口方式0定時(shí)器方式1等待1S串口發(fā)送數(shù)據(jù)查詢(xún)發(fā)送完否(TI=‘1’)TI=‘0’顯示數(shù)據(jù)指針+1YN1秒定時(shí)程序(1秒鐘F0<-1)INT_T0:PUSHACCPUSHPSWCLREAMOVTL0,#3CHMOVTH0,#0B0HDJNZR1,EXITMOVR1,#0AH SETBF0EXIT:SETBEAPOPPSWPOPACCRETI定時(shí)初值中斷允許串口方式0定時(shí)1S串行發(fā)送關(guān)閉并行輸出開(kāi)啟并行輸出第三十頁(yè),共四十四頁(yè)。串并轉(zhuǎn)換,LED顯示程序設(shè)計(jì)

ORG0000HLJMPMAINORG000BHLJMPINT_T0OGR0030HMAIN:MOVSP,#53HMOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0H MOVIE,#82H SETBTR0

MOVR0,#30HMOVR1,#0AHMOVSCON,#00HCLRTINEXT:MOVA,@R0MOVDPTR,#CDATAMOVCA,@A+DPTR初始化:串口方式0定時(shí)器方式1等待1S串口發(fā)送LED字型碼查詢(xún)發(fā)送完否(TI=‘1’)TI=‘0’顯示數(shù)據(jù)指針+1YNSETBP1.0MOVSBUF,AJNBTI$CLRP1.0CLRTIINCR0CLRF0JNBF0,$

CLRF0LJMPNEXTENDCDATA:DB0FCH,60HDB0DAH,0F2HDB66H,0B6HDB0BEH,0E0HDB0FEH,0F6H(abcdefgh)第三十一頁(yè),共四十四頁(yè)。二、主從機(jī)間的通信 1.雙機(jī)串行異步通信l

單片機(jī)與單片機(jī)間的串行異步通信接口設(shè)計(jì)(如圖8-14~8-16所示)l

單片機(jī)與PC系列微機(jī)間的異步串行通信接口設(shè)計(jì)(如圖8-17所示)第三十二頁(yè),共四十四頁(yè)。圖8-14兩臺(tái)8031直接通信第三十三頁(yè),共四十四頁(yè)。圖8-15兩臺(tái)8031采用RS232C總線通信第三十四頁(yè),共四十四頁(yè)。圖8-16兩臺(tái)8751互傳數(shù)據(jù)第三十五頁(yè),共四十四頁(yè)。圖8-178031單片機(jī)和PC機(jī)通過(guò)RS232C總線通信接口圖第三十六頁(yè),共四十四頁(yè)。程序設(shè)計(jì)1、假定甲、乙機(jī)進(jìn)行串行數(shù)據(jù)通信,其波特率為1200。甲機(jī)將內(nèi)部RAM40H~4FH單元的內(nèi)容傳送到乙機(jī)外部RAM1000H~100FH單元,請(qǐng)編程實(shí)現(xiàn)。ORG0000HLJMP MAINORG 0023HLJMP T_PGORG 0030HMAIN: MOVSP,#60H MOVTMOD,#20H MOVTH1,#0F3H MOVTL1,#0F3H MOVPCON,#00H MOVSCON,#40H MOVR0,#40H MOVR1,#10H SETBEA SETBES假設(shè)fsoc=6MHz,串行工作方式1,smod=0,則計(jì)數(shù)初值為:X=256-6*106*20/(384*1200)=256-13=FFH+1-13=0F3HSETBTR1MOVA,@R0CLRTIMOVSBUF,ASJMP $ T_PG: DJNZR1,NEXT CLRES CLRTR1 LJMPBACKNEXT: INC R0 MOV A,@R0 CLRTI MOV SBUF,ABACK: RETIsmod=0方式1,REN=0中斷允許取數(shù)發(fā)送甲機(jī)發(fā)送程序:第三十七頁(yè),共四十四頁(yè)。程序設(shè)計(jì)1、假定甲、乙機(jī)進(jìn)行串行數(shù)據(jù)通信,其波特率為1200。甲機(jī)將內(nèi)部RAM40H~4FH單元的內(nèi)容傳送到乙機(jī)外部RAM1000H~100FH單元,編程實(shí)現(xiàn)。ORG0000HLJMP MAINORG 0023HLJMP R_PGORG 0030HMAIN: MOVSP,#60H MOVTMOD,#20H MOVTH1,#0F3H MOVTL1,#0F3H MOVPCON,#00H MOVSCON,#50H MOVDPTR,#1000H MOVR1,#10H SETBEA SETBES SETBTR1 CLRRI SJMP $

R_PG: MOV A,SBUF MOV @DPTR,A CLRRI INCDPTR DJNZR1,BACK CLRES CLRTR1BACK:RETIsmod=0方式1,REN=1中斷允許接受送外存乙機(jī)接受程序:第三十八頁(yè),共四十四頁(yè)。8.3.2多機(jī)通信接口1.多機(jī)通信原理

串行口控制寄存器SCON中的SM2為多機(jī)通信接口控制位。

RB8=1為地址信號(hào),RB8=0為有效數(shù)據(jù)位串行口以方式2或3接收時(shí),SM2=1,則僅當(dāng)接收到的第9位數(shù)據(jù)RB8為1時(shí),數(shù)據(jù)才裝入SBUF,置位RI,請(qǐng)求CPU對(duì)數(shù)據(jù)進(jìn)行處理;地址匹配,SM2,<-0。當(dāng)SM2=0時(shí),則接收到一個(gè)數(shù)據(jù)后,不管第9位數(shù)據(jù)RB8是0還是1,都將數(shù)據(jù)裝入接收緩沖器SBUF并置位中斷標(biāo)志RI,請(qǐng)求CPU處理?!谌彭?yè),共四十四頁(yè)。2.多機(jī)通信程序設(shè)計(jì)l

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論