USART模塊寄存器使用說明_第1頁
USART模塊寄存器使用說明_第2頁
USART模塊寄存器使用說明_第3頁
USART模塊寄存器使用說明_第4頁
USART模塊寄存器使用說明_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、 UART是通用異步串行接口的簡(jiǎn)稱。串行通信接口是用來與單片機(jī)外界系統(tǒng)進(jìn)行通信橋梁,比如可以吧單片機(jī)ADC轉(zhuǎn)換的數(shù)據(jù)通過串口發(fā)送給PC機(jī)(上位機(jī)),經(jīng)上位機(jī)處理之后在發(fā)回給單片,達(dá)到通信的目的。TI公司的MSP430系列單片機(jī)均具有UART功能,其中大部分還和SPI,I2C功能復(fù)用,通過相關(guān)寄存器的配置,可以很輕松地就實(shí)現(xiàn)了UART,SPI,I2C的通信功能。在此以MSP430x149為例介紹UART功能及其實(shí)現(xiàn)過程。1.異步通信的結(jié)構(gòu):2.UART數(shù)據(jù)格式(數(shù)據(jù)協(xié)議): 異步通信再不發(fā)送數(shù)據(jù)的時(shí)候,通信線路上總是呈現(xiàn)高電平狀態(tài),稱為空閑狀態(tài)。當(dāng)有數(shù)據(jù)發(fā)送是,信號(hào)線變成低電平,并持續(xù)一位的時(shí)間

2、用于表示發(fā)送字符的開始,該為稱為起始位。起始位之后在信號(hào)線上依次出現(xiàn)發(fā)送的數(shù)據(jù)。起始位,數(shù)據(jù)位由高到低7/8位,地址位 0/1位,奇偶校驗(yàn)位 奇偶或無,停止位1/2位。數(shù)據(jù)位位數(shù)、地址位、奇偶校驗(yàn)位、停止位均可由單片機(jī)內(nèi)部寄存器控制;這款單片機(jī)都有兩個(gè)USART模塊,有兩套獨(dú)立的寄存器組;以下寄存器命中出現(xiàn)x代表0或是1,0代表對(duì)應(yīng)0模塊的寄存器,1代表對(duì)應(yīng)1模塊的寄存器;其中,與串口模式設(shè)置相關(guān)的控制位都位于UxCTL寄存器,與接收相關(guān)的控制位都位于UxRCTL寄存器,與發(fā)送相關(guān)的控制位都位于UxTCTL寄存器;波特率設(shè)置用UxBR0、UxBR1、UxMCTL三個(gè)寄存器;接收與發(fā)送有獨(dú)立的緩

3、存UxRXBUF、UxTXBUF,并具有獨(dú)立的移位寄存器和獨(dú)立的中斷;中斷允許控制位位于IE1/2寄存器,中斷標(biāo)志位位于IFG1/2寄存器。3.波特率設(shè)置:430的波特率設(shè)置用三個(gè)寄存器實(shí)現(xiàn):UxBR0:波特率發(fā)生器分頻系數(shù)低8位。UxBR1:波特率發(fā)生器分頻系數(shù)高8位。UxMCTL:波特率發(fā)生器分頻系數(shù)的小數(shù)部分實(shí)現(xiàn)。設(shè)置波特率時(shí),首先要選擇合適的時(shí)鐘源:USART模塊可以設(shè)置的時(shí)鐘源有UCLK引腳、ACLK、SMCLK;對(duì)于較低的波特率(9600以下),可選ACLK作為時(shí)鐘源,這樣,在LPM3(低功耗3)模式下,串口仍能正常發(fā)送接收數(shù)據(jù);另外,由于串口接收過程有一個(gè)三取二判決邏輯,這至少需

4、要三個(gè)時(shí)鐘周期,因此分頻系數(shù)必須大于3;波特率高于9600時(shí),將不能使用ACLK作為時(shí)鐘源,要調(diào)為頻率較高的SMCLK作為時(shí)鐘源;另外還可以外部輸入U(xiǎn)CLK時(shí)鐘。分頻系數(shù)計(jì)算公式如下:小數(shù)分頻是MSP430單片機(jī)的串口特色之一,UxMCTL寄存器的作用就是控制小數(shù)的分頻,控制方法如下:對(duì)應(yīng)位是1,則分頻系數(shù)加一,0則分頻系數(shù)減一;小數(shù)分頻器會(huì)自動(dòng)依次取出每一位來調(diào)整分頻系數(shù)。其計(jì)算方法:可以先計(jì)算小數(shù)部分一的個(gè)數(shù),然后把1均勻的放入U(xiǎn)xMCTL的8位中,這樣計(jì)算比較簡(jiǎn)單,分頻系數(shù)的小數(shù)部分乘以8即得到1的位數(shù),查表得到對(duì)應(yīng)的UxMCTL值;另外一種通過計(jì)算每一位的錯(cuò)誤率,交互計(jì)算,直到得到最小

