串行通信原理與應(yīng)用_第1頁(yè)
串行通信原理與應(yīng)用_第2頁(yè)
串行通信原理與應(yīng)用_第3頁(yè)
串行通信原理與應(yīng)用_第4頁(yè)
串行通信原理與應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于串行通信原理與應(yīng)用第1頁(yè),講稿共34頁(yè),2023年5月2日,星期三什么是通信兩個(gè)設(shè)備之間交換數(shù)據(jù)的過程我們稱之為通信單工雙工AB第2頁(yè),講稿共34頁(yè),2023年5月2日,星期三通信的方式從同時(shí)傳輸?shù)臄?shù)據(jù)位數(shù)來分為:1、并行通信(Parrel)2、串行通信(Serial)第3頁(yè),講稿共34頁(yè),2023年5月2日,星期三串并行方式各自特點(diǎn)速度價(jià)格距離并行串行相對(duì)快相對(duì)慢短遠(yuǎn)貴廉價(jià)第4頁(yè),講稿共34頁(yè),2023年5月2日,星期三如何并行通信(有時(shí)間再講)DB0-DB7WRRDCSALE信號(hào)等舉例:內(nèi)存的寫數(shù)據(jù)過程(兩部分)。通過時(shí)序圖讓學(xué)生明白CLKA[15:0]ALEWRPhase2Phase1AddressD[7:0]Data第5頁(yè),講稿共34頁(yè),2023年5月2日,星期三如何串行通信就用極少的數(shù)據(jù)線就能實(shí)現(xiàn)數(shù)據(jù)通信,那么是如何實(shí)現(xiàn)的呢?楨的概念:起始位,數(shù)據(jù)位,速率(波特率),應(yīng)答位或停止位。舉例說明第6頁(yè),講稿共34頁(yè),2023年5月2日,星期三串行通信楨格式第7頁(yè),講稿共34頁(yè),2023年5月2日,星期三常見的串行通信協(xié)議

名稱特點(diǎn)USARTUSBI2CCAN用途PC與MCUPC與MCUMCU之間MCU之間特點(diǎn)簡(jiǎn)單快,

可靠簡(jiǎn)單復(fù)雜,可靠USARTPC與MCU簡(jiǎn)單第8頁(yè),講稿共34頁(yè),2023年5月2日,星期三USART特點(diǎn)支持同步串行通信和異步串行通信支持全雙工楨格式可編程第9頁(yè),講稿共34頁(yè),2023年5月2日,星期三串行輸出原理第10頁(yè),講稿共34頁(yè),2023年5月2日,星期三串行輸入原理第11頁(yè),講稿共34頁(yè),2023年5月2日,星期三PIC的USART結(jié)構(gòu)起始位數(shù)據(jù)停止位接收發(fā)送起始位停止位起始位TXEN0111TXIF接收緩沖寄存器波特率發(fā)生器RCIF88SPEN10波特率發(fā)生器SPEN發(fā)送緩沖寄存器1發(fā)送移位寄存器01接收移位寄存器0停止位(教材89頁(yè))圖3-9USART異步傳送模式結(jié)構(gòu)原理及時(shí)序圖第12頁(yè),講稿共34頁(yè),2023年5月2日,星期三串行通信時(shí)必須要考慮的問題硬件如何連接?

傳輸速度是多少?

通信格式是什么樣的?

要發(fā)送或接收的數(shù)據(jù)放在哪里?

如何判斷發(fā)送或接收完畢?第13頁(yè),講稿共34頁(yè),2023年5月2日,星期三MCU通過UART與PC連接圖+5V代表10V代表0+12V代表1-12V代表0TXPCMAX232電平轉(zhuǎn)換器+12V/-12V+5V/0VRX第14頁(yè),講稿共34頁(yè),2023年5月2日,星期三寄存器設(shè)置PORTC<6>:TXDTransmitterPORTC<7>:RXDReceiverRXSTA<SPEN>:1b7b6b5b4B3b2b1b0SPENRX9SRENCRENADDENFERROERRRX9Db7SPEN第15頁(yè),講稿共34頁(yè),2023年5月2日,星期三考慮傳輸速率問題可能出現(xiàn)設(shè)備之間的主頻不同的情況,為了解決這個(gè)問題,兩個(gè)設(shè)備之間必須協(xié)商通信速率。對(duì)于UART而言,傳輸速率是兩個(gè)設(shè)備之間預(yù)先協(xié)商好的,通過設(shè)置相應(yīng)寄存器來實(shí)現(xiàn)。第16頁(yè),講稿共34頁(yè),2023年5月2日,星期三傳輸速率相關(guān)寄存器及標(biāo)志位波特率發(fā)生寄存器:SPBPG(99H)高波特率標(biāo)志位:BRGH@TXSTA<2>同步收發(fā)標(biāo)志位:SYNC@TXSTA<4>常用SPBPG的值:當(dāng)主頻是4Mhz時(shí),

速度希望采用9600bps進(jìn)行異步通信則SPBRG=25,BRGH=1,SYNC=0第17頁(yè),講稿共34頁(yè),2023年5月2日,星期三串行通信格式圖相關(guān)寄存器有兩個(gè):TXSTA:發(fā)送控制寄存器RCSTA:接收控制寄存器第18頁(yè),講稿共34頁(yè),2023年5月2日,星期三TXSTA(98H):發(fā)送控制寄存器765432100TX9TXENSYNC0BRGH0TX9D功能:

控制UART發(fā)送數(shù)據(jù)的格式第19頁(yè),講稿共34頁(yè),2023年5月2日,星期三TXSTA(98H):發(fā)送控制寄存器765432100TX9TXENSYNC0BRGH0TX9D9位發(fā)送使能發(fā)送使能同步模式使能高波特率使能發(fā)送位第9位無用位,清0第20頁(yè),講稿共34頁(yè),2023年5月2日,星期三TXSTA(98H):發(fā)送控制寄存器7bit6bit5bit43bit2bit1bit0CSRCTX9TXENSYNC-BRGHTRMTTX9D思考題:我想讓PIC的USART模塊采用8位數(shù)據(jù)位發(fā)送數(shù)據(jù),異步方式,高速狀態(tài),請(qǐng)問TXSTA該設(shè)定何值?TXSTA=0b00100100;第21頁(yè),講稿共34頁(yè),2023年5月2日,星期三RCSTA:接收控制寄存器bit7654SPENRX9SRENCREN3bit2bit1bit0ADDENFERROERRRX9D功能:

控制UART接收數(shù)據(jù)的格式和狀態(tài)第22頁(yè),講稿共34頁(yè),2023年5月2日,星期三RCSTA:接收控制寄存器bit76543bit2bit1bit0SPENRX90CREN0FERROERRRX9D串口使能9位使能連續(xù)接收使能楨格式錯(cuò)溢出錯(cuò)接收的第9位未用,置0思考題:我想讓PIC的USART模塊在異步方式下采用8位數(shù)據(jù)位接收數(shù)據(jù),請(qǐng)問RCSTA該設(shè)定何值?RCSTA=0b10010000;第23頁(yè),講稿共34頁(yè),2023年5月2日,星期三要發(fā)送或接收的數(shù)據(jù)放在哪里?要發(fā)送的數(shù)據(jù)放在TXREG里

收到的數(shù)據(jù)放在RCREG里

TXREG和RCREG都在0體中TXREG=‘A’;charvar=RCREG;第24頁(yè),講稿共34頁(yè),2023年5月2日,星期三如何判斷發(fā)送成功?對(duì)于發(fā)送而言,當(dāng)一個(gè)字節(jié)發(fā)送完畢后PIR1的TXIF標(biāo)志位會(huì)被自動(dòng)置1,通過判斷此位就可得知數(shù)據(jù)發(fā)送是否完畢,當(dāng)TXREG被賦值后,TXIF自動(dòng)被清空。思考題:如何用程序判斷是否發(fā)送成功?76543210TXIFPIR1:

if((PIR1&0b00010000)!=0){//TXIF=1,本次發(fā)送成功

//發(fā)下一個(gè)數(shù)據(jù)或結(jié)束發(fā)送

}第25頁(yè),講稿共34頁(yè),2023年5月2日,星期三如何判斷接收完畢?對(duì)于接收而言,當(dāng)接收到一個(gè)字節(jié)后PIR1的RCIF標(biāo)志位會(huì)置1,通過判斷此位可得知是否收到一個(gè)數(shù)據(jù),當(dāng)RCREG被讀取后,RCIF自動(dòng)被清空。思考題:如何用程序判斷是否接收完畢?76543210RCIFPIR1:

if((PIR1&0b00100000)!=0){//RCIF=1,說明收到一個(gè)數(shù)據(jù)

//把收到的數(shù)據(jù)讀走。

}第26頁(yè),講稿共34頁(yè),2023年5月2日,星期三例題1電路圖如上圖

通過PIC16F877向PC的COM1不停的發(fā)送字符’A’,要求波特率為9600bps

8位數(shù)據(jù)位,無奇偶校驗(yàn)位,一位停止位,無數(shù)據(jù)流控,請(qǐng)編程實(shí)現(xiàn)。第27頁(yè),講稿共34頁(yè),2023年5月2日,星期三流程圖初始化串行口TXREG‘A’PIR1的TXIF位==1TXREG‘A’TRUEFALSE第28頁(yè),講稿共34頁(yè),2023年5月2日,星期三程序源代碼MAIN(){ RCSTA=0b10010000;SPBRG=25;TXSTA=0b00100100;TXREG=‘A’;while(1){if((PIR1&0b00010000)!=0){TXREG=‘A’;}}}//串口使能,接收使能//9600bps@4MHz//發(fā)送字符‘A’//發(fā)送使能,高波特率//發(fā)送完畢嗎?//再發(fā)送一個(gè)字符‘A’//死循環(huán),循環(huán)發(fā)送第29頁(yè),講稿共34頁(yè),2023年5月2日,星期三例題2電路圖如上圖

用超級(jí)終端軟件通過PC的COM1向PIC發(fā)送一個(gè)字符(由鍵盤輸入),MCU收到后把此字符加一后回傳給PC。要求波特率為9600bps,8位數(shù)據(jù)位,無奇偶校驗(yàn)位,一位停止位,無數(shù)據(jù)流控,請(qǐng)編程實(shí)現(xiàn)。第30頁(yè),講稿共34頁(yè),2023年5月2日,星期三流程圖初始化串行口PIR1的RXIF位==1TXREG=RCREG+1;第31頁(yè),講稿共34頁(yè),2023年5月2日,星期三程序源代碼MAIN(){ RCSTA=0b10010000;SPBRG=25;TXSTA=0b00100100;

while(1){if((PIR1&0b00100000)!=0){TXREG=RCREG+1;}}}//串口使能,接收使能//9600bps@4MHz//發(fā)送使能,高波特率//接收完畢嗎?//把收到的字符+1后發(fā)送//死循環(huán),循環(huán)發(fā)送第32頁(yè),講稿共34頁(yè),2023年5月2日,星期三作業(yè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論