MSP430_基本結構.ppt_第1頁
MSP430_基本結構.ppt_第2頁
MSP430_基本結構.ppt_第3頁
MSP430_基本結構.ppt_第4頁
MSP430_基本結構.ppt_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MSP430系列16位單片機原理與應用,許文建 華中科技大學光電國家實驗室 Email:,教學內容,MSP430單片機結構 (1)內核結構、中斷向量 (2)片面外圍模塊 MSP430指令系統(tǒng)與程序設計 (1)指令集 (2)開發(fā)環(huán)境 MSP430單片機應用 (1)MSP430F247最小系統(tǒng)板 (2)MSP430實驗,教學目的,了解MSP430的基本資源; 學會使用IAR-EW430開發(fā)環(huán)境; 學會使用MSP430F247單片機片上外設; 能夠使用MSP430進行應用開發(fā); 對MSP430單片機深入學習的能力;,學習方法=搞懂原理+多做實驗,學習使用單片機的8步(網(wǎng)上論壇總結) 第一步:數(shù)字I/

2、O的使用 第二步:定時器的使用 第三步:中斷 第四步:與PC機進行RS232通信 第五步:學會A/D轉換 第六步:學會SPI、I2C接口和液晶顯示器接口 第七步:學會比較、捕捉、PWM功能 第八步:學習USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設計,C語言 微機原理單片機原理與應用,先修課程, 電子書 數(shù)據(jù)手冊用戶手冊 微控網(wǎng) 論壇 ,參考資料,MSP430系列單片機概述,TI公司 MSP430 系列是一個 16 位的功能強大的超低功耗類型微控制器, 特別適合于電池應用的場合; 而且該系列將大量的外圍模塊整合到片內,也特別適合于設計單片系統(tǒng); 同時MSP430 有豐富的不同類型器件

3、可供選擇,給設計者帶來很大的靈活性,MSP430產(chǎn)品系列(250),x1xx 8MHz 系列 (36) x2xx 16MHz 系列 (39) G2xx 值系列 (9) 3xx 傳統(tǒng) 8MHz 系列 (16) x4xx 8/16MHz LCD 系列 (89) x5xx 25MHz 系列 (53) CC430 RF SoC系列 (8),MSP430產(chǎn)品系列,主要特征,超低功耗架構和靈活的時鐘系統(tǒng)可延長電池的使用壽命,且功耗低至: 0.1A RAM 保持模式 0.7A RTC 模式 165A/MIPS 集成智能外設(包括各種高性能模擬和數(shù)字外設)可轉移 CPU 上的負載 16 位 RISC CPU

4、架構 借助業(yè)界領先的代碼密度實現(xiàn)全新應用 簡單易用:全套開發(fā)工具起始價僅為 20 美元,集成外設,10/12 位 SAR ADC 16 位 - ADC 12 位 DAC 比較器 LCD 驅動器 電源電壓監(jiān)控器 (SVS) 運算放大器 16 位和 8 位定時器 LDO/PMM RF,看門狗定時器 UART/LIN I2C SPI IrDA USB 硬件乘法器 DMA 控制器 溫度傳感器 實時時鐘,MSP430F247特征,工作電壓:1.8-3.6V(3.3V) Frequency:16MHz Flash:32KB RAM:4KB GPIO:48 封裝:LQPF-64 ADC:12bit(8-ch

5、) 接口:2-USCI_A(UART/LIN/IrDA/SPI ) 2-USCI_B(I2C/SPI ) 定時器:16-Bit Timer_A(3-Capture/CompareRegisters ); 16-Bit Timer_B(7-Capture/Compare) 看門狗:1個 JTAG:1個,MSP430F247結構,MSP430系列采用的是“馮-諾依曼”結構; ROM、RAM在同一地址空間,使用一組地址數(shù)據(jù)總線,MSP430F247結構,基本架構:馮-諾依曼 CPU:16位; 硬件乘法器 儲存器 時鐘系統(tǒng) JTAG調試端口 片上外設 (1)數(shù)字外設 (2)模擬外設,MSP430F24

