版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第七周串口控制器原理與編程第一頁(yè),共46頁(yè)。上周教學(xué)內(nèi)容回顧大課CC2530電源的管理CC2530系統(tǒng)時(shí)鐘的編程(難點(diǎn))小課8路流水燈,會(huì)看原理圖,會(huì)接線;GPIO口按鍵狀態(tài)的獲取第二頁(yè),共46頁(yè)。本周教學(xué)主要內(nèi)容串行通信基礎(chǔ)知識(shí)串口控制器的原理與編程,相關(guān)SFR在控制器運(yùn)行過(guò)程中所器的作用。CC2530串口控制器編程步驟第三頁(yè),共46頁(yè)。教學(xué)目標(biāo)了解串行通信的基礎(chǔ)知識(shí);掌握CC2530串口的編程步驟;重點(diǎn)理解相關(guān)SFR在控制器運(yùn)行過(guò)程中所器的作用。第四頁(yè),共46頁(yè)。
計(jì)算機(jī)與外界的信息交換稱為通信。通信的基本方式可分為并行通信和串行通信兩種。所謂并行通信是指數(shù)據(jù)的各位同時(shí)在多根數(shù)據(jù)線上發(fā)送或接收。串行通信是數(shù)據(jù)的各位在同一根數(shù)據(jù)線上依次逐位發(fā)送或接收。一、
串行通信基礎(chǔ)知識(shí)了解第五頁(yè),共46頁(yè)。
目前串行通信在單片機(jī)雙機(jī)、多機(jī)以及單片機(jī)與PC機(jī)之間的通信等方面得到了廣泛應(yīng)用。圖1并行通信示意圖發(fā)送方接收方圖2串行通信示意圖了解發(fā)送方接收方8位數(shù)據(jù)同時(shí)傳送8位順次傳送第六頁(yè),共46頁(yè)。1.1異步通信和同步通信
計(jì)算機(jī)通信按同步方式可分為異步通信和同步通信兩種基本通信方式。1.同步通信(SynchronousCommunication)
同步通信是一種連續(xù)傳送數(shù)據(jù)的通信方式,一次通信傳送多個(gè)字符數(shù)據(jù),稱為一幀信息。數(shù)據(jù)傳輸速率較高,通常可達(dá)56000bps或更高。其缺點(diǎn)是要求發(fā)送時(shí)鐘和接收時(shí)鐘保持嚴(yán)格同步。了解幀...流方向幀第七頁(yè),共46頁(yè)。2.異步通信(AsynchronousCommunication)
在異步通信中,數(shù)據(jù)通常是以字符或字節(jié)為單位組成數(shù)據(jù)幀進(jìn)行傳送的。收、發(fā)端各有一套彼此獨(dú)立,互不同步的通信機(jī)構(gòu),由于收發(fā)數(shù)據(jù)的幀格式相同,因此可以相互識(shí)別接收到的數(shù)據(jù)信息。了解起始位停止位數(shù)據(jù)位第八頁(yè),共46頁(yè)。2.異步通信(AsynchronousCommunication)異步通信信息幀格式如圖4所示。D0D1D2D3D4
D5
D6
D7
0/1
1111D7
0/1100D0D1第n字符幀空閑位停止位奇偶校驗(yàn)停止位5~8位數(shù)據(jù)8位數(shù)據(jù)起始位起始位奇偶校驗(yàn)第n-1字符幀第n+1字符幀圖4異步通信幀格式8位數(shù)據(jù)
了解第九頁(yè),共46頁(yè)。(1)起始位:在沒有數(shù)據(jù)傳送時(shí),通信線上處于邏輯“1”狀態(tài)。當(dāng)發(fā)送端要發(fā)送1個(gè)字符數(shù)據(jù)時(shí),首先發(fā)送1個(gè)邏輯“0”信號(hào),這個(gè)低電平便是幀格式的起始位。其作用是向接收端表示發(fā)送端開始發(fā)送一幀數(shù)據(jù)。接收端檢測(cè)到這個(gè)低電平后,就準(zhǔn)備接收數(shù)據(jù)信號(hào)。(2)數(shù)據(jù)位:在起始位之后,發(fā)送端發(fā)出(或接收端接收)的是數(shù)據(jù)位,數(shù)據(jù)的位數(shù)沒有嚴(yán)格的限制,5~8位均可。由低位到高位逐位傳送。了解第十頁(yè),共46頁(yè)。(3)奇偶校驗(yàn)位:數(shù)據(jù)位發(fā)送完(接收完)之后,可發(fā)送一位用來(lái)檢驗(yàn)數(shù)據(jù)在傳送過(guò)程中是否出錯(cuò)的奇偶校驗(yàn)位。奇偶校驗(yàn)是收發(fā)雙方預(yù)先約定好的有限差錯(cuò)檢驗(yàn)方式之一。有時(shí)也可不用奇偶校驗(yàn)。(4)停止位:字符幀格式的最后部分是停止位,邏輯“1”電平有效,它可占1/2位、1位或2位。停止位表示傳送一幀信息的結(jié)束,也為發(fā)送下一幀信息作好準(zhǔn)備。了解第十一頁(yè),共46頁(yè)。1.2串行通信的波特率
波特率(BaudRate)是串行通信中一個(gè)重要概念,它是指?jìng)鬏敶a元/信號(hào)的速率。
比特率的定義是每秒傳輸二進(jìn)制數(shù)的位數(shù)。
比特率
=
波特率·log2一個(gè)碼元所攜帶的信息量了解第十二頁(yè),共46頁(yè)。1.3串行通信的制式1.單工制式(Simplex)在串行通信中,數(shù)據(jù)是在兩個(gè)站之間傳送的。按照數(shù)據(jù)傳送方向,分為三種。發(fā)送器A接收器B2.半雙工制式(Halfduplex)發(fā)送接收發(fā)送接收A端B端3.全雙工制式(Fullduplex)發(fā)送接收接收發(fā)送A端B端了解第十三頁(yè),共46頁(yè)。1.4PC機(jī)與單片機(jī)間的串行通信串口:如RS-232C、RS-422、RS-423、RS-485等。單片機(jī)內(nèi)是TTL電平2.4~5V:邏輯10~0.5V:邏輯0只適用于通信距離很短的場(chǎng)合,遠(yuǎn)距離傳輸必然會(huì)使信號(hào)衰減和畸變。PC機(jī)
其中RS-232C在異步串行通信中應(yīng)用最廣的總線標(biāo)準(zhǔn),采用負(fù)邏輯標(biāo)準(zhǔn):+3V~+15V表示邏輯0; -3V~-15V表示邏輯1標(biāo)準(zhǔn)串行總線通信接口單片機(jī)單片機(jī)單片機(jī)第十四頁(yè),共46頁(yè)。圖5微機(jī)9針D形串口連接器1.4.1RS-232C總線標(biāo)準(zhǔn)RS-232C實(shí)際上是串行通信的總線標(biāo)準(zhǔn),定義了25條信號(hào)線,使用25個(gè)引腳的連接器,目前在PC機(jī)中使用9針的串口。
標(biāo)準(zhǔn)數(shù)據(jù)傳送速率有:50,75,110,150,300,600,1200,2400,4800,9600,19200bit/s。工業(yè)控制的RS-232一般只使用RXD、TXD、GND三條線。2:接收3:發(fā)送5:地第十五頁(yè),共46頁(yè)。1.4.2RS-232C接口電路
由于RS-232C信號(hào)電平與TTL電平不一致,必須進(jìn)行信號(hào)電平轉(zhuǎn)換。實(shí)現(xiàn)這種電平轉(zhuǎn)換的電路稱為RS-232C接口電路。一般有兩種形式:一種是采用運(yùn)算放大器、晶體管、光電隔離器等器件組成的電路來(lái)實(shí)現(xiàn);另一種是采用專門集成芯片(如MC1488、MC1489、MAX232等)來(lái)實(shí)現(xiàn)。下面介紹由專門集成芯片MAX232構(gòu)成的接口電路。1.MAX232接口電路MAX232芯片是MAXIM公司生產(chǎn)的具有兩路接收器和驅(qū)動(dòng)器的IC芯片,其內(nèi)部有一個(gè)電源電壓變換器,可以將輸入+5V的電壓變換成RS-232C輸出電平所需的±12V電壓。所以采用這種芯片來(lái)實(shí)現(xiàn)接口電路特別方便,只需單一的+5V電源即可。第十六頁(yè),共46頁(yè)。C1+C1-C2+C2-CC2530GNDGNDIBM-PCTXDTXDRXDRXDT1outT1inR1inR1outGNDV+V-VCCMAX232C4C1C2C3C5+5V++++圖6用MAX232實(shí)現(xiàn)串行通信接口電路圖2.串行通信時(shí)使用MAX232進(jìn)行電平轉(zhuǎn)換圖中C1、C2、C3、C4用于電源電壓變換,提高抗干擾能力,一般取1.0μF/16V。C5的作用是對(duì)+5V電源的噪聲干擾進(jìn)行濾波,一般取0.1μF。發(fā)送與接收的對(duì)應(yīng)關(guān)系不能接錯(cuò),否則將不能正常工作。第十七頁(yè),共46頁(yè)。二、CC2530串口控制器CC2530的串口控制器USART:universalsynchronous/asynchronousreceiverandtransmitter 通用同步異步收發(fā)器USART0和USART1是串行通信接口,兩個(gè)USART具有同樣的功能,可以分別運(yùn)行于在兩種模式下:
異步UART模式同步SPI模式
由于異步UART允許發(fā)送和接收的時(shí)鐘不一致,容易實(shí)現(xiàn),我們?cè)谟懻摯跁r(shí)經(jīng)常采用異步UART。
第十八頁(yè),共46頁(yè)。2.1串口模式異步UART模式:UART模式提供異步串行接口,在UART模式中,有2種接口選擇方式:2線接口和4線接口。2線接口:RXD(接收)、TXD(發(fā)送)。4線接口:RXD、TXD、RTS和CTS(硬件流控制)4線接口復(fù)雜點(diǎn),教學(xué)上講解2線接口單片機(jī)GNDGND單片機(jī)TXDTXDRXDRXDRTSCTSCTSRTS第十九頁(yè),共46頁(yè)。2.1串口模式UART模式提供全雙工傳送,接收器中的位同步不影響發(fā)送功能。傳送一個(gè)UART字節(jié)包含1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)作為可選的第9位數(shù)據(jù)或者奇偶校驗(yàn)位,再加上1個(gè)或者2個(gè)停止位D0D1D2D3D4
D5
D6
D7
0/1
1111D7
0/1100D0D1第n字符幀空閑位停止位奇偶校驗(yàn)停止位8位數(shù)據(jù)8位數(shù)據(jù)起始位起始位奇偶校驗(yàn)第n-1字符幀第n+1字符幀
串口異步通信幀格式8位數(shù)據(jù)第二十頁(yè),共46頁(yè)。1.控制和狀態(tài)寄存器UxCSR(見手冊(cè)P140)2.2串口控制器的特殊功能寄存器SFR串口操作由控制和狀態(tài)寄存器UxCSR以及控制寄存器UxUCR
U0CSR|=0x80;//設(shè)置UART模式U0CSR|=0x40;//允許接收第二十一頁(yè),共46頁(yè)。2.控制寄存器UxUCR2.2串口控制器的特殊功能寄存器SFR第二十二頁(yè),共46頁(yè)。當(dāng)收發(fā)數(shù)據(jù)緩沖器UxDBUF寫入數(shù)據(jù)時(shí),該字節(jié)發(fā)送到輸出引腳TXD。UxDBUF寄存器是雙緩沖的。unsignedchartemp;//定義一個(gè)字符型變量temp=U0DBUF;//讀出U0DBUF中的數(shù)據(jù)3.收發(fā)數(shù)據(jù)緩沖器UxDBUF2.2串口控制器的特殊功能寄存器SFR第二十三頁(yè),共46頁(yè)。4.UxGCR通用控制寄存器2.2串口控制器的特殊功能寄存器SFR第二十四頁(yè),共46頁(yè)。5.波特率控制寄存器UxBAUD2.2串口控制器的特殊功能寄存器SFR第二十五頁(yè),共46頁(yè)。2.3波特率產(chǎn)生當(dāng)運(yùn)行UART模式時(shí),內(nèi)部的波特率發(fā)生器設(shè)置UART波特率。當(dāng)運(yùn)行在SPI模式時(shí),內(nèi)部的波特率發(fā)生器設(shè)置SPI主時(shí)鐘頻率。波特率由寄存器UxBAUD.BAUD[7:0]和UxGCR.BAUD_E[4:0]定義,該波特率用于UART傳送,也用于SPI傳送的串行時(shí)鐘速率。F是系統(tǒng)時(shí)鐘頻率,等于16MHzRCOSC或者32MHzXOSC第二十六頁(yè),共46頁(yè)。標(biāo)準(zhǔn)波特率所需的寄存器值該表適用于典型的32MHz系統(tǒng)時(shí)鐘//設(shè)置波特率為57600U0GCR|=10;U0BAUD|=216;第二十七頁(yè),共46頁(yè)。2.4系統(tǒng)時(shí)鐘設(shè)置波特率發(fā)生器的時(shí)鐘是從所選的主系統(tǒng)時(shí)鐘源獲得的,主系統(tǒng)時(shí)鐘源可以是32MHzXOSC或16MHzRCOSC。通過(guò)CLKCONCMD.OSC位可選擇主系統(tǒng)時(shí)鐘源CLKCONCMD&=~0x40;//設(shè)置時(shí)鐘晶振為32MHZwhile(!(SLEEPSTA&(1<<6)));/*等待晶振穩(wěn)定*/CLKCONCMD&=~0x07;第二十八頁(yè),共46頁(yè)。1.UART總線資源
數(shù)據(jù)手冊(cè)P72表7-1外設(shè)I/O引腳映射
串口0同步模式:
串口0異步模式:
串口1同步模式:
串口1異步模式:
2.5UART資源第二十九頁(yè),共46頁(yè)。2.相關(guān)特殊功能寄存器(1)PERCFG:設(shè)置各設(shè)備IO口位置在P0還是P1;在P0口在P1口第三十頁(yè),共46頁(yè)。(2)P2DIR:當(dāng)PERCFG所設(shè)定的設(shè)備IO位置沖突時(shí),由該sfr決定位置到底歸屬于單個(gè)控制器。(3)PxSEL:置管腳功能為設(shè)備模式(4)UxCSR[7]:設(shè)置uart還是spi模式;以上4個(gè)sfr的正確設(shè)置可以完成我們的uart的總線初始化;第三十一頁(yè),共46頁(yè)。2.6中斷標(biāo)志位1.UART發(fā)送
當(dāng)USART收/發(fā)數(shù)據(jù)緩沖器、寄存器UxDBUF寫入數(shù)據(jù)時(shí),該字節(jié)發(fā)送到輸出引腳TX。當(dāng)USART發(fā)送緩沖寄存器為空時(shí),準(zhǔn)備接收新的發(fā)送數(shù)據(jù)時(shí),就會(huì)由硬件置對(duì)應(yīng)的中斷標(biāo)志位UTXxIF為1。
如果我們要通過(guò)串口0發(fā)送字符’h’,則該如下操作:voiduart0_send_byte(chartmp){//發(fā)送字符tmpwhile(UTX0IF==0);UTX0IF=0;//可以省掉嗎?U0DBUF=tmp;}第三十二頁(yè),共46頁(yè)。UART接收當(dāng)接收緩沖區(qū)UXDBUF接收到一個(gè)新的字符時(shí),會(huì)由硬件把中斷標(biāo)志位URXxIF置1。
如果我們希望從串口0獲取一個(gè)字符,代碼如下:charuart0_receive_byte(){//從串口接收一個(gè)字符
while(URX0IF==0);URX0IF=0;//不可以省掉returnU0DBUF;}2.6中斷標(biāo)志位第三十三頁(yè),共46頁(yè)。1、總線初始化: PERCFGP2DIRPxSELUxCSR2、數(shù)據(jù)鏈路格式化(數(shù)據(jù)位、停止位、校驗(yàn)位、波特率) UxUCRUxGCRUxBAUD注意:設(shè)置波特率時(shí),一定要清楚當(dāng)前的時(shí)鐘速度。3、讀寫串口收發(fā)寄存器UxDBUFUTXxIFURXxIF三、CC2530串口控制器編程步驟
第三十四頁(yè),共46頁(yè)。3.1UART發(fā)送過(guò)程1.當(dāng)字節(jié)傳送開始時(shí),UxCSR.ACTIVE位變?yōu)楦唠娖剑?dāng)字節(jié)傳送結(jié)束時(shí)為低電平。2.當(dāng)傳送接收結(jié)束時(shí),UxCSR.TX_BYTE位設(shè)置為1。3.當(dāng)USART收/發(fā)數(shù)據(jù)緩沖寄存器就緒,準(zhǔn)備接收新的發(fā)送數(shù)據(jù)時(shí),就產(chǎn)生了一個(gè)中斷請(qǐng)求。該中斷在傳送開始之后立刻發(fā)生,因此,當(dāng)字節(jié)正在發(fā)送時(shí),新的字節(jié)能夠裝入數(shù)據(jù)緩存器。第三十五頁(yè),共46頁(yè)。1.當(dāng)1寫入U(xiǎn)xCSR.RE位時(shí),數(shù)據(jù)接收開始。2.UART在輸入引腳RXDx中尋找有效起始位,并且設(shè)置UxCSR.ACTIVE位為1。3.當(dāng)檢測(cè)出有效起始位時(shí),收到的字節(jié)就傳入到接收寄存器,UxCSR.RX_BYTE位設(shè)置為1。該操作完成時(shí),產(chǎn)生接收中斷。同時(shí)UxCSR.ACTIVE變?yōu)榈碗娖?。通過(guò)寄存器UxBUF提供收到的數(shù)據(jù)字節(jié)。5.當(dāng)UxBUF讀出時(shí),UxCSR_BYTE位由硬件清零。3.2UART接收過(guò)程第三十六頁(yè),共46頁(yè)。3.3UART硬件流控制當(dāng)UxUCR.FLOW位設(shè)置為1,硬件流控制使能;硬件流控制適用于“4線接口”。
發(fā)送數(shù)據(jù)時(shí)僅在RTS線為低電平時(shí)可以發(fā)送,當(dāng)可以接收數(shù)據(jù)時(shí)把CTS線置為低電平。
了解第三十七頁(yè),共46頁(yè)。3.4UART特征格式如果寄存器UxUCR中的BIT9和奇偶校驗(yàn)位設(shè)置為1,那么奇偶校驗(yàn)產(chǎn)生且使能。奇偶校驗(yàn)計(jì)算出來(lái),作為第9位來(lái)傳送。在接收期間,奇偶校驗(yàn)位計(jì)算出來(lái)而且與收到的第9位進(jìn)行比較。如果奇偶校驗(yàn)位出錯(cuò),則UxCSR.ERR位設(shè)置為1。當(dāng)讀取UxCSR時(shí),UxCSR.ERR位清除。第三十八頁(yè),共46頁(yè)。voidinitUARTtest(void){
InitClock();//初始化時(shí)鐘
PERCFG=0x00;//使用串口備用位置1P0口
P0SEL=0x3c;//P0用作串口
P2DIR&=~0XC0;//選擇串口0優(yōu)先作為串口
U0CSR|=0x80;//UART方式
U0GCR|=10;//波特率baud_e的選擇
U0BAUD|=216;//波特率設(shè)為57600
UTX0IF=0;//串口0發(fā)送中斷標(biāo)志清零
}串口0初始化:選擇工作時(shí)鐘。選擇串口外設(shè)備用位置。初始化I/O口。設(shè)置波特率。舉例:第三十九頁(yè),共46頁(yè)。串口發(fā)送字符串函數(shù)voidUartTX_Send_String(char*Data,intlen){intj;for(j=0;j<len;j++){U0DBUF=*Data++;while(UTX0IF==0);UTX0IF=0;}}了解第四十頁(yè),共46頁(yè)。主函數(shù)//包含的頭文件#include<ioCC2530.h>#include<string.h>#defineuintunsignedint#defineucharunsignedchar//定義控制燈的端口#defineLED1P1_0#defineLED2P1_1//函數(shù)聲明voidDelay(uint);voidinitUARTtest(void);voidUartTX_Send_String(char*Data,intlen);/*延時(shí)函數(shù)*/voidDelay(uintn){ uinti; for(i=0;i<n;i++); for(i=0;i<n;i++); for(i=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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年租賃汽車合同車輛狀況和租賃期限3篇
- 二零二五年度鋼管腳手架施工項(xiàng)目風(fēng)險(xiǎn)評(píng)估與管理合同3篇
- 二零二五年度餐飲企業(yè)股東合作協(xié)議范本:餐飲品牌推廣與權(quán)益保障3篇
- 二零二五年金屬?zèng)_壓模具設(shè)計(jì)制作合同范本3篇
- 2025年度細(xì)胞培養(yǎng)與生物制藥產(chǎn)業(yè)鏈合作合同3篇
- 二零二五版歷史文化遺產(chǎn)保護(hù)土石方運(yùn)輸與考古合同3篇
- 二零二五版教育機(jī)構(gòu)學(xué)生助學(xué)貸款合同樣本2篇
- 2025年互聯(lián)網(wǎng)流量統(tǒng)計(jì)分析與優(yōu)化服務(wù)合同4篇
- 2025年校企合作產(chǎn)學(xué)研合作項(xiàng)目合同3篇
- 二零二五年度摩托車行業(yè)人才培養(yǎng)及輸送合同4篇
- 2025年中國(guó)高純生鐵行業(yè)政策、市場(chǎng)規(guī)模及投資前景研究報(bào)告(智研咨詢發(fā)布)
- 2022-2024年浙江中考英語(yǔ)試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營(yíng)銷方案
- 北師大版數(shù)學(xué)三年級(jí)下冊(cè)豎式計(jì)算題100道
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項(xiàng)目施工重點(diǎn)難點(diǎn)分析及應(yīng)對(duì)措施
- 胃鏡下超聲穿刺護(hù)理配合
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
評(píng)論
0/150
提交評(píng)論