5、錯(cuò)誤率的UxMCTL值,這種方法比較復(fù)雜,但得到的小數(shù)分頻誤差更小。4.UART的初始化及復(fù)位 在初始化或者重新配置UART時(shí),必須按照以下順序進(jìn)行:(1)UxCTL寄存器的第0位SWRST置位;(2)在SWRST置位的條件下,初始化所有的UART寄存器,包括UxCTL寄存器;(3)通過置位模塊使能寄存器MEx的URXEx和UTXEx位使能UART的接受和發(fā)送模塊;(4)通過軟件復(fù)位UxCTL寄存器的第0位SWRST;(5)通過中斷使能寄存器IEx的URXIEx和UTXIEx來使能發(fā)送和接受中斷。5.UART的中斷(1)發(fā)送中斷:當(dāng)發(fā)送緩沖寄存器UxTXBUF被寫入需要發(fā)送的數(shù)據(jù)的時(shí)候,UTX

6、IFGx的中斷標(biāo)志位被置位;如果發(fā)送中斷被允許,并且總中斷被使能的話,則會(huì)向CPU發(fā)出中斷請(qǐng)求。當(dāng)響應(yīng)中斷請(qǐng)求之后,中斷標(biāo)志位被自動(dòng)置0,在中斷函數(shù)里邊不需要手動(dòng)清除標(biāo)志位。(2)接收中斷:當(dāng)有數(shù)據(jù)被裝載到發(fā)送緩沖寄存器UxRXBUF時(shí),UTXIFGx的中斷標(biāo)志位被置位;如果接受中斷被允許,并且總中斷被使能的話,則會(huì)向CPU發(fā)出中斷請(qǐng)求。當(dāng)響應(yīng)中斷請(qǐng)求之后,中斷標(biāo)志位被自動(dòng)置0,在中斷函數(shù)里邊不需要手動(dòng)清除標(biāo)志位。6.UART的相關(guān)寄存器:UART的相關(guān)寄存器的每位功能參考TI公司提供的數(shù)據(jù)手冊(cè)進(jìn)行查看!7.簡(jiǎn)單例程:/將將接收到數(shù)據(jù)再發(fā)送回去;可以通過串口調(diào)試助手,觀察單片機(jī)發(fā)送的數(shù)據(jù)#in

7、clude <msp430x14x.h>void main(void) volatile unsigned int i; WDTCTL = WDTPW + WDTHOLD; / Stop WDT P3SEL |= 0x30; / P3.4,5 = USART0 TXD/RXD P3.4 P3.5 選擇為發(fā)送接收功能 /使用低功耗模式 BCSCTL1 |= XTS; /BCSCTL1系統(tǒng)時(shí)鐘控制寄存器1 (XTS是 LFXT1工作模式控制位 0為 低頻模式 1為高頻模式 )ACLK= LFXT1= HF XTAL do IFG1 &= OFIFG; / Clear OSCFa

8、ult flag 清除振蕩器出錯(cuò)中斷標(biāo)志 for (i = 0xFF; i > 0; i-); / Time for flag to set while (IFG1 & OFIFG); / OSCFault flag still set? BCSCTL2 |= SELM_3; /BCSCTL1系統(tǒng)時(shí)鐘控制寄存器2 MCLK = LFXT1 (safe) /配置UART的功能 UCTL0 |= CHAR; / 8-bit character 8為數(shù)據(jù)位 UTCTL0 |= SSEL0; / UCLK= ACLK 選擇輔助時(shí)鐘 UBR00 = 0x45; / 8MHz 115200

9、波特率控制寄存器 UBR10 = 0x00; / 8MHz 115200 波特率控制寄存器 UMCTL0 = 0x00; / 8MHz 115200 modulation 波特率控制寄存器 UCTL0 &= SWRST; / Initialize USART state machine UART控制寄存器/發(fā)送和接受使能及其中斷使能 ME1 |= UTXE0 + URXE0; / Enable USART0 TXD/RXD IE1 |= URXIE0; / Enable USART0 RX interrupt啟用USART0 RX中斷 _BIS_SR(LPM0_bits + GIE); / Enter LPM0 w/ interrupt#pragma ve

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論