6、7結構-CPU,中央處理單元采用了精簡的、高透明的、高效率的正交設計 它包括一個16位的ALU(算術邏輯運算單元); 16個寄存器; 一個指令控制單元;,16個16位寄存器(R0,R1,R4至R15)用于存放數(shù)據(jù)和地址; 16個寄存器中有4個為特殊用途,扮演重要角色,分別是: 程序計數(shù)器(R0)、堆棧指針(R1)、狀態(tài)寄存器(R2)、常數(shù)發(fā)生器(R3),MSP430F247結構-CPU-寄存器,MSP430F247結構-硬件乘法器,可采用的乘法操作有: 16位x 16位 16位x 8位 8位x 16位 8位x 8位,硬件乘法器模塊支持3種乘法 無符號數(shù)相乘(MPY); 有符號數(shù)相乘 (MPYS

7、); 無符號乘加 (MAC)。,硬件乘法器有2個存放操作數(shù)的16位的寄存器和3個存放相乘結果的寄存器。 只有當用戶將第一操作數(shù)在第二操作數(shù)之前存入操作數(shù)寄存器中,乘法操作才會被正確執(zhí)行。 當?shù)谝徊僮鲾?shù)寫入相應的寄存器時,乘法的種類即被確定。當用戶寫入第二個操作數(shù)時,乘法操作便開始執(zhí)行并在用戶用變址尋址模式讀結果寄存器之前結束。,MSP430F247結構-存儲器,MSP430存儲器空間采用“馮-諾依曼結構” 。 代碼存儲器( FLASH 、 ROM、EPROM、RAM)和數(shù)據(jù)存儲器(RAM、EEPROM、ROM)由同一組地址及數(shù)據(jù)總線安排在一個地址空間中。 總尋址空間在小存儲模式時為64KB,大

8、存儲模式時為1MB。 小存儲模式采用線性尋址空間。 大存儲模式時,代碼訪問的地址空間為16個64KB段,數(shù)據(jù)訪問的地址空間為16個64KB頁。 存儲器構成為64KB或更少時采用小存儲模式,安排在最低的64KB,這時不必考慮尋址時的代碼段和數(shù)據(jù)頁。,MSP430F247結構-存儲器,MSP430F247結構-存儲器,MSP430F247結構-存儲器,字節(jié)數(shù)據(jù)可以定位在偶地址或奇地址。 字數(shù)據(jù)定位在偶地址:低字節(jié)在偶地址,高字節(jié)在下一個奇地址。,MSP430F247結構-clock-時鐘源,LFXT1CLK:由低頻時鐘晶體或外接 32768Hz 時鐘源產(chǎn)生的低頻/高頻振蕩器或由標準晶體、振蕩器,或

9、外部400KHz16MHz的外部時鐘源提供。 XT2CLK:可供選擇的高頻振蕩器,由標準晶體、振蕩器,或外部 400KHz16MHz 的外部時鐘源提供。 DCOCLK:片內可數(shù)字控制的振蕩器。 VLOCLK:片內超低功耗、12KHz的低頻振蕩器,MSP430F247結構-clock-時鐘信號,ACLK:輔助時鐘。ACLK由軟件選擇來自LFXT1CLK和 VLOCLK 之一的時鐘信號。ACLK經(jīng) 1,2,4,8分頻后得到。ACLK 可由軟件選作各個外圍模塊。 MCLK:主時鐘。MCLK由軟件選擇來自LFXT1CLK,VLOCLK,XT2CLK(如果片內提供) ,DCOCLK 之一的時鐘信號。MC

