




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、MSP430 Launchpad 快速上手手冊1宋1本手冊適宜 MSP430 Launchpad 初學者使用,以快速上手為目的,故重在使用,而理論較少,建議結合datasheet、userguide 及其他資料使用。此為手冊第一版,錯誤與不足可能較多,請讀者不吝指正。10. MSP430G25x3 概述德州儀器(TI)MSP430 系列超低功耗微器包含多種器件,它們特有面向多種應用的不同外設集。這種架構與 5 種低功耗模式相組合,專為在便攜式測量應用中延長電池使用而優(yōu)化。該器件具有一個強大的 16 位RISU,16 位寄存器和有助于獲得最大編碼效率的常數(shù)發(fā)生器。數(shù)字振蕩器(DCO)可在不到 1
2、µs 的時間里完低功耗模式至運行模式的喚醒。MSP430G2x53 系列是超低功耗混合信號微器,具有內置的 16 位定時器、多達 24 個支持 觸摸感測的 I/O 引腳、一個多用途模擬比較器以及采用通用口的內置通信能力以及一個 10器功能如圖 0-1 所示。位模數(shù) (A/D)串行通轉換器。該微圖 0-1圖 0-1 中所示片上外設或功能,與對應的 IO 端口的表 0-1如表 0-1 所示。2端口I/O說明名稱編號PW20,N20PW28RHB323P1.0/ TA0CLK/ ACLK/A0 CA02231I/O通用型數(shù)字 I/O 引腳 Timer0_A,時鐘信號 TACLK 輸入ACL
3、K 信號輸出ADC10 模擬輸入 A0 Comparator_A+,CA0 輸入P1.1/ TA0.0/ UCA0RXD/ UCA0SOMI/ A1/ CA1331I/O通用型數(shù)字 I/O 引腳Timer0_A,捕捉:CCI0A 輸入,比較:Out0 輸出 / BSLUSCI_A0 UART 模式:接收數(shù)據(jù)輸入USCI_A0 SPI 模式:從器件數(shù)據(jù)輸出/主器件數(shù)據(jù)輸入ADC10 模擬輸入 A1Comparator_A+,CA1 輸入P1.2/ TA0.1/ UCA0TXD/ UCA0SIMO/ A2/ CA2442I/O通用型數(shù)字 I/O 引腳Timer0_A,捕獲:CCI1A 輸入,比較:
4、Out1 輸出USCI_A0 UART 模式:數(shù)據(jù)輸出USCI_A0 SPI 模式:從器件數(shù)據(jù)輸入/主器件數(shù)據(jù)輸出ADC10 模擬輸入 A2Comparator_A+,CA2 輸入P1.3/ ADC10CLK/ A3/ VREF-/VEREF-/ CA3/CAOUT553I/O通用型數(shù)字 I/O 引腳ADC10,轉換時鐘輸出 ADC10 模擬輸入 A3 ADC10 負基準電壓 Comparator_A+,CA3 輸入 Comparator_A+, 輸出P1.4/ SMCLK/ UCB0STE/ UCA0CLK/ A4/ VREF+/VEREF+/ CA4/TCK664I/O通用型數(shù)字 I/O
5、引腳SMCLK 信號輸出 USCI_B0 從器件使能 USCI_A0 時鐘輸入/輸出 ADC10 模擬輸入 A4 ADC10 正基準電壓 Comparator_A+,CA4 輸入JTAG 測試時鐘,用于器件編程及測試的輸入端口P1.5/ TA0.0/ UCB0CLK/ UCA0STE/ A5/ CA5/TMS775I/O通用型數(shù)字 I/O 引腳Timer0_A,比較:Out0 輸出 / BSL 接收 USCI_B0 時鐘輸入/輸出 USCI_A0 從器件使能ADC10 模擬輸入 A5 Comparator_A+,CA5 輸入JTAG 測試模式選擇,用于器件編程及測試的輸入端口P1.6/ TA0
6、.1/ A6/ CA6/ UCB0SOMI/ UCB0SCL/ TDI/TCLK142221I/O通用型數(shù)字 I/O 引腳Timer0_A,比較:Out1 輸出 ADC10 模擬輸入 A6 Comparator_A+,CA6 輸入USCI_B0 SPI 模式:從器件輸出主器件輸入USCI_B0 I2C 模式:SCL I2C 時鐘編程及測試期間的 JTAG 測試數(shù)據(jù)輸入或測試時鐘輸入4P1.7/ A7/ CA7/ CAOUT/ UCB0SIMO/ UCB0SDA/ TDO/TDI152322I/O通用型數(shù)字 I/O 引腳ADC10 模擬輸入 A7 Comparator_A+,CA7 輸入Comp
7、arator_A+,輸出USCI_B0 SPI 模式:從器件輸入主器件輸出USCI_B0 I2C 模式:SDA I2C 數(shù)據(jù)編程及測試期間的 JTAG 測試數(shù)據(jù)輸出端口或測試數(shù)據(jù)輸入P2.0/ TA1.08109I/O通用型數(shù)字 I/O 引腳Timer1_A,捕獲:CCI0A 輸入,比較:Out0 輸出P2.1/ TA1.191110I/O通用型數(shù)字 I/O 引腳Timer1_A, 捕獲:CCI1A 輸入,比較:Out1 輸出P2.2/ TA1.1101211I/O通用型數(shù)字 I/O 引腳Timer1_A,捕獲:CCI1B 輸入,比較:Out1 輸出P2.3/ TA1.0111615I/O通用
8、型數(shù)字 I/O 引腳Timer1_A,捕獲:CCI0B 輸入,比較:Out0 輸出P2.4/ TA1.2121716I/O通用型數(shù)字 I/O 引腳Timer1_A, 捕獲:CCI2A 輸入,比較:Out2 輸出P2.5/ TA1.2131817I/O通用型數(shù)字 I/O 引腳Timer1_A, 捕獲:CCI2B 輸入,比較:Out2 輸出XIN/ P2.6/ TA0.1192726I/O晶體振蕩器的輸入端口通用型數(shù)字 I/O 引腳Timer0_A,比較:Out1 輸出XOUT/ P2.7182625I/O晶體振蕩器的輸出端口通用型數(shù)字 I/O 引腳P3.0/ TA0.2-97I/O通用型數(shù)字 I
9、/O 引腳Timer0_A,捕獲:CCI2A 輸入,比較:Out2 輸出P3.1/ TA1.0-86I/O通用型數(shù)字 I/O 引腳Timer1_A,比較:Out0 輸出P3.2/ TA1.1-1312I/O通用型數(shù)字 I/O 引腳Timer1_A,比較:Out1 輸出P3.3/ TA1.2-1413I/O通用型數(shù)字 I/O Timer1_A,比較:Out2 輸出P3.4/ TA0.0-1514I/O通用型數(shù)字 I/O Timer0_A,比較:Out0 輸出P3.5/ TA0.1-1918I/O通用型數(shù)字 I/O Timer0_A,比較:Out1 輸出P3.6/ TA0.2-2019I/O通用型
10、數(shù)字 I/O Timer0_A,比較:Out2 輸出P3.7/ TA1CLK/ CAOUT-2120I/O通用型數(shù)字 I/OTimer1_A,時鐘信號 TACLK 輸入Comparator_A+,輸出RST/ NMI/ SBWTDIO162423I復位;不可中斷輸入編程及測試期間的兩線制 (Spy-Bi-Wire) 測試數(shù)據(jù)輸入/輸出而 MSP430 具有一種運行模式及 5 種可利用來選擇的低功耗操作模式。一個中斷能夠將器件從任一低功耗模式喚醒、處理請求、并在接收到來自中斷程序的返回信號時恢復至低功耗模式。以下 6 種操作模式可利用 激活模式(AM) 所有時鐘處于激活狀態(tài)來配置: 低功耗模式
11、0 (LPM0) CPU 被禁用 ACLK 和 SMCLK 仍然有效,MCLK 被禁用 低功耗模式 1 (LPM1) CPU 被禁用 ACLK 和 SMCLK 仍然有效,MCLK 被禁用 如果 DCO 不是在激活模式下被使用,則 DCO 低功耗模式 2 (LPM2) CPU 被禁用 MCLK 和 SMCLK 被禁用的 dc被禁用 DCO 的 dc ACLK 保持激活保持啟用 低功耗模式 3 (LPM3) CPU 被禁用 MCLK 和 SMCLK 被禁用 DCO 的 dc ACLK 保持激活被禁用 低功耗模式 4 (LPM4) CPU 被禁用 ACLK 被禁用 MCLK 和 SMCLK 被禁用
12、DCO 的 dc被禁用5TEST/ SBWTCK172524I為端口 1 上的 JTAG 引腳選擇測試模式。器件保護熔絲被連接至 TEST 上。編程及測試期間的 Spy-Bi-Wire 測試時鐘輸入 晶體振蕩器被停止下面,根據(jù) TI例程,分析 MSP430G25x3 單片機的常用片內外設及其功能。61. GPIO1.1 GPIO 簡述MSP430G2553 共有兩個通用數(shù)字端口 P1 和 P2。端口 P1 和 P2 具有輸入/輸出中斷和外部模塊功能,這些功能可以通過它們各自的 7 個寄存器的設置來實現(xiàn)。1 . PxDIR 輸入 / 輸出方向寄存器相互的 8 位分別定義了 8 個引腳的輸入 /
13、輸出方向。8 位在 PUC 后都被復位。使用時先根據(jù)需要定義端口的方向以滿足設計者要求。0 : I/O 引腳被切換成輸入模式;1 : I/O 引腳被切換成輸出模式。2 .PxIN 輸入寄存器輸入寄存器是 CPU 掃描 I/O 引腳信號的只讀寄存器。通過該寄存器的內容獲取 I/O 端口的輸入信號。此時引腳的方向必須選定為輸入。讀出時,該引腳的方向寄存器必須設置為輸入模式。3 .PxOUT 輸出寄存器該寄存器為 I/O 端口的輸出緩沖寄存器。其內容可以像操作內存數(shù)據(jù)一樣寫入,以達到改變 I/O 口狀態(tài)的目的。在時輸出緩存的內容與引腳方向定義無關。改變方向寄存器的內容, 輸出緩存的內容不受影響。4
14、.PxIE 中斷使能寄存器該引腳是否中斷, 該寄存器中該寄存器的各引腳都有一位用以0 :1 :該位中斷;該位中斷。5 . PxIES 中斷觸發(fā)沿選擇寄存器如果Px 口的某個引腳中斷,還需定義該引腳的中斷觸發(fā)沿。該寄存器的 8 位分別定義了 Px 口的 8 個引腳的中斷觸發(fā)沿。0 :上升沿使相應標志置位;1 :下降沿使相應標志置位。6 . PxIFG 中斷標志寄存器該寄存器有 8 個標志位, 它們含有相應引腳是否有待處理中斷的信息,即7相應引腳是否有中斷請求。如果 Px 的某個引腳中斷,同時選擇上升沿,則當該引腳發(fā)生由低電平向高電平跳變時,PxIFG 的相應位就會置位,表明在該引腳上有中斷發(fā)生。
15、0 :沒有中斷請求;1 :有中斷請求。7 . PxSEL 功能選擇寄存器P1 和 P2 兩端口還有其他片內外設功能,考慮減少引腳,將這些功能與芯片外的通過復用 P1 和 P2 引腳的方式來實現(xiàn)。PxSEL 用來選擇引腳的 I/O 端口功能與模塊功能。0 :選擇引腳為 I/O 端口;1 :選擇引腳為模塊功能。我們以 msp430g2xx3_1 為例,GPIO 的使用。1.2 LED 紅燈閃亮實驗首先,我們來展示一下如何打開并使用 TI 的例程以及相關。 STEP 1打開 CCS,我們使用的是 CCS5.4.0。打開的過程中,會出現(xiàn)圖 1.2-1 所示框。圖 1.2-1此時,需要我們選擇工作空間。
16、注意,一般需要放在路徑下,也就是說,文件夾需要英文命名。選定好 Workspace 之后,點擊 OK。進入后,我們可以看到如圖 1.2-2 所示的 TI Resource Explorer。8圖 1.2-2在 TI Resource Explorer 中,我們可以點擊 New Project,新建工程項目;點擊 Examples 加載例程;點擊 Import Project 添加已有項目;還可以通過 Support、Web Resources、Tutorials 等,找到各種各樣的、信息。 STEP 2接下來,我們添加一個例程 msp430g2xx3_1。依次單擊 MSP430ware、Dev
17、ices、MSP430G2xx,如圖 1.2-3。9圖 1.2-3在圖 1.2-3 中,我們可以看到,在這里,我們可以方便地查看 Users Guide、Datasheets、Code Examples 等各種。圖 1.2-410接下來,依次單擊 Code Examples、MSP430G2x53,在右側,可以找到我們需要的例程 msp430g2xx3_1。單擊之,出現(xiàn)如圖 1.2-5 所示框。圖 1.2-5選定器件為 MSP430G2553,于是,在右側,我們可以看到,該例程工程文件已經加載。圖 1.2-6點開該文件夾,再雙擊 msp430g2xx3_1.c,就可以看到程序了。11/*/ M
18、SP430G2xx3 Demo - Software Toggle P1.0/ Description; Toggle P1.0 by xor'ing P1.0 inside of a software loop./ ACLK = n/a, MCLK = SMCLK = defauCO/MSP430G2xx3/|XIN|-/| |/-|RSTXOUT|-/|/|P1.0|->LED/ D. Dang/ Texas Instruments, Inc/ December 2010/Built with CCS Version 4.2.0 and IAR Embedded Workbe
19、nch Version: 5.10/* STEP 3編譯與程序。圖 1.2-7單擊錘子狀圖標,開始進行編譯。之后,點擊蟲子狀圖標,開始程序與 Debug。圖 1.2-812#include <msp430.h>int main(void)WDTCTL = WDTPW + WDTHOLD;/ Stop watchdog timerP1DIR |= 0x01;/ Set P1.0 to output directionfor (;)volatile unsigned int i;P1OUT = 0x01;/ Toggle P1.0 using exclusive-ORi = 50000
20、;/ Delaydo (i-);while (i != 0);之后,在 Debug框中,點擊 Resume 按鍵,即可程序。圖 1.2-9我們可以看到,Launchpad 左下角的紅色 LED 燈閃亮起來,如圖 1.2-10.圖 1.2-9我們再看程序主體部分13主函數(shù)中,首先將看門狗定時器停止,否則看門狗定時器將周期性復位CPU。而接下來,由于要LED1,也就是 P1.0 的輸出,因此要將該口輸入輸出的 P1DIR 第 0 位置高。之后,在一個死循環(huán)中,每一次,都將 P1OUT 的第 0 位與 1 做異或運算,相當于取反。這樣,LED1 一段時間內亮,一段時間內滅,就形成了不斷閃亮的效果。1
21、4#include <msp430.h>int main(void)WDTCTL = WDTPW + WDTHOLD;/ Stop watchdog timerP1DIR |= 0x01;/ Set P1.0 to output directionfor (;)volatile unsigned int i;P1OUT = 0x01;/ Toggle P1.0 using exclusive-ORi = 50000;/ Delaydo (i-);while (i != 0);2. Timer2.1 Timer 概述定時器是單片機中非常重要的,可以用來實現(xiàn)定時、延遲、頻率測量、脈寬測
22、量、信號產生,作為串行通口的可編程波特率發(fā)生器,在多任務系統(tǒng)中也可以用來作為中斷信號實現(xiàn)程序切換。MSP430 系列單片機的定時器非常豐富,看門狗定時器( WDT)、定時器 A(Timer_A)和定時器 B(Timer_B)等。器件因系列不同可能包含這些模塊的全部或部分。這些模塊除了具有定時功能外, 還各自具有一些特殊的用途, 在應用中應根據(jù)需要選擇合適的定時器模塊。MSP430 系列定時器模塊功能如下:看門狗定時器:基本定時;當程序發(fā)生錯誤時執(zhí)行一個受控的系統(tǒng)重啟動。定時器 A:基本定時;;支持同時進行多種時序、多個捕獲/比較功能和多種輸出波形(PWM),可以以硬件方式支持串行通信。定時器
23、B:基本定時;功能基本同定時器 A,但比定時器 A 更靈活,功能更強大。下面,以 Timer_A 為例。Timer_A 分為三部分:主計數(shù)器、比較捕獲模塊和輸出單元。主計數(shù)器負責定時,計數(shù)。計數(shù)值(TAR 寄存器的值)被送到各比較捕獲模塊中,它們可以在無需 CPU 干預的情況下根據(jù)觸發(fā)條件與計數(shù)器值自動完成某些測量和輸出功能。只需定計數(shù)功能時,可以只使用主計數(shù)器部分。在 PWM 調制,利用捕獲測量脈寬,周期等應用之中還需要捕獲比較模塊配合。與 Timer_A 定時器中的主計數(shù)器相關的位都位于 TACTL 寄存器中,主計數(shù)器的計數(shù)數(shù)值存放與 TAR 寄存器中。每個比較捕獲寄存器 TACCRx(x
24、=0, 1,2)。在一般定時器應用中,TACCRx 可提供額外的定時中斷觸發(fā)條件;在 PWM輸出模式之下,TACCRx 可用于設置周期和占空比;在捕獲模式下,TACCRx存放捕獲結果。Timer_A 結構如圖 2.1-1 所示。15圖 2.1-1而 Timer_A 共有四種工作模式:停止模式、增計數(shù)模式、連續(xù)計數(shù)模式和增減計數(shù)模式。停止模式,MC1=0,MC0=0,定時器暫停工作,但所有寄存器保持當前值,并不復位。增計數(shù)模式,MC1=1,MC0=0,計數(shù)器的值從 0 一直到 TACCR0,再如此往復,如圖 2.1-2 所示。圖 2.1-216連續(xù)計數(shù)模式,MC1=0,MC0=1,計數(shù)器的值從
25、0 一直到 0FFFFh,再如此往復,如圖 2.1-3 所示。圖 2.1-,3增減計數(shù)模式,MC1=1,MC0=1,計數(shù)器的值從 0 一直到 TACCR0,再減為 0,如此往復,如圖 2.1-4 所示。圖 2.1-4而輸出單元,可用于輸出多種信號。在增計數(shù)模式下,七種輸出模式波形如圖 2.1-5 所示。圖 2.1-5我們以 msp430g2xx3_ta_07 和 msp430g2xx3_ta_16 為例,分析定時中斷以及PWM 波的使用。172.2 Timer_A 定時中斷打開例程 msp430g2xx3_ta_07,程序主要部分如下。18/*/ MSP430G2xx3 Demo - Time
26、r_A, Toggle P1.0-2, Cont. Mode ISR, DCO SMCLK/ Description: Use Timer_A CCRx units and overflow to generate four/ independent timing intervals. For demonstration, CCR0 and CCR1 output/ units are optionally selected with port pins P1.1 and P1.2 in toggle/ mode. As such, these pins will toggle when re
27、spective CCRx registers match/ the TAR counter. Interrupts are also enabled with all CCRx units,/ software loads offset to next interval only - as long as the interval offset/ is aded to CCRx, toggle rate is generated in hardware. Timer_A overflow ISR/ is used to toggle P1.0 with software. Proper us
28、e of the TA0IV interrupt/ vector generator is demonstrated./ ACLK = n/a, MCLK = SMCLK = TACLK = defauCO 1MHz/ As coded and assuming 1MHz DCO, toggle rates are:/ P1.1 = CCR0 1MHz/(2*200) 2500Hz/ P1.2 = CCR1 1MHz/(2*1000) 500Hz/ P1.0 = overflow 1MHz/(2*65536) 8Hz/MSP430G2xx3/|XIN|-/| |/-|RSTXOUT|-/|/|
29、P1.1/TA0|-> CCR0/|P1.2/TA1|-> CCR1/|P1.0|-> Overflow/software/ D. Dang/ Texas Instruments Inc./ December 2010/Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10/*#include <msp430.h>int main(void)WDTCTL = WDTPW + WDTHOLD;/ Stop WDTP1SEL |= 0x06;/ P1.1 - P1.2 option s
30、electP1DIR |= 0x07;/ P1.0 - P1.2 outputs本,將 P1.1 和 P1.2 分別設置為 CCR0 和 CCR1 的匹配翻轉模式,也,每次中斷時,對 CCR0就是說,計數(shù)值匹配時,這兩個腳電平翻轉。而在加 200,對 CCR1 加 1000,因此 P1.1 和 P1.2 的翻轉頻率分別為1MHzf = 2500Hz12´ 2001MHzf = 500Hz22´1000而對于 P1.0,采用異或運算使之翻轉,在進行翻轉操作,因此,其翻轉頻率為對 P1.0,發(fā)生溢出中斷1MHzf = 7.6Hz02´ 65535開始實驗后,我們除了看
31、到紅色 LED 燈快速閃亮以外,將示波器探頭分別放在 P1.0、P1.1 和 P1.2 上,波形分別如圖 2.1-6、圖 2.1-7、圖 2.1-8 所示。示波器測得頻率與計算值相近。19P1DIR |= 0x07;/ P1.0 - P1.2 outputsCCTL0 = OUTMOD_4 + CCIE;/ CCR0 toggle, interrupt enabledCCTL1 = OUTMOD_4 + CCIE;/ CCR1 toggle, interrupt enabled TACTL = TASSEL_2 + MC_2 + TAIE;/ SMCLK, Contmode, int enab
32、led_BIS_SR(LPM0_bits + GIE);/ Enter LPM0 w/ interrupt/ Timer A0 interrupt service routine#pragma vector=TIMER0_A0_VECTOR interrupt void Timer_A0 (void)CCR0 += 200;/ Add Offset to CCR0/ Timer_A2 Interrupt Vector (TA0IV) handler#pragma vector=TIMER0_A1_VECTOR interrupt void Timer_A1(void)switch( TA0IV
33、 )case 2: CCR1 += 1000;/ Add Offset to CCR1break;case 10: P1OUT = 0x01;/ Timer_A3 overflowbreak;圖 2.1-6圖 2.1-7圖 2.1-8202.3 Timer_A 輸出 PWM 波打開例程 msp430g2xx3_ta_16,程序主要部分如下。程序采用增計數(shù)模式,上限值為 511,而 CCR1 為 384,模式 7,因此輸出PWM 波占空比為 D = 384 / 511 = 75.1%,而頻率為 f =1MHz / 511 = 2KHz 。實驗輸出波形如圖 2.1-9 所示。21/*/ MSP43
34、0G2xx3 Demo - Timer_A, PWM TA1-2, Up Mode, DCO SMCLK/ Description: This program generates one PWM output on P1.2 using/ Timer_A configured for up mode. The value in CCR0, 512-1, defines the PWM/ period and the value in CCR1 the PWM duty cycles./ A 75% duty cycle on P1.2./ ACLK = na, SMCLK = MCLK = T
35、ACLK = defauCO/MSP430G2xx3/|XIN|-/| |/-|RSTXOUT|-/|/|P1.2/TA1|-> CCR1 - 75% PWM/ D. Dang/ Texas Instruments, Inc/ December 2010/Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10/*#include <msp430.h>int main(void)WDTCTL = WDTPW + WDTHOLD;/ Stop WDTP1DIR |= 0x0C;/ P1.2 and
36、 P1.3 outputP1SEL |= 0x0C;/ P1.2 and P1.3 TA1/2 optionsCCR0 = 512-1;/ PWM PeriodCCTL1 = OUTMOD_7;/ CCR1 reset/setCCR1 = 384;/ CCR1 PWM duty cycle TACTL = TASSEL_2 + MC_1;/ SMCLK, up mode_BIS_SR(CPUOFF);/ Enter LPM0圖 2.1-9223. USART3.1 USART 概述MSP430 的 USART 模塊配置為異步模式時的結構如圖 3.1-1 所示,該模塊主要包含 4 個部分:(1)
37、用來串行通信數(shù)據(jù)接收和速率的波特率部分。(2)用來接收串行輸入的接收部分,在接收時,當移位寄存器將接收來的數(shù)據(jù)流組合滿一個字節(jié)后,就保存到接收緩存 UxRXBUF 中。(3)用來串行輸出數(shù)據(jù)的部分,在時,將緩存 UxTXBUF 內的數(shù)據(jù)逐位送到端口。和接收兩個移位寄存的移位時鐘都是波特率發(fā)生器產生的時鐘信號BITCLK。(4)用來完成并-串轉換和串-并轉換的接口部分。圖 3.1-1以 msp430g2xx3_uscia0_uart_01_9600 為例,分析 USART 的使用。233.2 USART 實驗例程 msp430g2xx3_uscia0_uart_01_9600 代碼如下24/*/
38、MSP430G2xx3 Demo - USCI_A0, 9600 UART Echo ISR, DCO SMCLK/Description: Echo a received character, RX ISR used. Normal mode is LPM0./USCI_A0 RX interrupt triggers TX Echo./Baud rate divider with 1MHz = 1MHz/9600 = 104.2/ACLK = n/a, MCLK = SMCLK = CAL_1MHZ = 1MHz/MSP430G2xx3/|XIN|-/| |/-|RSTXOUT|-/|/|
39、P1.2/UCA0TXD|>/| 9600 - 8N1/|P1.1/UCA0RXD|<-/D. Dang/Texas Instruments Inc./February 2011/Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10/*#include <msp430.h>int main(void)WDTCTL = WDTPW + WDTHOLD;/ Stop WDTif (CALBC1_1MHZ=0xFF)/ If calibration constant erasedwhile(
40、1);/ do not load, trap CPU!DCOCTL = 0;/ Select lowest DCOx and MODx settings BCSCTL1 = CALBC1_1MHZ;/ Set DCODCOCTL = CALDCO_1MHZ;P1SEL = BIT1 + BIT2 ;/ P1.1 = RXD, P1.2=TXDP1SEL2 = BIT1 + BIT2 ;/ P1.1 = RXD, P1.2=TXDUCA0CTL1 |= UCSSEL_2;/ SMCLKUCA0BR0 = 104;/ 1MHz 9600UCA0BR1 = 0;/ 1MHz 9600UCA0MCTL
41、 = UCBRS0;/ Modulation UCBRSx = 1由于系統(tǒng)頻率為 1MHz ,而波特率為 9600 , 因此波特率因子為1M / 9600 =104 ,而 104 小于 256,則只需要在波特率寄存器的低位寫入即可。而程序設置了接收中斷,在收到一個字符后,立即將之發(fā)回去。我們使用 sscom4.2 來調試。結果如圖 3.1-2 所示。圖 3.1-225UCA0CTL1 &= UCSWRST;/ *Initialize USCI state machine*IE2 |= UCA0RXIE;/ Enable USCI_A0 RX interrupt bis_SR_regis
42、ter(LPM0_bits + GIE);/ Enter LPM0, interrupts enabled/ Echo back RXed character, confirm TX buffer is ready first#pragma vector=USCIAB0RX_VECTOR interrupt void USCI0RX_ISR(void)while (!(IFG2&UCA0TXIFG);/ USCI_A0 TX buffer ready?UCA0TXBUF = UCA0RXBUF;/ TX -> RXed character4. ADC4.1 ADC 概述ADC10
43、 是 MSP430 單片機的片上模數(shù)轉換器,其轉換位數(shù)為 10 比特,該模塊內部是一個 SAR 型的 AD 內核,可以在片內產生參考電壓,并且具有數(shù)據(jù)器。數(shù)據(jù)傳輸器能夠在 CPU 不參與的情況下,完成 AD 數(shù)據(jù)傳輸存任意位置的傳輸。其結構如圖 4.1-1 所示。圖 4.1-126它具有如下特點:最大轉換速率大于 200ksps轉換精度為 10 位采樣保持器的采樣周期可通過編程設置可利用或者 TimerA 設置轉換初始化編程選擇片上電壓參考源,選擇 1.5V 或者 2.5V編程選擇內部或者外部電壓參考源 8 個外部輸入通道具備對內部溫度傳感器、供電電壓 VCC 和外部參考源的轉換通道轉換時鐘源
44、可選擇多種采樣模式:單通道采樣、序列通道采樣、單通道重復采樣、序列通道重復采樣提供自動數(shù)據(jù)傳輸 ADC 的內核和參考源可分別單獨關閉ADC10 模塊工作的是 ADC10 的核,即圖中的 10-bit SAR。ADC10 的核將模擬量轉換成10 位數(shù)字量并儲ADC10MEM 寄存器里。這個核使用VR+和 VR-來決定轉換模擬值的高低門限。當輸入電壓超過 VR+時它會停在上,當輸入門限低于 VR-時它會停在 0 上。采樣值的計算公式為:-V -R03FFhN= 1023´ VINADCV-VR+R-274.2ADC 實驗我們使用例程 msp430g2x33_adc10_02 代碼如下28
45、/*/ MSP430G2x33/G2x53 Demo - ADC10, Sample A1, 1.5V Ref, Set P1.0 if > 0.2V/ Description: A single sample is made on A1 with reference to internal/ 1.5V Vref. Software sets ADC10SC to start sample and conversion - ADC10SC/ automatically cleared at EOC. ADC10 internal oscillator times sample (16x)
46、/ and conversion. In Mainloop MSP430 waits in LPM0 to save power until ADC10/ conversion complete, ADC10_ISR will force exit from any LPMx in Mainloop on/ reti. If A1 > 0.2V, P1.0 set, else reset./MSP430G2x33/G2x53/|XIN|-/| |/-|RSTXOUT|-/|/>-|P1.1/A1P1.0|->LED/ D. Dang/ Texas Instruments In
47、c./ December 2010/Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10/*#include <msp430.h>int main(void)WDTCTL = WDTPW + WDTHOLD;/ Stop WDT ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + ADC10ON + ADC10IE; enable_interrupt();/ Enable interrupts.TACCR0 = 30;/ Delay to allow Ref to
48、settleTACCTL0 |= CCIE;/ Compare-mode interrupt.TACTL = TASSEL_2 | MC_1;/ TACLK = SMCLK, Up mode.LPM0;/ Wait for delay.TACCTL0 &= CCIE;/ Disable timer Interrupt disable_interrupt();ADC10CTL1 = INCH_1;/ input A1ADC10AE0 |= 0x02;/ PA.1 ADC option selectP1DIR |= 0x01;/ Set P1.0 to output directionfor (;)對 ADC10CTL0 寄存器寫入的幾個常量,我們在定義中可以看到可見,ADC 采用內部 2.5V 參考電壓,滿量程也是 2.5V,而同時開啟了 ADC, 0.2 /1.5´1023 =136D = 0x88 ,所以,將結果與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度供暖供氣設施施工安全協(xié)議
- 二零二五年度鋼材現(xiàn)貨交易居間服務協(xié)議
- 2025年度電子商務合伙拆伙協(xié)議終止協(xié)議
- 2025年度離職解除勞動合同模板:傳媒廣告行業(yè)員工離職流程
- 會計財務審計作業(yè)指導書
- 公司股權購買協(xié)議詳細版
- 金融服務個人風險免責聲明
- 《數(shù)學思維訓練課程:數(shù)形結合學習指導》
- 肉類銷售代理合同
- 關于項目進度管理的解決方案
- 2025年湖南有色金屬職業(yè)技術學院單招職業(yè)技能測試題庫參考答案
- 2025年哈爾濱幼兒師范高等??茖W校單招職業(yè)技能測試題庫1套
- 2025年佳木斯職業(yè)學院單招職業(yè)傾向性測試題庫完整
- 儲能站施工組織設計施工技術方案(技術標)
- 2025部編版小學道德與法治一年級下冊教學計劃
- 女職工權益保護法律知識競賽題庫(293題附答案)
- 樓梯 欄桿 欄板(一)22J403-1
- 2024湖北省聯(lián)合發(fā)展投資集團限公司招聘221人高頻難、易錯點500題模擬試題附帶答案詳解
- 03S702鋼筋混凝土化糞池-標準圖集
- 國網直流電源系統(tǒng)技術監(jiān)督規(guī)定
- 香港雇傭合同協(xié)議書
評論
0/150
提交評論