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

下載本文檔

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

文檔簡介

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

名稱特點USARTUSBI2CCAN用途PC與MCUPC與MCUMCU之間MCU之間特點簡單快,

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

傳輸速度是多少?

通信格式是什么樣的?

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

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

速度希望采用9600bps進(jìn)行異步通信則SPBRG=25,BRGH=1,SYNC=0第17頁,課件共34頁,創(chuàng)作于2023年2月串行通信格式圖相關(guān)寄存器有兩個:TXSTA:發(fā)送控制寄存器RCSTA:接收控制寄存器第18頁,課件共34頁,創(chuàng)作于2023年2月TXSTA(98H):發(fā)送控制寄存器765432100TX9TXENSYNC0BRGH0TX9D功能:

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

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

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

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

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

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

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

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

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

}第26頁,課件共34頁,創(chuàng)作于2023年2月例題1電路圖如上圖

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

8位數(shù)據(jù)位,無奇偶校驗位,一位停止位,無數(shù)據(jù)流控,請編程實現(xiàn)。第27頁,課件共34頁,創(chuàng)作于2023年2月流程圖初始化串行口TXREG‘A’PIR1的TXIF位==1TXREG‘A’TRUEFALSE第28頁,課件共34頁,創(chuàng)作于2023年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ā)送一個字符‘A’//死循環(huán),循環(huán)發(fā)送第29頁,課件共34頁,創(chuàng)作于2023年2月例題2電路圖如上圖

用超級終端軟件通過PC的COM1向PIC發(fā)送一個字符(由鍵盤輸入),MCU收到后把此字符加一后回傳給PC。要求波特率為9600bps,8位數(shù)據(jù)位,無奇偶校驗位,一位停止位,無數(shù)據(jù)流控,請編程實現(xiàn)。第30頁,課件共34頁,創(chuàng)作于2023年2月流程圖初始化串行口PIR1的RXIF位==1TXREG=RCREG+1;第31頁,課件共34頁,創(chuàng)作于2023年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頁,課件共34頁,創(chuàng)作于2023年2月作

溫馨提示

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

評論

0/150

提交評論