10、LK 由 1,2,4,8分頻得到。MCLK 用于 CPU和系統(tǒng)。 SMCLK:子系統(tǒng)時鐘。SMCLK 由軟件選擇來自 LFXT1CLK,VLOCLK,XT2CLK(片內提供) ,DCOCLK 之一的時鐘信號。SMCLK 由 1,2,4,8 分頻得到。SMCLK 可由軟件選作各個外圍模塊。,時鐘輸出信號 ACLK 輔助時鐘 MCLK主系統(tǒng)時鐘 SMCLK子系統(tǒng)時鐘,慢速外設,CPU和 系統(tǒng),快速外設,MSP430F247-復位,MSP430F247-復位,POR信號是一個設備的復位信號,而且這個復位信號只能被以下的三種信號所產(chǎn)生: 1. 器件上電。 2. 復位模式配置的時候RST/NMI引腳上出

11、現(xiàn)低電平 當PORON =1 時,一個SVS 低狀態(tài)。 一個POR的信號產(chǎn)生將有一個PUC信號同時產(chǎn)生,但是POR信號不是由PUC信號所產(chǎn)生的。以下事件將觸發(fā)一個PUC信號: 1. 一個POR信號的產(chǎn)生。 2. 在WDT模式下,WDT定時器時間到。 3. WDT定時器寫入錯誤的安全鍵值。 4. FLASH存儲器寫入錯誤的安全鍵值。,MSP430F247-復位,系統(tǒng)復位之后設備的初始化條件 在復位模式時,RST/NMI引腳被配置 I/O引腳被設置為輸出,在數(shù)字I/O的章節(jié)有詳細的敘述 外圍設備模塊將被初始化,參照數(shù)據(jù)手冊相關的章節(jié) 狀態(tài)寄存器被復位 WDT定時器將會在WDT的模式下被激活 程序指

12、針將被載入到復位向量的區(qū)域(0FFFEh)。如果復位指針的向量指向0FFFFh時, 設備將進入最低功耗模式。,MSP430F247-復位-軟件初始化,系統(tǒng)復位之后,用戶必需使用軟件初始化設備以滿足自己的使用需求。以下列舉出了初始化必要的步驟: 初始化SP,RAM的最頂部 根據(jù)應用要求初始化WDT 根據(jù)應用的要求初始化外圍設備模塊,MSP430F247-復位-軟件初始化-實例,void main(void) WDTCTL = WDTPW + WDTHOLD; / 關閉看門狗 P1DIR |= 0 x01; / 設置P1.1口為輸出 for (;) volatile unsigned int i;

13、 P1OUT = 0 x01; / 反轉P1.0 使用異或 i = 50000; / 延時 do (i-); while (i != 0); ,MSP430F247-中斷,中斷的優(yōu)先級是固定的。中斷優(yōu)先級的是以各個模塊的連接關系來定義的,如圖所示。最靠近CPU的模塊是CPU/NMIRS模塊,具有最高的優(yōu)先級別。當系統(tǒng)同時有多個中斷時,將依據(jù)中斷優(yōu)先級別去決定執(zhí)行哪一個中斷。,1.系統(tǒng)中斷 2.不可屏蔽中斷 3.可屏蔽中斷,MSP430F247-中斷-中斷向量,結合用戶手冊,MSP430F247-中斷-中斷處理過程,中斷請求與響應; 1). 當前正在執(zhí)行的指令被執(zhí)行完成; 2). PC(目前正指

14、向的下一條指令)被壓入到堆棧中 3). SR被壓入到堆棧中 4). 如果有多個中斷請求等待處理,最高的優(yōu)先級的中斷被響應 5). 如果只有一個中斷請求,其中斷標志位將會被自動復位。而其余的n個 中斷標志位仍保持著置位,等待軟件來處理 6). 狀態(tài)寄存器SR被清除。這將終止任何低功耗模式。因為GIE位被清除,所以任何的中斷都不能發(fā)生 7).中斷向量中的地址將會被壓入到PC中,程序將從中斷處理函數(shù)開始的地址處繼續(xù)執(zhí)行。,MSP430F247-中斷-中斷處理過程,執(zhí)行中斷服務程序; 中斷返回 指令RETI (return from an interrupt service routine)將終止中斷

