下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
51單片機(jī)uart通信協(xié)議51單片機(jī)51單片機(jī)是對(duì)所有兼容Intel8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是Intel的8004單片機(jī),后來(lái)隨著Flashrom技術(shù)的發(fā)展,8004單片機(jī)取得了長(zhǎng)足的進(jìn)展,成為應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號(hào)是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測(cè)控系統(tǒng)之中。很多公司都有51系列的兼容機(jī)型推出,今后很長(zhǎng)的一段時(shí)間內(nèi)將占有大量市場(chǎng)。51單片機(jī)是基礎(chǔ)入門的一個(gè)單片機(jī),還是應(yīng)用最廣泛的一種。需要注意的是51系列的單片機(jī)一般不具備自編程能力。同樣的一段程序,在各個(gè)單片機(jī)廠家的硬件上運(yùn)行的結(jié)果都是一樣的,如ATMEL的89C51(已經(jīng)停產(chǎn))、89S51,PHILIPS,和WINBOND等,我們常說(shuō)的已經(jīng)停產(chǎn)的89C51指的是ATMEL公司的AT89C51單片機(jī),同時(shí)是在原基礎(chǔ)上增強(qiáng)了許多特性,如時(shí)鐘,更優(yōu)秀的是由Flash(程序存儲(chǔ)器的內(nèi)容至少可以改寫1000次)存儲(chǔ)器取代了原來(lái)的ROM(一次性寫入),AT89C51的性能相對(duì)于8051已經(jīng)算是非常優(yōu)越的了。不過(guò)在市場(chǎng)化方面,89C51受到了PIC單片機(jī)陣營(yíng)的挑戰(zhàn),89C51最致命的缺陷在于不支持ISP(在線更新程序)功能,必須加上ISP功能等新功能才能更好延續(xù)MCS-51的傳奇。89S51就是在這樣的背景下取代89C51的,89S51已經(jīng)成為了實(shí)際應(yīng)用市場(chǎng)上新的寵兒,作為市場(chǎng)占有率第一的Atmel公司已經(jīng)停產(chǎn)AT89C51,將用AT89S51代替。89S51在工藝上進(jìn)行了改進(jìn),89S51采用0.35新工藝,成本降低,而且將功能提升,增加了競(jìng)爭(zhēng)力。89SXX可以向下兼容89CXX等51系列芯片。同時(shí),Atmel不再接受89CXX的定單,大家在市場(chǎng)上見到的89C51實(shí)際都是Atmel前期生產(chǎn)的巨量庫(kù)存而以。如果市場(chǎng)需要,Atmel當(dāng)然也可以再恢復(fù)生產(chǎn)AT89C51。uart通信協(xié)議UART(UniversalAsynchronousReceiver/Transmitter)即通用異步收發(fā)傳輸器,工作于數(shù)據(jù)鏈路層(協(xié)議層之一)。包含了RS-232、RS-422、RS-485串口通信和紅外(IrDA)等等。UART協(xié)議作為一種低速通信協(xié)議,廣泛應(yīng)用于通信領(lǐng)域等各種場(chǎng)合。UART基本可分為并口通信及串口通信兩種。異步串口通信協(xié)議,工作原理是將傳輸數(shù)據(jù)的每個(gè)字符以串行方式一位接一位的傳輸。圖1給出了其工作模式:其中每一位(bit)的意義如下:起始位:先發(fā)出一個(gè)邏輯“0”的信號(hào),表示傳輸字符的開始。數(shù)據(jù)位:緊跟起始位之后。數(shù)據(jù)位的個(gè)數(shù)可以是4、5、6、7、8等,構(gòu)成一個(gè)字符。通常采用ASCII碼。從最低位開始傳送,靠時(shí)鐘來(lái)定位。奇偶校驗(yàn)位:數(shù)據(jù)位加上這一位后(跟在數(shù)據(jù)位尾部),使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn)),以此來(lái)校驗(yàn)數(shù)據(jù)傳送的正確性。停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位、1.5位、2位的高電平(邏輯“1”)??臻e位:處于邏輯“1”狀態(tài),表示當(dāng)前線路上沒(méi)有數(shù)據(jù)的傳送。波特率:是衡量數(shù)據(jù)傳輸速率的指針。表示為每秒鐘傳送的二進(jìn)制位數(shù)(bit數(shù))。例如資料傳送速率為120字符/秒,而每一個(gè)字符為10位,則其傳送的波特率為10×120=1200字符/秒=1200波特。軟件UART控制:在嵌入式系統(tǒng)或者計(jì)算機(jī)中,并非直接對(duì)串口直接進(jìn)行操作,而是通過(guò)SCI(串行通訊接口)模塊對(duì)其進(jìn)行控制。(注:“SCI”首先由Motorola微串口微控制器而得名,SCI另一種說(shuō)法是“UART控制器”)常用的許多芯片中都包含了SCI,例如ARM的S3C2410X芯片內(nèi)嵌了3個(gè)串行接口控制器,而Nios等軟核芯片則可以用選用UART(RS232)的IP對(duì)UART進(jìn)行控制。PC機(jī)則常用16650UART、16750UART等控制串口。如果實(shí)現(xiàn)軟件操作UART時(shí),在UART檢查端口管腳的串行活動(dòng)時(shí),需要占用大量時(shí)間,讓應(yīng)用程序停滯,這會(huì)使得軟件UART沒(méi)有意義。但情況并非如此,來(lái)看一下標(biāo)準(zhǔn)的10位異步串行協(xié)議(包含一個(gè)起始位,一個(gè)停止位和8個(gè)數(shù)據(jù)位)收發(fā)一個(gè)字符時(shí)的情況(如圖2所示)。在啟動(dòng)一次發(fā)送或接收操作之后,串行UART(不論是軟件還是硬件形式的UART)并不需要連續(xù)監(jiān)控I/O線。在發(fā)送一個(gè)字符時(shí),每個(gè)位周期,UART只需驅(qū)動(dòng)一次發(fā)送信號(hào)線的狀態(tài),從起始位到8個(gè)數(shù)據(jù)位直到結(jié)束位依次設(shè)置每個(gè)位的電平。在接收一個(gè)字符時(shí),UART在第一個(gè)下降沿時(shí)開始工作,之后只需在每個(gè)位時(shí)隙的中央對(duì)接收線上的信號(hào)狀態(tài)進(jìn)行一次采樣。數(shù)字系統(tǒng)方面,我們可以用一對(duì)狀態(tài)機(jī)來(lái)表征軟件UART的行為,一個(gè)狀態(tài)機(jī)用于發(fā)送字符,另一個(gè)用于接收字符。對(duì)一個(gè)全雙工的UART而言,這兩個(gè)狀態(tài)機(jī)是并行運(yùn)行的,需要兩個(gè)獨(dú)立的定時(shí)器中斷。這兩個(gè)狀態(tài)機(jī)都有主動(dòng)和被動(dòng)兩種模式。發(fā)送狀態(tài)機(jī)在收到一個(gè)需發(fā)送的字符時(shí)跳出空閑狀態(tài),在結(jié)束位發(fā)送之后回到空閑狀態(tài)。接收狀態(tài)機(jī)在檢測(cè)到接收線上的一個(gè)下降沿時(shí)跳出空閑狀態(tài)。在檢測(cè)到這個(gè)初始的低電平狀態(tài)之后(該狀態(tài)指示起始位已經(jīng)開始),開始對(duì)位時(shí)隙進(jìn)行遞減計(jì)數(shù),同時(shí)按要求采樣信號(hào)線上的每個(gè)信號(hào)位,包括停止位。為了避免不必要地占用主應(yīng)用過(guò)多的時(shí)間,UART狀態(tài)機(jī)應(yīng)該由一些周期性的基于定時(shí)器的中斷來(lái)激活。接收線上初始下降沿的檢測(cè)需要利用一個(gè)邊沿觸發(fā)的外部中斷單獨(dú)處理。如果一個(gè)狀態(tài)機(jī)的定時(shí)器被設(shè)置為每個(gè)bit周期發(fā)出一個(gè)中斷請(qǐng)求,那么該狀態(tài)機(jī)在每次中斷被觸發(fā)時(shí)能夠執(zhí)行任何需要的操作(而且如果需要,還能進(jìn)入到下一個(gè)狀態(tài))。用于實(shí)現(xiàn)狀態(tài)機(jī)的代碼應(yīng)盡可能優(yōu)化,因?yàn)橹灰浖ART處于活動(dòng)狀態(tài),這些代碼就會(huì)在后臺(tái)連續(xù)運(yùn)行。51單片機(jī)uart通信協(xié)議*************************************************/#defineucharunsignedchar#defineuintunsignedintbitRXAAOK;//接收到0XAA開頭標(biāo)志bitRXFRMOK;//接收一幀完整數(shù)據(jù)標(biāo)//接收中斷中如果是完整一條數(shù)據(jù)置位,主函數(shù)中//處理完畢清零ucharRXBUF[32];//接收緩存ucharRX_P;//數(shù)據(jù)個(gè)數(shù)voidUARTO_ISR()interrupt4//接收中斷,不同處理器可能是不同的函數(shù)聲明{uchari;//用處提取接收緩沖器的字符if(RI){i=SBUF;//提取字符RI=0;if(RXFRMOK==0)//判斷是否接收到起始字符0XAA{if(RXAAOK)//如果接收到0XAA,繼續(xù)接收后面的字符{RXBUF[RX_P]=i;//字符存入數(shù)組if((RX_P》3)&&(RXBUF[RX_P-3]==0xcc)&&(RXBUF[RX_P-2]==0x33)&&(RXBUF[RX_P-1]==0xc3)&&(RXBUF[RX_P]==0x3c))//判斷是是否接收完畢一幀數(shù)據(jù){RXFRMOK=1;//如果接收完成,置位RXFRMOK;RXAAOK=0;//清零開始標(biāo)志位RXAAOK}RX_P++;//接收計(jì)數(shù)器加一}if(!RXAAOK&&(i==0xaa)){RXAAOK=1;RX_P=0;}}
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《化工制圖基本知識(shí)》課件
- 甘肅政法大學(xué)《先進(jìn)復(fù)合材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)培訓(xùn)課件題目
- 三年級(jí)數(shù)學(xué)上冊(cè)四兩位數(shù)除以一位數(shù)的除法兩位數(shù)除以一位數(shù)說(shuō)課稿西師大版
- 《考試習(xí)慣指導(dǎo)》課件
- 三年級(jí)科學(xué)上冊(cè)第1單元水8它們發(fā)生了什么變化教案2教科版
- 《作文復(fù)習(xí)分析論據(jù)》課件
- 化工生產(chǎn)安全用電課件
- 動(dòng)物解剖生理學(xué)-25體溫
- 初一安全食品課件
- 2024縣級(jí)應(yīng)急廣播系統(tǒng)技術(shù)規(guī)范
- 一年級(jí)道德與法治無(wú)紙筆期末檢測(cè)質(zhì)量分析
- 視頻剪輯師工作總結(jié)
- 新疆維吾爾自治區(qū)巴音郭楞蒙古自治州2023-2024學(xué)年二年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- 華為公司服務(wù)流程
- 干細(xì)胞修復(fù)神經(jīng)損傷
- ZPW-2000A四線制改變運(yùn)行方向電路
- 中醫(yī)跟師總結(jié)論文3000字(通用3篇)
- 電動(dòng)三輪車監(jiān)理細(xì)則
- 《鋁及鋁合金厚板殘余應(yīng)力測(cè)試方法 切縫翹曲法》
- GB/T 43218-2023煤炭測(cè)硫儀性能驗(yàn)收導(dǎo)則
評(píng)論
0/150
提交評(píng)論