15、處理子程序。中斷返回將占用5個周期去執(zhí)行以下步驟: 1).壓入到堆棧中的SR的數(shù)據(jù)出棧,所有先前(中斷發(fā)生之前)的設置將有效,無論在中斷服務子程序中是如何設置的 2).PC出棧,從斷點處執(zhí)行程序。,MSP430F247-中斷-中斷嵌套,430默認的是關閉中斷嵌套的,除非在一個中斷程序中再次開總中斷EINT; 當進入中斷程序時,只要不在中斷中再次開中斷,則總中斷是關閉的,此時來中斷不管是比當前中斷的優(yōu)先級高還是低都不執(zhí)行; 若在中斷A中開了總中斷,則可以響應后來的中斷B(不管B的優(yōu)先級比A高還是低),B執(zhí)行完再繼續(xù)執(zhí)行A。注意:進入中斷B后總中斷同樣也會關閉,如果B中斷程序執(zhí)行時需響應中斷C,則

16、此時也要開總中斷,若不需響應中斷,則不用開中斷,B執(zhí)行完后跳出中斷程序進入A程序時,總中斷會自動打開; 若在中斷中開了總中斷,后來的中斷同時有多個,則會按優(yōu)先級來執(zhí)行,即中斷優(yōu)先級只有在多個中斷同時到來時才起做用!中斷服務不執(zhí)行搶先原則。 對于單源中斷,只要響應中斷,系統(tǒng)硬件自動清中斷標志位,對于TA/TB定時器的比較/捕獲中斷,只要訪問TAIV/TBIV,標志位倍被自動清除; 對于多源中斷要手動清標志位,比如P1/P2口中斷,要手工清除相應的標志,如果在這種中斷用EINT();開中斷,而在打開中斷前沒有清標志,就會有相同的中斷不斷嵌入,而導致堆棧溢出引起復位,所以在這類中斷中必須先清標志再打

17、開中斷開關.,MSP430F247-中斷-應用,初始化產(chǎn)生中斷的外設 打開外設級中斷;(系主任) 打開部中斷;(校長) 系統(tǒng)運行,直至中斷產(chǎn)生 中斷處理函數(shù);,MSP430F247-中斷-實例,void main (void) WDTCTL = WDTPW + WDTHOLD; / 關中斷 WDT P1DIR |= 0 x01; / P1.0 output CCTL0 = CCIE; / 使能CCR0 CCR0 = 20000; TACTL = TASSEL_2 + MC_1; / SMCLK, up mode _BIS_SR(LPM0_bits + GIE); / 進入 LPM0 使能總中斷

18、 interrupt / Timer A0 服務程序/#pragma vector=TIMERA0_VECTOR _interrupt void Timer_A (void); TIMERA0_ISR(Timer_A) _interrupt void Timer_A (void) P1OUT = 0 x01; / Toggle P1.0 ,MSP430F247-運行模式,MSP430系列單片機被設計用于超低功耗的應用,有多種運行模式可被使用,MSP430F247-運行模式,MSP430F247片上外設,MSP430F247片上外設,GPIO:P1-P6 定時器:16-Bit Timer_A(3

19、-Capture/Compare ) 16-Bit Timer_B(7-Capture/Compare ) 接口:2-USCI_A(UART/LIN/IrDA/SPI ) 2-USCI_B(I2C/SPI ) ADC:12bit(8-ch) 看門狗:1個,MSP430F247片上外設-學習內容,外設的基本特性及功能 外設的應用 (1)外設的控制寄存器; (2)外設的工作過程; (3)使用實例-實驗。,MSP430F247片上外設-使用過程,1.對外設進行初始化 (通過配置外設的控制寄存器實現(xiàn)) 2.打開外設的開關,讓外設工作起來; 3.在系統(tǒng)中進行外設應用操作 (如處理數(shù)據(jù),中斷響應);,MS

20、P430F247片上外設-GPIO,MSP430 器件擁有多達6組的數(shù)字輸入/輸出端口,P1P6。 每一個端口有8個輸入/輸出引腳。 每一個輸入/輸出引腳可以分別設置為輸入或者輸出方向,也就是說每一個輸入/輸出端口線可以分別設置為讀取或者寫入。 端口 P1和P2有中斷功能。 P1和 P2輸入/輸出端口線的中斷可以分別使能,并且可以設置在輸入信號的上升沿或下降沿產(chǎn)生中斷。 所有的 P1 輸入/輸出端口共用一個中斷向量,所有的P2輸入/輸出端口共用另一個不同的中斷向量。,MSP430F247片上外設-GPIO-特性,每個輸入/輸出位都可以獨立編程。 允許任意組合輸入、輸出。 P1和 P2所有 8個

21、位都可以分別設置為中斷。 可以獨立操作輸入和輸出數(shù)據(jù)寄存器。 可以分別設置上拉或下拉電阻。,MSP430F247片上外設-GPIO-操作,I/O控制寄存器 輸入寄存器 PxIN 輸出寄存器PxOUT 方向寄存器PxDIR 上拉/下拉電阻使能寄存器PxREN 功能選擇寄存器PxSEL P1和P2中斷控制寄存器,MSP430F247片上外設-GPIO-PxIN,當某個輸入/輸出引腳被設置為輸入/輸出功能時,這個輸入/輸出端口的 PxIN 寄存器的相應位反映了這個引腳的輸入信號的電平值。 Bit = 0 : 輸入為低電平 Bit = 1 : 輸入為高電平 !注意: 對這種只讀寄存器寫入,會在操作有效

22、期間增加電流損耗,MSP430F247片上外設-GPIO-PxOUT,當某個輸入/輸出引腳被設置為輸入/輸出功能、輸出方向和禁用上(下)拉電阻時,這個輸入/輸出端口的PxOUT 寄存器的相應位反映了這個引腳的輸出信號的電平值。 Bit = 0 : 輸出為低電平 Bit = 1 : 輸出為高電平 如果引腳的上拉(下拉)電阻使能,PxOUT 寄存器的相應位則表示是選擇上拉電阻還是選擇下拉電阻。 Bit = 0 : 引腳是下拉 Bit = 1 : 引腳是上拉,MSP430F247片上外設-GPIO-PxDIR,無論引腳選擇什么功能,每個 PxDIR寄存器的每一位都要選擇相應輸入/輸出引腳的方向。 被

23、選擇為其他功能(非輸入/輸出功能)的輸入/輸出引腳的 PxDIR 寄存器每個位的設置必須符合相應的功能要求。 Bit = 0 : 端口引腳被選擇為輸入方向 Bit = 1 : 端口引腳被選擇為輸出方向,MSP430F247片上外設-GPIO-PxREN,PxREN寄存器的每一位都可以使能或禁止相應輸入/輸出引腳的上拉(下拉)電阻。 當引腳被設置為上拉(下拉)電阻使能時,由 PxOUT 寄存器的相應位選擇該引腳是上拉電阻還是下拉電阻。 Bit = 0 : 上拉(下拉)電阻禁止 Bit = 1 : 上拉(下拉)電阻使能,MSP430F247片上外設-GPIO-PxSEL,端口引腳通常與其他外圍模塊

24、功能形成多功能復用引腳。參照詳細設計數(shù)據(jù)資料對引腳的功能進行選擇。PxSEL 寄存器的每一位都可以用來選擇引腳的功能是普通輸入/輸出端口還是外圍模塊功能。 Bit = 0 : 引腳選擇為輸入/輸出功能 Bit = 1 : 引腳選擇為外圍模塊功能,MSP430F247片上外設-P1/P2中斷,P1和 P2端口的每一個引腳都有中斷功能,由相關寄存器 PxIFG、PxIE和PxIES 進行設置。 所有的 P1 引腳共用一個中斷向量,所有的 P2 引腳共用另一個中斷向量。PxIFG 寄存器可以用來測試發(fā)生的中斷是來自P1 還是 P2。,MSP430F247片上外設-P1/P2-PxIFG,每一個PxI

25、FG寄存器的位是相應輸入/輸出引腳的中斷標志, 當相應的引腳有輸入信號發(fā)生時,中斷標志位置 1。當相應的 PxIE 位和 GIE 位置位, PxIFGX 中斷標志才能夠請求中斷。 每一個 PxIFG 標志必須由軟件進行復位。如果產(chǎn)生一個軟件初始化中斷,軟件也可以使 PxIFG 標志置位。 Bit = 0 : 沒有中斷產(chǎn)生 Bit = 1 : 有中斷產(chǎn)生 注意: 只有跳變電平才能引起中斷。,MSP430F247片上外設-P1/P2-PxIES,每一個PxIES位選擇相應的輸入/輸出引腳中斷沿。 Bit = 0 : 電平由低到高跳變時PxIFGx標志置位 Bit = 1 : 電平由高到底跳變時Px

26、IFGx標志置位 注意: 寫P1IES或 P2IES 寄存器都會使相應的中斷標志置位。 PxIES PxINx PxIFGx 0 1 0 可以置位 0 1 1 不能改變 1 0 0 不能改變 1 0 1 可以置位,MSP430F247片上外設-P1/P2-PxIE,每一個 PxIE 位使能相關的PxIFG中斷標志置位。 Bit = 0 : 中斷禁止 Bit = 1 : 中斷使能,注意:未使用引腳配置 未使用的輸入/輸出引腳應當設置為輸入/輸出功能,輸出方向,并且不能連接到PC板上,以防止產(chǎn)生變化的輸入信號,同時還可以降低功率損耗。 既然引腳沒有連接, 我們就不必關心PxOUT位的值。同樣的,我

27、們還可以置位未用引腳的PxREN位,使能完整的上拉/下拉電阻來防止可變輸入信號的產(chǎn)生。,MSP430F247片上外設-GPIO-應用實例,void main(void) WDTCTL = WDTPW + WDTHOLD; / 關閉看門狗 P1DIR |= 0 x01; / 設置P1.1口為輸出 for (;) volatile unsigned int i; P1OUT = 0 x01; / 反轉P1.0 使用異或 i = 50000; / 延時 do (i-); while (i != 0); ,MSP430F247片上外設-TimerA-介紹,TimerA是一個16位的定時/計數(shù)器,最多擁

28、有3 個捕獲/比較寄存器。 TimerA可以支持捕獲/比較功能、PWM輸出和定時器功能。 TimerA還有擴展中斷的功能,中斷可以由定時器溢出產(chǎn)生或捕獲比較寄存器產(chǎn)生。,4種操作模式的異步16位定時/計數(shù)器 可選擇配置的時鐘源 2個或3個可配置的捕獲/比較器 可配置的 PWM輸出 異步輸入和輸出鎖存 對所有 TimerA中斷快速響應的中斷向量寄存器,MSP430F247片上外設-TimerA-時鐘,時鐘源 定時器的時鐘源可以是 內部時鐘源ACLK, SMCLK, 外部源TACLK , INCLK。 時鐘源由 TASSEL位來選擇, 分頻 所選擇的時鐘可以 通過IDx位進行 2、4 或8分頻,

29、當TACLR 置位時,分頻器復位。,MSP430F247片上外設-TimerA-啟動,定時器可以通過以下2種方式啟動或重新啟動: 當定時器計數(shù)到 MCX0并且時鐘源處于活動狀態(tài)時 當定時器模式為 up或 up/down模式時(即單調增和增減模式) ,定時器可以通過寫 0到 TACCR0來停止計數(shù)。定時器可以通過寫一個非0 的數(shù)值來重新開始計數(shù)。在這種情況下,定時器從0開始增計數(shù)。,MSP430F247片上外設-TimerA-模式,定時器有4種操作模式,他們分別是停止、單調增、連續(xù)和增減模式。 操作模式由 MCx 位來選擇。,TimerA-單調增模式,單調增模式用于計數(shù)周期不是0FFFFH的情況

30、。 定時器重復增計數(shù)值寄存器TACCR0的值,而 TACCR0的值取決于定時周期,如圖 ,定時器計數(shù)周期為 TACCR0+1。當定時器的值等于 TACCR0時,定時器就回到0重新計數(shù)。如果當定時器的值大于TACCR0,而此時選擇單調增模式,定時器立即從0重新開始計數(shù),當定時器計數(shù)到TACCR0的值時,中斷標志CCIFG 位置位。 當定時器由TACCR0返回0時,TAIFG中斷標志置位。,TimerA-連續(xù)模式,在連續(xù)模式中,定時器重復計數(shù)到0FFFFH,然后重新從 0開始增計數(shù),如圖 。捕獲比較寄存器TACCR0以及其他捕獲比較器工作方式一樣。,當定時器從 0FFFFH到 0時,TAIFG 中

31、斷標志置位,TimerA-增減模式,增減模式在定時器周期不是 0FFFFH 且需要產(chǎn)生對稱的脈沖時使用。定時器增計數(shù)到 TACCR0再從TACCR0減計數(shù)到 0,如圖,周期是TACCR0值的2倍 該模式下,計數(shù)方向是固定的,即讓定時器停止后再重新啟動定時器,它就會沿著停止時的計數(shù)方向和數(shù)值開始計數(shù)。如果要從0開始, 就需要將 TACLR 置位來清除方向。TACLR 位也會清除TAR的值和定時器的時鐘分頻,當定時器計數(shù)到由TACCR01 變到TACCR0時,CCIFG 置位; 而定時器完成減計數(shù)從 0001h到 0000h時,TAIFG 置位。,TimerA-寄存器,TimerA-應用實例,vo

32、id main (void) WDTCTL = WDTPW + WDTHOLD; / 關中斷 WDT P1DIR |= 0 x01; / P1.0 output CCTL0 = CCIE; / 使能CCR0 CCR0 = 20000; TACTL = TASSEL_2 + MC_1; /選擇時鐘源SMCLK, 向上計數(shù)模式 _BIS_SR(LPM0_bits + GIE); / 進入 LPM0 使能總中斷 interrupt / Timer A0 服務程序/#pragma vector=TIMERA0_VECTOR _interrupt void Timer_A (void); TIMERA0

33、_ISR(Timer_A) _interrupt void Timer_A (void) P1OUT = 0 x01; / Toggle P1.0 ,MSP430F247片上外設-USCI-概要,通用串行通信接口(USCI) 模塊支持多種異步通信模式。不同的USCI模塊支持不同的模式。 每一個USCI 模塊以不同的字母命名。例如,USCI_A不同于 USCI_B等等。 USCI_Ax 模塊支持: UART模式 脈沖調整的 IRDA 通信 自動波特率檢測的 LIN通信 SPI 模式 USCI_Bx 模塊支持: I2C 模式 SPI 模式,MSP430F247片上外設-USCI-特性,在異步模式中

34、, USCI_Ax 模塊是通過兩個外部引腳連接 MSP430到外部系統(tǒng),分別是UCAXRXD和UCAXTXD。 當UCSYNC位被清零時UART模式被選擇。,7 位或8 位的奇,偶,或無校驗。 獨立的發(fā)送和接收寄存器 單獨的發(fā)送和接收緩存寄存器 LSB-first 或 MSB-first數(shù)據(jù)發(fā)送或接收 多機系統(tǒng)中內置空閑線和地址位通信 接收機開始邊沿檢測并從LMPX模式中自動喚醒 可編程對模塊設置波特率并支持小數(shù)位的波特率 狀態(tài)標志的錯誤檢測和消除 狀態(tài)標志的地址監(jiān)測 l獨立的接收中斷和發(fā)送中斷,MSP430F247片上外設-UART,在 UART 模式下,USCI 的發(fā)送和接收字符每次一位的

35、異步速率到另一個設備。字符傳輸?shù)臅r間取決于USCI 的波特率選擇。傳輸和接收功能使用相同的波特率。 USCI在 PUC 后或者通過設置 UCSWRST位。 在PUC后,UCSWRST 位自動置位,保持 USCI 在復位狀態(tài)。 當置位時,UCSWRST位復位UCAXRXIE,UCAXTXIE,UCAXRXIFG,UCRXERR,UCBRK,UCPEUCOE,UCFE,UCSTOE 和 UCBTOE位并置UCAXTXIFG位。 清除 UCSWRST 位釋放UCSI的操作,MSP430F247片上外設-UART-配置過程,相應的 USCI 初始化/重配置的過程如下 1.設置 UCSWRST 2.UC

36、SWRST=1 時初始化所有的UCSI 寄存器(包括 UCAXCTL1) 3.配置端口 4.軟件清除 UCSWRST 5.通過 UCAXRXIE和/或 UCAXTXIE允許中斷(可選),MSP430F247片上外設-UART-字符格式,UART的字符格式展示在表中,包括一 個開始位, 7或8 個數(shù)據(jù)位, 一個奇/偶/無校驗位, 一個地址位(地址位模式) , 一個或兩個停止位。 UCMSB 位控制傳輸?shù)姆较蛞约斑x擇 LSB或MSB的優(yōu)先。必須滿足UART通信才能 LSB-FIRST。,MSP430F247片上外設-UART-波特率,MSP430F247片上外設-UART-波特率,USCI 波特率

37、發(fā)生器能從非標準源頻率中產(chǎn)生一個標準的波特率。通過 UCOS16 位提供兩種操作選擇 。 對于給定的BRCLK,波特率有除數(shù)因子 N決定,除數(shù)因子 N通常不是一個整數(shù)值因此至少需要一個除法器和一個調制器去調整波特率。,波特率誤差,MSP430F247片上外設-UART-模式,UCSYNC BIT0 同步模式使能 0 異步模式 1 同步模式 UCMODEX BIT2-1 USCI模式。當 UCSYNC=0時 UCMODEX可選擇的異步模式 00 USART模式 01 空閑線多機模式 02 地址位多機模式 03 UART自動波特率探測模式 當三個或更多的設備通信時,USCI支持空閑線和地址位多機的

38、通信格式。,MSP430F247片上外設-UART-模式,線路空閑多機模式,MSP430F247片上外設-UART-模式,地址位多機模式,MSP430F247片上外設-UART-中斷,USCI有一個發(fā)送中斷向量和接收中斷向量。 USCI發(fā)送中斷操作 UCAXTXIFG 中斷標志被發(fā)送器置位表示UCAXTXBUF準備存放下一個字符。如果 UCAXTXIE 和GIE也置位將產(chǎn)生一個中斷請求。如果字符被寫到 UCAXTXBUF 中 UCAXTXIFG將自動復位。 USC接收中斷操作 一個字符被接受并裝載到UCAXRXBUF中時 UCAXRXIFG中斷標志置位一次。如果 UCAXRXIE和GIE置位將

39、產(chǎn)生一個中斷請求。 復位 PUC信號或者UCSWRST=1時UCAXRXIFG和 UCAXRXIE 將被系統(tǒng)復位。當 UCAXRXBUF被讀時 UCAXRXIFG 將自動復位。,MSP430F247片上外設-UART-中斷,其他的中斷控制特性包括: 在 UCAXRXEIE=0時錯誤字符不會置位UCAXRXIFG。 在 UCDORM=1 時,在多處理機模式下非地址字符不會置位 UCAXRXIFG。 當 UCBRKIE=1 時一個中斷條件將置位UCBRK 位和 UCAXRXIFG標志。 USCI 中斷用法 USCI_AX 和 USCI_BX 使用同一個中斷向量。 接收中斷標志 UCAxRXIFG 和 UCBxRXIFG 和同一個中斷向量連接, 發(fā)送中斷標志 UCAxTXIFG 和UCBxTXIFG

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論