版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MSP430系列系列16位單片機(jī)位單片機(jī)原理與應(yīng)用原理與應(yīng)用許文建許文建華中科技大學(xué)光電國家實(shí)驗(yàn)室華中科技大學(xué)光電國家實(shí)驗(yàn)室Email:Page 2教學(xué)內(nèi)容教學(xué)內(nèi)容MSP430單片機(jī)結(jié)構(gòu)單片機(jī)結(jié)構(gòu)(1)內(nèi)核結(jié)構(gòu)、中斷向量?jī)?nèi)核結(jié)構(gòu)、中斷向量(2)片面外圍模塊片面外圍模塊MSP430指令系統(tǒng)與程序設(shè)計(jì)指令系統(tǒng)與程序設(shè)計(jì)(1)指令集指令集(2)開發(fā)環(huán)境開發(fā)環(huán)境MSP430單片機(jī)應(yīng)用單片機(jī)應(yīng)用(1)MSP430F247最小系統(tǒng)板最小系統(tǒng)板(2)MSP430實(shí)驗(yàn)實(shí)驗(yàn)Page 3教學(xué)目的教學(xué)目的了解了解MSP430的基本資源的基本資源;學(xué)會(huì)使用學(xué)會(huì)使用IAR-EW430開發(fā)環(huán)境開發(fā)環(huán)境;學(xué)會(huì)使用學(xué)會(huì)使用M
2、SP430F247單片機(jī)片上外設(shè)單片機(jī)片上外設(shè);能夠使用能夠使用MSP430進(jìn)行應(yīng)用開發(fā)進(jìn)行應(yīng)用開發(fā);對(duì)對(duì)MSP430單片機(jī)深入學(xué)習(xí)的能力單片機(jī)深入學(xué)習(xí)的能力;Page 4學(xué)習(xí)方法學(xué)習(xí)方法=搞懂原理搞懂原理+多做實(shí)驗(yàn)多做實(shí)驗(yàn)學(xué)習(xí)使用單片機(jī)的學(xué)習(xí)使用單片機(jī)的8 8步步( (網(wǎng)上論壇總結(jié)網(wǎng)上論壇總結(jié)) ) 第一步:數(shù)字第一步:數(shù)字I/OI/O的使用的使用 第二步:定時(shí)器的使用第二步:定時(shí)器的使用 第三步:中斷第三步:中斷 第四步:與第四步:與PCPC機(jī)進(jìn)行機(jī)進(jìn)行RS232RS232通信通信 第五步:學(xué)會(huì)第五步:學(xué)會(huì)A/DA/D轉(zhuǎn)換轉(zhuǎn)換 第六步:學(xué)會(huì)第六步:學(xué)會(huì)SPISPI、I2CI2C接口和液晶顯
3、示器接口接口和液晶顯示器接口第七步:學(xué)會(huì)比較、捕捉、第七步:學(xué)會(huì)比較、捕捉、PWMPWM功能功能 第八步:學(xué)習(xí)第八步:學(xué)習(xí)USBUSB接口、接口、TCP/IPTCP/IP接口、各種工業(yè)總線的硬件與接口、各種工業(yè)總線的硬件與軟件設(shè)計(jì)軟件設(shè)計(jì) Page 5C語言語言微機(jī)原理微機(jī)原理單片機(jī)原理與應(yīng)用單片機(jī)原理與應(yīng)用先修課程先修課程電子書電子書數(shù)據(jù)手冊(cè)數(shù)據(jù)手冊(cè)用戶手冊(cè)用戶手冊(cè) http:/ http:/ http:/ 6MSP430系列單片機(jī)概述系列單片機(jī)概述TI公司公司 MSP430 系列是一個(gè)系列是一個(gè) 16 位的功能強(qiáng)大的超低位的功能強(qiáng)大的超低功耗類型微控制器,功耗類型微控制器, 特別適合于電池
4、應(yīng)用的場(chǎng)合;特別適合于電池應(yīng)用的場(chǎng)合;而且該系列將大量的外圍模塊整合到片內(nèi),也特別適而且該系列將大量的外圍模塊整合到片內(nèi),也特別適合于設(shè)計(jì)單片系統(tǒng);合于設(shè)計(jì)單片系統(tǒng);同時(shí)同時(shí)MSP430 有豐富的不同類型器件可供選擇,給有豐富的不同類型器件可供選擇,給設(shè)計(jì)者帶來很大的靈活性設(shè)計(jì)者帶來很大的靈活性Page 7MSP430產(chǎn)品系列產(chǎn)品系列(250)x1xx 8MHz 系列系列 (36) x2xx 16MHz 系列系列 (39) G2xx 值系列值系列 (9) 3xx 傳統(tǒng)傳統(tǒng) 8MHz 系列系列 (16) x4xx 8/16MHz LCD 系列系列 (89) x5xx 25MHz 系列系列 (53
5、) CC430 RF SoC系列系列 (8) Page 8MSP430產(chǎn)品系列產(chǎn)品系列Page 9主要特征主要特征超低功耗超低功耗架構(gòu)和靈活的時(shí)鐘系統(tǒng)可延長電池的使用壽命,且功耗低至: 0.1A RAM 保持模式 0.7A RTC 模式 165A/MIPS 集成智能外設(shè)集成智能外設(shè)(包括各種高性能模擬和數(shù)字外設(shè))可轉(zhuǎn)移 CPU 上的負(fù)載 16 位位 RISC CPU 架構(gòu)架構(gòu) 借助業(yè)界領(lǐng)先的代碼密度實(shí)現(xiàn)全新應(yīng)用 簡(jiǎn)單易用:簡(jiǎn)單易用:全套開發(fā)工具起始價(jià)僅為 20 美元 Page 10集成外設(shè)集成外設(shè) 10/12 位 SAR ADC 16 位 - ADC 12 位 DAC 比較器 LCD 驅(qū)動(dòng)器
6、電源電壓監(jiān)控器 (SVS) 運(yùn)算放大器 16 位和 8 位定時(shí)器 LDO/PMM RF 看門狗定時(shí)器 UART/LIN I2C SPI IrDA USB 硬件乘法器 DMA 控制器 溫度傳感器 實(shí)時(shí)時(shí)鐘 Page 11MSP430F247特征特征 工作電壓工作電壓:1.8-3.6V(3.3V) Frequency:16MHz Flash:32KB RAM:4KB GPIO:48 封裝封裝:LQPF-64 ADC:12bit(8-ch) 接口接口:2-USCI_A(UART/LIN/IrDA/SPI )2-USCI_B(I2C/SPI ) 定時(shí)器定時(shí)器:16-Bit Timer_A(3-Capt
7、ure/CompareRegisters );16-Bit Timer_B(7-Capture/Compare) 看門狗看門狗:1個(gè)個(gè) JTAG:1個(gè)個(gè)Page 12MSP430F247結(jié)構(gòu)結(jié)構(gòu)Page 13MSP430F247結(jié)構(gòu)結(jié)構(gòu)基本架構(gòu):馮-諾依曼CPU:16位;硬件乘法器儲(chǔ)存器時(shí)鐘系統(tǒng)JTAG調(diào)試端口片上外設(shè)(1)數(shù)字外設(shè)(2)模擬外設(shè)Page 14MSP430F247結(jié)構(gòu)結(jié)構(gòu)-CPU中央處理單元采用了精簡(jiǎn)的、高透明的、高效率的中央處理單元采用了精簡(jiǎn)的、高透明的、高效率的正交設(shè)計(jì)正交設(shè)計(jì)它包括一個(gè)它包括一個(gè)16位位的的ALU(算術(shù)邏輯運(yùn)算單元);(算術(shù)邏輯運(yùn)算單元); 16個(gè)寄存器;
8、個(gè)寄存器;一個(gè)指令控制單元;一個(gè)指令控制單元;Page 15 16個(gè)16位寄存器(R0,R1,R4至R15)用于存放數(shù)據(jù)和地址; 16個(gè)寄存器中有4個(gè)為特殊用途,扮演重要角色,分別是: 程序計(jì)數(shù)器(R0)、堆棧指針(R1)、狀態(tài)寄存器(R2)、常數(shù)發(fā)生器(R3)MSP430F247結(jié)構(gòu)結(jié)構(gòu)-CPU-寄存器寄存器Page 16MSP430F247結(jié)構(gòu)結(jié)構(gòu)-硬件乘法器硬件乘法器可采用的乘法操作有: 16位x 16位 16位x 8位 8位x 16位 8位x 8位硬件乘法器模塊支持3種乘法 無符號(hào)數(shù)相乘(MPY); 有符號(hào)數(shù)相乘 (MPYS); 無符號(hào)乘加 (MAC)。 硬件乘法器有2個(gè)存放操作數(shù)的1
9、6位的寄存器和3個(gè)存放相乘結(jié)果的寄存器。 只有當(dāng)用戶將第一操作數(shù)在第二操作數(shù)之前存入操作數(shù)寄存器中,乘法操作才會(huì)被正確執(zhí)行。 當(dāng)?shù)谝徊僮鲾?shù)寫入相應(yīng)的寄存器時(shí),乘法的種類即被確定。當(dāng)用戶寫入第二個(gè)操作數(shù)時(shí),乘法操作便開始執(zhí)行并在用戶用變址尋址模式讀結(jié)果寄存器之前結(jié)束。Page 17MSP430F247結(jié)構(gòu)結(jié)構(gòu)-存儲(chǔ)器存儲(chǔ)器MSP430存儲(chǔ)器空間采用“馮-諾依曼結(jié)構(gòu)” 。代碼存儲(chǔ)器( FLASH 、 ROM、EPROM、RAM)和數(shù)據(jù)存儲(chǔ)器(RAM、EEPROM、ROM)由同一組地址及數(shù)據(jù)總線安排在一個(gè)地址空間中??倢ぶ房臻g在小存儲(chǔ)模式時(shí)為64KB,大存儲(chǔ)模式時(shí)為1MB。小存儲(chǔ)模式采用線性尋址空間
10、。大存儲(chǔ)模式時(shí),代碼訪問的地址空間為16個(gè)64KB段,數(shù)據(jù)訪問的地址空間為16個(gè)64KB頁。存儲(chǔ)器構(gòu)成為64KB或更少時(shí)采用小存儲(chǔ)模式,安排在最低的64KB,這時(shí)不必考慮尋址時(shí)的代碼段和數(shù)據(jù)頁。Page 18MSP430F247結(jié)構(gòu)結(jié)構(gòu)-存儲(chǔ)器存儲(chǔ)器Page 19MSP430F247結(jié)構(gòu)結(jié)構(gòu)-存儲(chǔ)器存儲(chǔ)器Page 20MSP430F247結(jié)構(gòu)結(jié)構(gòu)-存儲(chǔ)器存儲(chǔ)器 字節(jié)數(shù)據(jù)可以定位在偶地址或奇地址。 字?jǐn)?shù)據(jù)定位在偶地址:低字節(jié)在偶地址,高字節(jié)在下一個(gè)奇地址。Page 21MSP430F247結(jié)構(gòu)結(jié)構(gòu)-clock-時(shí)鐘源時(shí)鐘源LFXT1CLK:由低頻時(shí)鐘晶體或外接 32768Hz 時(shí)鐘源產(chǎn)生的低頻/
11、高頻振蕩器或由標(biāo)準(zhǔn)晶體、振蕩器,或外部400KHz16MHz的外部時(shí)鐘源提供。 XT2CLK:可供選擇的高頻振蕩器,由標(biāo)準(zhǔn)晶體、振蕩器,或外部 400KHz16MHz 的外部時(shí)鐘源提供。 DCOCLK:片內(nèi)可數(shù)字控制的振蕩器。 VLOCLK:片內(nèi)超低功耗、12KHz的低頻振蕩器Page 22MSP430F247結(jié)構(gòu)結(jié)構(gòu)-clock-時(shí)鐘信號(hào)時(shí)鐘信號(hào)ACLK:輔助時(shí)鐘。ACLK由軟件選擇來自LFXT1CLK和 VLOCLK 之一的時(shí)鐘信號(hào)。ACLK經(jīng) 1,2,4,8分頻后得到。ACLK 可由軟件選作各個(gè)外圍模塊。 MCLK:主時(shí)鐘。MCLK由軟件選擇來自LFXT1CLK,VLOCLK,XT2CL
12、K(如果片內(nèi)提供) ,DCOCLK 之一的時(shí)鐘信號(hào)。MCLK 由 1,2,4,8分頻得到。MCLK 用于 CPU和系統(tǒng)。 SMCLK:子系統(tǒng)時(shí)鐘。SMCLK 由軟件選擇來自 LFXT1CLK,VLOCLK,XT2CLK(片內(nèi)提供) ,DCOCLK 之一的時(shí)鐘信號(hào)。SMCLK 由 1,2,4,8 分頻得到。SMCLK 可由軟件選作各個(gè)外圍模塊。Page 23Page 24MSP430F247-復(fù)位復(fù)位Page 25MSP430F247-復(fù)位復(fù)位POR信號(hào)是一個(gè)設(shè)備的復(fù)位信號(hào),而且這個(gè)復(fù)位信號(hào)只能被以下的三種信號(hào)所產(chǎn)生: 1. 器件上電。 2. 復(fù)位模式配置的時(shí)候RST/NMI引腳上出現(xiàn)低電平 3
13、. 當(dāng)PORON =1 時(shí),一個(gè)SVS 低狀態(tài)。一個(gè)POR的信號(hào)產(chǎn)生將有一個(gè)PUC信號(hào)同時(shí)產(chǎn)生,但是POR信號(hào)不是由PUC信號(hào)所產(chǎn)生的。以下事件將觸發(fā)一個(gè)PUC信號(hào): 1. 一個(gè)POR信號(hào)的產(chǎn)生。 2. 在WDT模式下,WDT定時(shí)器時(shí)間到。 3. WDT定時(shí)器寫入錯(cuò)誤的安全鍵值。 4. FLASH存儲(chǔ)器寫入錯(cuò)誤的安全鍵值。 Page 26MSP430F247-復(fù)位復(fù)位系統(tǒng)復(fù)位之后設(shè)備的初始化條件系統(tǒng)復(fù)位之后設(shè)備的初始化條件 在復(fù)位模式時(shí),RST/NMI引腳被配置 I/O引腳被設(shè)置為輸出,在數(shù)字I/O的章節(jié)有詳細(xì)的敘述 外圍設(shè)備模塊將被初始化,參照數(shù)據(jù)手冊(cè)相關(guān)的章節(jié) 狀態(tài)寄存器被復(fù)位 WDT定時(shí)
14、器將會(huì)在WDT的模式下被激活 程序指針將被載入到復(fù)位向量的區(qū)域(0FFFEh)。如果復(fù)位指針的向量指向0FFFFh時(shí),設(shè)備將進(jìn)入最低功耗模式。Page 27MSP430F247-復(fù)位復(fù)位-軟件初始化軟件初始化 系統(tǒng)復(fù)位之后,用戶必需使用軟件初始化設(shè)備以滿足自己的使用需求。以下列舉出了初始化必要的步驟:初始化SP,RAM的最頂部 根據(jù)應(yīng)用要求初始化WDT 根據(jù)應(yīng)用的要求初始化外圍設(shè)備模塊Page 28MSP430F247-復(fù)位復(fù)位-軟件初始化軟件初始化-實(shí)例實(shí)例 void main(void) WDTCTL = WDTPW + WDTHOLD; / 關(guān)閉看門狗關(guān)閉看門狗 P1DIR |= 0 x
15、01; / 設(shè)置設(shè)置P1.1口為輸出口為輸出 for (;) volatile unsigned int i; P1OUT = 0 x01; / 反轉(zhuǎn)反轉(zhuǎn)P1.0 使用異或使用異或 i = 50000; / 延時(shí)延時(shí) do (i-); while (i != 0); Page 29MSP430F247-中斷中斷 中斷的優(yōu)先級(jí)是固定的。中斷優(yōu)先級(jí)的是以各個(gè)模塊的連接關(guān)系來定義的,如圖所示。最靠近CPU的模塊是CPU/NMIRS模塊,具有最高的優(yōu)先級(jí)別。當(dāng)系統(tǒng)同時(shí)有多個(gè)中斷時(shí),將依據(jù)中斷優(yōu)先級(jí)別去決定執(zhí)行哪一個(gè)中斷。1.系統(tǒng)中斷 2.不可屏蔽中斷3.可屏蔽中斷 Page 30MSP430F247-
16、中斷中斷-中斷向量中斷向量結(jié)合用戶手冊(cè)Page 31MSP430F247-中斷中斷-中斷處理過程中斷處理過程中斷請(qǐng)求與響應(yīng);中斷請(qǐng)求與響應(yīng);1). 當(dāng)前正在執(zhí)行的指令被執(zhí)行完成;2). PC(目前正指向的下一條指令)被壓入到堆棧中 3). SR被壓入到堆棧中 4). 如果有多個(gè)中斷請(qǐng)求等待處理,最高的優(yōu)先級(jí)的中斷被響應(yīng) 5). 如果只有一個(gè)中斷請(qǐng)求,其中斷標(biāo)志位將會(huì)被自動(dòng)復(fù)位。而其余的n個(gè) 中斷標(biāo)志位仍保持著置位,等待軟件來處理 6). 狀態(tài)寄存器SR被清除。這將終止任何低功耗模式。因?yàn)镚IE位被清除,所以任何的中斷都不能發(fā)生 7).中斷向量中的地址將會(huì)被壓入到PC中,程序?qū)闹袛嗵幚砗瘮?shù)開始
17、的地址處繼續(xù)執(zhí)行。Page 32MSP430F247-中斷中斷-中斷處理過程中斷處理過程執(zhí)行中斷服務(wù)程序;執(zhí)行中斷服務(wù)程序;中斷返回中斷返回 指令RETI (return from an interrupt service routine)將終止中斷處理子程序。中斷返回將占用5個(gè)周期去執(zhí)行以下步驟: 1).壓入到堆棧中的SR的數(shù)據(jù)出棧,所有先前(中斷發(fā)生之前)的設(shè)置將有效,無論在中斷服務(wù)子程序中是如何設(shè)置的 2).PC出棧,從斷點(diǎn)處執(zhí)行程序。 Page 33Page 34MSP430F247-中斷中斷-中斷嵌套中斷嵌套 430默認(rèn)的是關(guān)閉中斷嵌套的,除非在一個(gè)中斷程序中再次開總中斷EINT;
18、當(dāng)進(jìn)入中斷程序時(shí),只要不在中斷中再次開中斷,則總中斷是關(guān)閉的,此時(shí)來中斷不管是比當(dāng)前中斷的優(yōu)先級(jí)高還是低都不執(zhí)行; 若在中斷A中開了總中斷,則可以響應(yīng)后來的中斷B(不管(不管B的優(yōu)先級(jí)比的優(yōu)先級(jí)比A高還高還是低)是低),B執(zhí)行完再繼續(xù)執(zhí)行A。注意:進(jìn)入中斷B后總中斷同樣也會(huì)關(guān)閉,如果B中斷程序執(zhí)行時(shí)需響應(yīng)中斷C,則此時(shí)也要開總中斷,若不需響應(yīng)中斷,則不用開中斷,B執(zhí)行完后跳出中斷程序進(jìn)入A程序時(shí),總中斷會(huì)自動(dòng)打開; 若在中斷中開了總中斷,后來的中斷同時(shí)同時(shí)有多個(gè),則會(huì)按優(yōu)先級(jí)來執(zhí)行,即中斷優(yōu)先級(jí)只有在多個(gè)中斷同時(shí)到來時(shí)才起做用!中斷服務(wù)不執(zhí)行搶先原則。 對(duì)于單源中斷,只要響應(yīng)中斷,系統(tǒng)硬件自動(dòng)
19、清中斷標(biāo)志位,對(duì)于TA/TB定時(shí)器的比較/捕獲中斷,只要訪問TAIV/TBIV,標(biāo)志位倍被自動(dòng)清除; 對(duì)于多源中斷要手動(dòng)清標(biāo)志位,比如P1/P2口中斷,要手工清除相應(yīng)的標(biāo)志,如果在這種中斷用EINT();開中斷,而在打開中斷前沒有清標(biāo)志,就會(huì)有相同的中斷不斷嵌入,而導(dǎo)致堆棧溢出引起復(fù)位,所以在這類中斷中必須先清標(biāo)志再打開中斷開關(guān). Page 35MSP430F247-中斷中斷-應(yīng)用應(yīng)用初始化產(chǎn)生中斷的外設(shè)初始化產(chǎn)生中斷的外設(shè)打開外設(shè)級(jí)中斷;(系主任)打開外設(shè)級(jí)中斷;(系主任)打開部中斷;(校長)打開部中斷;(校長)系統(tǒng)運(yùn)行,直至中斷產(chǎn)生系統(tǒng)運(yùn)行,直至中斷產(chǎn)生中斷處理函數(shù)中斷處理函數(shù);Page
20、36MSP430F247-中斷中斷-實(shí)例實(shí)例 void main (void) WDTCTL = WDTPW + WDTHOLD; / 關(guān)中斷關(guān)中斷 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); / 進(jìn)入進(jìn)入 LPM0 使能總中斷使能總中斷 interrupt / Timer A0 服務(wù)程序服務(wù)程序/#pragma vector=TIMERA0_VECTOR _
21、interrupt void Timer_A (void); TIMERA0_ISR(Timer_A) _interrupt void Timer_A (void) P1OUT = 0 x01; / Toggle P1.0 Page 37MSP430F247-運(yùn)行模式運(yùn)行模式 MSP430系列單片機(jī)被設(shè)計(jì)用于超低功耗的應(yīng)用,有多種運(yùn)行模式可被使用SCG1SCG0OSCOFFCPUOFFModeCPU和時(shí)鐘狀態(tài)0000活動(dòng)活動(dòng)CPU是活動(dòng)的, 所有時(shí)鐘是允許活動(dòng)的 0001LPM0 CPU, MCLK 被禁止。SMCLK , ACLK 是活動(dòng)的。0101LPM1CPU, MCLK, DCO os
22、c被禁止。如果DCO不使MCLK 或SMCLK 在活動(dòng)模式,DC產(chǎn)生器是被禁止。 SMCLK , ACLK活動(dòng)1001LPM2CPU, MCLK, SMCLK, DCO osc 被禁止。 DC產(chǎn)生器保護(hù)允許ACLK活動(dòng)。1101LPM3 CPU, MCLK, SMCLK, DCO osc被禁止。 DC 產(chǎn)生器 被禁止。ACLK活動(dòng)。1111LPM4CPU和所有時(shí)鐘是被禁止。Page 38MSP430F247-運(yùn)行模式運(yùn)行模式Page 39MSP430F247片上外設(shè)片上外設(shè)Page 40MSP430F247片上外設(shè)片上外設(shè)GPIO:P1-P6定時(shí)器定時(shí)器:16-Bit Timer_A(3-Ca
23、pture/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個(gè)個(gè)Page 41MSP430F247片上外設(shè)片上外設(shè)-學(xué)習(xí)內(nèi)容學(xué)習(xí)內(nèi)容外設(shè)的基本特性及功能外設(shè)的基本特性及功能外設(shè)的應(yīng)用外設(shè)的應(yīng)用(1)外設(shè)的控制寄存器外設(shè)的控制寄存器;(2)外設(shè)的工作過程外設(shè)的工作過程;(3)使用實(shí)例使用實(shí)例-實(shí)驗(yàn)。實(shí)驗(yàn)。Page 42MSP430F247片上外設(shè)片上外設(shè)-使用過程使用過程1.1.對(duì)外設(shè)進(jìn)行初始化對(duì)外設(shè)進(jìn)行初始化
24、( (通過配置外設(shè)的控制寄存器實(shí)現(xiàn)通過配置外設(shè)的控制寄存器實(shí)現(xiàn)) )2.2.打開外設(shè)的開關(guān)打開外設(shè)的開關(guān), ,讓外設(shè)工作起來讓外設(shè)工作起來; ;3.3.在系統(tǒng)中進(jìn)行外設(shè)應(yīng)用操作在系統(tǒng)中進(jìn)行外設(shè)應(yīng)用操作 ( (如處理數(shù)據(jù)如處理數(shù)據(jù), ,中斷響應(yīng)中斷響應(yīng)););Page 43MSP430F247片上外設(shè)片上外設(shè)-GPIOMSP430 器件擁有多達(dá)6組的數(shù)字輸入/輸出端口,P1P6。每一個(gè)端口有8個(gè)輸入/輸出引腳。每一個(gè)輸入/輸出引腳可以分別設(shè)置為輸入或者輸出方向,也就是說每一個(gè)輸入/輸出端口線可以分別設(shè)置為讀取或者寫入。端口 P1和P2有中斷功能。P1和 P2輸入/輸出端口線的中斷可以分別使能,并
25、且可以設(shè)置在輸入信號(hào)的上升沿或下降沿產(chǎn)生中斷。所有的 P1 輸入/輸出端口共用一個(gè)中斷向量,所有的P2輸入/輸出端口共用另一個(gè)不同的中斷向量。Page 44MSP430F247片上外設(shè)片上外設(shè)-GPIO-特性特性每個(gè)輸入每個(gè)輸入/輸出位都可以獨(dú)立編程。輸出位都可以獨(dú)立編程。 允許任意組合輸入、輸出。允許任意組合輸入、輸出。 P1和和 P2所有所有 8個(gè)位都可以分別設(shè)置為中斷。個(gè)位都可以分別設(shè)置為中斷。 可以獨(dú)立操作輸入和輸出數(shù)據(jù)寄存器。可以獨(dú)立操作輸入和輸出數(shù)據(jù)寄存器。 可以分別設(shè)置上拉或下拉電阻??梢苑謩e設(shè)置上拉或下拉電阻。Page 45MSP430F247片上外設(shè)片上外設(shè)-GPIO-操作操
26、作I/O控制寄存器控制寄存器輸入寄存器輸入寄存器 PxIN 輸出寄存器輸出寄存器PxOUT方向寄存器方向寄存器PxDIR 上拉上拉/下拉電阻使能寄存器下拉電阻使能寄存器PxREN功能選擇寄存器功能選擇寄存器PxSELP1和和P2中斷控制寄存器中斷控制寄存器Page 46MSP430F247片上外設(shè)片上外設(shè)-GPIO-PxIN當(dāng)某個(gè)輸入/輸出引腳被設(shè)置為輸入/輸出功能時(shí),這個(gè)輸入/輸出端口的 PxIN 寄存器的相應(yīng)位反映了這個(gè)引腳的輸入信號(hào)的電平值。Bit = 0 : 輸入為低電平 Bit = 1 : 輸入為高電平!注意:!注意: 對(duì)這種只讀寄存器寫入,會(huì)在操作有效期間增加電流對(duì)這種只讀寄存器寫
27、入,會(huì)在操作有效期間增加電流損耗損耗Page 47MSP430F247片上外設(shè)片上外設(shè)-GPIO-PxOUT 當(dāng)某個(gè)輸入/輸出引腳被設(shè)置為輸入/輸出功能、輸出方向和禁用上(下)拉電阻時(shí),這個(gè)輸入/輸出端口的PxOUT 寄存器的相應(yīng)位反映了這個(gè)引腳的輸出信號(hào)的電平值。 Bit = 0 : 輸出為低電平 Bit = 1 : 輸出為高電平 如果引腳的上拉(下拉)電阻使能,PxOUT 寄存器的相應(yīng)位則表示是選擇上拉電阻還是選擇下拉電阻。 Bit = 0 : 引腳是下拉 Bit = 1 : 引腳是上拉Page 48MSP430F247片上外設(shè)片上外設(shè)-GPIO-PxDIR 無論引腳選擇什么功能,每個(gè) P
28、xDIR寄存器的每一位都要選擇相應(yīng)輸入/輸出引腳的方向。 被選擇為其他功能(非輸入/輸出功能)的輸入/輸出引腳的 PxDIR 寄存器每個(gè)位的設(shè)置必須符合相應(yīng)的功能要求。Bit = 0 : 端口引腳被選擇為輸入方向 Bit = 1 : 端口引腳被選擇為輸出方向Page 49MSP430F247片上外設(shè)片上外設(shè)-GPIO-PxREN PxREN寄存器的每一位都可以使能或禁止相應(yīng)輸入/輸出引腳的上拉(下拉)電阻。 當(dāng)引腳被設(shè)置為上拉(下拉)電阻使能時(shí),由 PxOUT 寄存器的相應(yīng)位選擇該引腳是上拉電阻還是下拉電阻。 Bit = 0 : 上拉(下拉)電阻禁止 Bit = 1 : 上拉(下拉)電阻使能
29、Page 50MSP430F247片上外設(shè)片上外設(shè)-GPIO-PxSEL 端口引腳通常與其他外圍模塊功能形成多功能復(fù)用引腳。參照詳細(xì)設(shè)計(jì)數(shù)據(jù)資料對(duì)引腳的功能進(jìn)行選擇。PxSEL 寄存器的每一位都可以用來選擇引腳的功能是普通輸入/輸出端口還是外圍模塊功能。 Bit = 0 : 引腳選擇為輸入/輸出功能 Bit = 1 : 引腳選擇為外圍模塊功能Page 51MSP430F247片上外設(shè)片上外設(shè)-P1/P2中斷中斷P1和和 P2端口的每一個(gè)引腳都有中斷功能,由相關(guān)寄存器端口的每一個(gè)引腳都有中斷功能,由相關(guān)寄存器 PxIFG、PxIE和和PxIES 進(jìn)行設(shè)置。進(jìn)行設(shè)置。所有的所有的 P1 引腳引腳共
30、用一個(gè)中斷向量共用一個(gè)中斷向量,所有的,所有的 P2 引腳共用另一引腳共用另一個(gè)中斷向量。個(gè)中斷向量。PxIFG 寄存器可以用來測(cè)試發(fā)生的中斷是來自寄存器可以用來測(cè)試發(fā)生的中斷是來自P1 還是還是 P2。Page 52MSP430F247片上外設(shè)片上外設(shè)-P1/P2-PxIFG每一個(gè)每一個(gè)PxIFG寄存器的位是相應(yīng)輸入寄存器的位是相應(yīng)輸入/輸出引腳的中斷標(biāo)志,輸出引腳的中斷標(biāo)志, 當(dāng)相應(yīng)的引腳有輸入信號(hào)發(fā)生時(shí),中斷標(biāo)志位置當(dāng)相應(yīng)的引腳有輸入信號(hào)發(fā)生時(shí),中斷標(biāo)志位置 1。當(dāng)相應(yīng)的。當(dāng)相應(yīng)的 PxIE 位和位和 GIE 位置位,位置位, PxIFGX 中斷標(biāo)志才能夠請(qǐng)求中斷。中斷標(biāo)志才能夠請(qǐng)求中斷
31、。每一個(gè)每一個(gè) PxIFG 標(biāo)志必須由標(biāo)志必須由軟件進(jìn)行復(fù)位軟件進(jìn)行復(fù)位。如果產(chǎn)生一個(gè)軟件。如果產(chǎn)生一個(gè)軟件初始化中斷,軟件也可以使初始化中斷,軟件也可以使 PxIFG 標(biāo)志置位。標(biāo)志置位。Bit = 0 : 沒有中斷產(chǎn)生沒有中斷產(chǎn)生 Bit = 1 : 有中斷產(chǎn)生有中斷產(chǎn)生 注意:注意: 只有跳變電平才能引起中斷。只有跳變電平才能引起中斷。Page 53MSP430F247片上外設(shè)片上外設(shè)-P1/P2-PxIES每一個(gè)每一個(gè)PxIES位選擇相應(yīng)的輸入位選擇相應(yīng)的輸入/輸出引腳中斷沿。輸出引腳中斷沿。 Bit = 0 : 電平由低到高跳變時(shí)電平由低到高跳變時(shí)PxIFGx標(biāo)志置位標(biāo)志置位 Bit
32、 = 1 : 電平由高到底跳變時(shí)電平由高到底跳變時(shí)PxIFGx標(biāo)志置位標(biāo)志置位 注意:注意:寫寫P1IES或或 P2IES 寄存器都會(huì)使相應(yīng)的中斷標(biāo)志置位。寄存器都會(huì)使相應(yīng)的中斷標(biāo)志置位。 PxIES PxINx PxIFGx 0 1 0 可以置位 0 1 1 不能改變 1 0 0 不能改變 1 0 1 可以置位 Page 54MSP430F247片上外設(shè)片上外設(shè)-P1/P2-PxIE 每一個(gè) PxIE 位使能相關(guān)的PxIFG中斷標(biāo)志置位。 Bit = 0 : 中斷禁止 Bit = 1 : 中斷使能 注意:未使用引腳配置注意:未使用引腳配置 未使用的輸入/輸出引腳應(yīng)當(dāng)設(shè)置為輸入/輸出功能,輸出
33、方向,并且不能連接到PC板上,以防止產(chǎn)生變化的輸入信號(hào),同時(shí)還可以降低功率損耗。既然引腳沒有連接, 我們就不必關(guān)心PxOUT位的值。同樣的,我們還可以置位未用引腳的PxREN位,使能完整的上拉/下拉電阻來防止可變輸入信號(hào)的產(chǎn)生。Page 55MSP430F247片上外設(shè)片上外設(shè)-GPIO-應(yīng)用實(shí)例應(yīng)用實(shí)例 void main(void) WDTCTL = WDTPW + WDTHOLD; / 關(guān)閉看門狗關(guān)閉看門狗 P1DIR |= 0 x01; / 設(shè)置設(shè)置P1.1口為輸出口為輸出 for (;) volatile unsigned int i; P1OUT = 0 x01; / 反轉(zhuǎn)反轉(zhuǎn)P1
34、.0 使用異或使用異或 i = 50000; / 延時(shí)延時(shí) do (i-); while (i != 0); Page 56MSP430F247片上外設(shè)片上外設(shè)-TimerA-介紹介紹TimerA是一個(gè)16位的定時(shí)/計(jì)數(shù)器,最多擁有3 個(gè)捕獲/比較寄存器。TimerA可以支持捕獲/比較功能、PWM輸出和定時(shí)器功能。TimerA還有擴(kuò)展中斷的功能,中斷可以由定時(shí)器溢出產(chǎn)生或捕獲比較寄存器產(chǎn)生。 4種操作模式的異步16位定時(shí)/計(jì)數(shù)器 可選擇配置的時(shí)鐘源 2個(gè)或3個(gè)可配置的捕獲/比較器 可配置的 PWM輸出 異步輸入和輸出鎖存 對(duì)所有 TimerA中斷快速響應(yīng)的中斷向量寄存器Page 57MSP43
35、0F247片上外設(shè)片上外設(shè)-TimerA-時(shí)鐘時(shí)鐘 時(shí)鐘源時(shí)鐘源定時(shí)器的時(shí)鐘源可以是定時(shí)器的時(shí)鐘源可以是內(nèi)部時(shí)鐘源內(nèi)部時(shí)鐘源ACLK, SMCLK,外部源外部源TACLK , INCLK。時(shí)鐘源由時(shí)鐘源由 TASSEL位來選擇,位來選擇, 分頻分頻所選擇的時(shí)鐘可以所選擇的時(shí)鐘可以通過通過IDx位進(jìn)行位進(jìn)行 2、4 或或8分頻,分頻,當(dāng)當(dāng)TACLR 置位時(shí),分頻器復(fù)位。置位時(shí),分頻器復(fù)位。Page 58MSP430F247片上外設(shè)片上外設(shè)-TimerA-啟動(dòng)啟動(dòng)定時(shí)器可以通過以下定時(shí)器可以通過以下2種方式啟動(dòng)或重新啟動(dòng)種方式啟動(dòng)或重新啟動(dòng):當(dāng)定時(shí)器計(jì)數(shù)到 MCX0并且時(shí)鐘源處于活動(dòng)狀態(tài)時(shí) 當(dāng)定時(shí)
36、器模式為 up或 up/down模式時(shí)(即單調(diào)增和增減模式) ,定時(shí)器可以通過寫 0到 TACCR0來停止計(jì)數(shù)。定時(shí)器可以通過寫一個(gè)非0 的數(shù)值來重新開始計(jì)數(shù)。在這種情況下,定時(shí)器從0開始增計(jì)數(shù)。Page 59MSP430F247片上外設(shè)片上外設(shè)-TimerA-模式模式 定時(shí)器有4種操作模式,他們分別是停止、單調(diào)增、連續(xù)和增減模式。 操作模式由 MCx 位來選擇。 MCx 模式模式說明說明00停止模式定時(shí)器暫停01單調(diào)增模式 定時(shí)器循環(huán)地從 0增到TACCR0的值11連續(xù)模式定時(shí)器循環(huán)地從 0連續(xù)增加到 0FFFFH10增減模式定時(shí)器循環(huán)地從 0增到TACCR0的值再連續(xù)減至0Page 60T
37、imerA-單調(diào)增模式單調(diào)增模式 單調(diào)增模式用于計(jì)數(shù)周期不是0FFFFH的情況。 定時(shí)器重復(fù)增計(jì)數(shù)值寄存器TACCR0的值,而 TACCR0的值取決于定時(shí)周期,如圖 ,定時(shí)器計(jì)數(shù)周期為 TACCR0+1。當(dāng)定時(shí)器的值等于 TACCR0時(shí),定時(shí)器就回到0重新計(jì)數(shù)。如果當(dāng)定時(shí)器的值大于TACCR0,而此時(shí)選擇單調(diào)增模式,定時(shí)器立即從0重新開始計(jì)數(shù)當(dāng)定時(shí)器計(jì)數(shù)到TACCR0的值時(shí),中斷標(biāo)志CCIFG 位置位。當(dāng)定時(shí)器由TACCR0返回0時(shí),TAIFG中斷標(biāo)志置位。Page 61TimerA-連續(xù)模式連續(xù)模式 在連續(xù)模式中,定時(shí)器重復(fù)計(jì)數(shù)到0FFFFH,然后重新從 0開始增計(jì)數(shù),如圖 。捕獲比較寄存器
38、TACCR0以及其他捕獲比較器工作方式一樣。當(dāng)定時(shí)器從 0FFFFH到 0時(shí),TAIFG 中斷標(biāo)志置位Page 62TimerA-增減模式增減模式 增減模式在定時(shí)器周期不是 0FFFFH 且需要產(chǎn)生對(duì)稱的脈沖時(shí)使用。定時(shí)器增計(jì)數(shù)到 TACCR0再從TACCR0減計(jì)數(shù)到 0,如圖,周期是TACCR0值的2倍 該模式下,計(jì)數(shù)方向是固定的,即讓定時(shí)器停止后再重新啟動(dòng)定時(shí)器,它就會(huì)沿著停止時(shí)的計(jì)數(shù)方向和數(shù)值開始計(jì)數(shù)。如果要從0開始, 就需要將 TACLR 置位來清除方向。TACLR 位也會(huì)清除TAR的值和定時(shí)器的時(shí)鐘分頻當(dāng)定時(shí)器計(jì)數(shù)到由TACCR01 變到TACCR0時(shí),CCIFG 置位;而定時(shí)器完成
39、減計(jì)數(shù)從 0001h到 0000h時(shí),TAIFG 置位。Page 63TimerA-寄存器寄存器Page 64TimerA-應(yīng)用實(shí)例應(yīng)用實(shí)例 void main (void) WDTCTL = WDTPW + WDTHOLD; / 關(guān)中斷 WDT P1DIR |= 0 x01; / P1.0 output CCTL0 = CCIE; / 使能CCR0 CCR0 = 20000; TACTL = TASSEL_2 + MC_1; /選擇時(shí)鐘源SMCLK, 向上計(jì)數(shù)模式 _BIS_SR(LPM0_bits + GIE); / 進(jìn)入 LPM0 使能總中斷 interrupt / Timer A0 服
40、務(wù)程序/#pragma vector=TIMERA0_VECTOR _interrupt void Timer_A (void); TIMERA0_ISR(Timer_A) _interrupt void Timer_A (void) P1OUT = 0 x01; / Toggle P1.0 Page 65MSP430F247片上外設(shè)片上外設(shè)-USCI-概要概要 通用串行通信接口(通用串行通信接口(USCI) 模塊支持多種異步通信模式。不同的模塊支持多種異步通信模式。不同的USCI模塊支持不同的模式。模塊支持不同的模式。 每一個(gè)USCI 模塊以不同的字母命名。例如,USCI_A不同于 USCI
41、_B等等。USCI_Ax 模塊支持: UART模式 脈沖調(diào)整的 IRDA 通信 自動(dòng)波特率檢測(cè)的 LIN通信 SPI 模式 USCI_Bx 模塊支持: I2C 模式 SPI 模式 Page 66MSP430F247片上外設(shè)片上外設(shè)-USCI-特性特性 在異步模式中, USCI_Ax 模塊是通過兩個(gè)外部引腳連接 MSP430到外部系統(tǒng),分別是UCAXRXD和UCAXTXD。 當(dāng)UCSYNC位被清零時(shí)UART模式被選擇。 7 位或8 位的奇,偶,或無校驗(yàn)。 獨(dú)立的發(fā)送和接收寄存器 單獨(dú)的發(fā)送和接收緩存寄存器 LSB-first 或 MSB-first數(shù)據(jù)發(fā)送或接收 多機(jī)系統(tǒng)中內(nèi)置空閑線和地址位通信
42、 接收機(jī)開始邊沿檢測(cè)并從LMPX模式中自動(dòng)喚醒 可編程對(duì)模塊設(shè)置波特率并支持小數(shù)位的波特率 狀態(tài)標(biāo)志的錯(cuò)誤檢測(cè)和消除 狀態(tài)標(biāo)志的地址監(jiān)測(cè) l獨(dú)立的接收中斷和發(fā)送中斷Page 67MSP430F247片上外設(shè)片上外設(shè)-UART在 UART 模式下,USCI 的發(fā)送和接收字符每次一位的異步速率到另一個(gè)設(shè)備。字符傳輸?shù)臅r(shí)間取決于USCI 的波特率選擇。傳輸和接收功能使用相同的波特率。USCI在 PUC 后或者通過設(shè)置 UCSWRST位。在PUC后,UCSWRST 位自動(dòng)置位,保持 USCI 在復(fù)位狀態(tài)。當(dāng)置位時(shí),UCSWRST位復(fù)位UCAXRXIE,UCAXTXIE,UCAXRXIFG,UCRXER
43、R,UCBRK,UCPEUCOE,UCFE,UCSTOE 和 UCBTOE位并置UCAXTXIFG位。清除 UCSWRST 位釋放UCSI的操作Page 68MSP430F247片上外設(shè)片上外設(shè)-UART-配置過程配置過程相應(yīng)的相應(yīng)的 USCI 初始化初始化/重配置的過程如下重配置的過程如下1.設(shè)置 UCSWRST 2.UCSWRST=1 時(shí)初始化所有的UCSI 寄存器(包括 UCAXCTL1) 3.配置端口 4.軟件清除 UCSWRST 5.通過 UCAXRXIE和/或 UCAXTXIE允許中斷(可選)Page 69MSP430F247片上外設(shè)片上外設(shè)-UART-字符格式字符格式 UART的
44、字符格式展示在表中,包括一 個(gè)開始位, 7或8 個(gè)數(shù)據(jù)位, 一個(gè)奇/偶/無校驗(yàn)位, 一個(gè)地址位(地址位模式) , 一個(gè)或兩個(gè)停止位。 UCMSB 位控制傳輸?shù)姆较蛞约斑x擇 LSB或MSB的優(yōu)先。必須滿足UART通信才能 LSB-FIRST。Page 70MSP430F247片上外設(shè)片上外設(shè)-UART-波特率波特率Page 71MSP430F247片上外設(shè)片上外設(shè)-UART-波特率波特率USCI 波特率發(fā)生器能從非標(biāo)準(zhǔn)源頻率中產(chǎn)生一個(gè)標(biāo)準(zhǔn)的波特率發(fā)生器能從非標(biāo)準(zhǔn)源頻率中產(chǎn)生一個(gè)標(biāo)準(zhǔn)的波特率。通過波特率。通過 UCOS16 位提供兩種操作選擇位提供兩種操作選擇 。對(duì)于給定的對(duì)于給定的BRCLK,波
45、特率有除數(shù)因子,波特率有除數(shù)因子 N決定決定BaudratefNBRCLK除數(shù)因子除數(shù)因子 N通常不是一個(gè)整數(shù)值因此至少需要一個(gè)除法通常不是一個(gè)整數(shù)值因此至少需要一個(gè)除法器和一個(gè)調(diào)制器去調(diào)整波特率。器和一個(gè)調(diào)制器去調(diào)整波特率。 波特率誤差波特率誤差 Page 72MSP430F247片上外設(shè)片上外設(shè)-UART-模式模式UCSYNC BIT0 同步模式使能 0 異步模式 1 同步模式 UCMODEX BIT2-1 USCI模式。當(dāng) UCSYNC=0時(shí) UCMODEX可選擇的異步模式 00 USART模式 01 空閑線多機(jī)模式 02 地址位多機(jī)模式 03 UART自動(dòng)波特率探測(cè)模式 當(dāng)三個(gè)或更多的
46、設(shè)備通信時(shí),USCI支持空閑線和地址位多機(jī)的通信格式。Page 73MSP430F247片上外設(shè)片上外設(shè)-UART-模式模式線路空閑多機(jī)模式線路空閑多機(jī)模式 Page 74MSP430F247片上外設(shè)片上外設(shè)-UART-模式模式地址位多機(jī)模式地址位多機(jī)模式 Page 75MSP430F247片上外設(shè)片上外設(shè)-UART-中斷中斷USCI有一個(gè)發(fā)送中斷向量和接收中斷向量。 USCI發(fā)送中斷操作 UCAXTXIFG 中斷標(biāo)志被發(fā)送器置位表示UCAXTXBUF準(zhǔn)備存放下一個(gè)字符。如果 UCAXTXIE 和GIE也置位將產(chǎn)生一個(gè)中斷請(qǐng)求。如果字符被寫到 UCAXTXBUF 中 UCAXTXIFG將自動(dòng)復(fù)
47、位。USC接收中斷操作 一個(gè)字符被接受并裝載到UCAXRXBUF中時(shí) UCAXRXIFG中斷標(biāo)志置位一次。如果 UCAXRXIE和GIE置位將產(chǎn)生一個(gè)中斷請(qǐng)求。 復(fù)位 PUC信號(hào)或者UCSWRST=1時(shí)UCAXRXIFG和 UCAXRXIE 將被系統(tǒng)復(fù)位。當(dāng) UCAXRXBUF被讀時(shí) UCAXRXIFG 將自動(dòng)復(fù)位。 Page 76MSP430F247片上外設(shè)片上外設(shè)-UART-中斷中斷 其他的中斷控制特性包括: 在 UCAXRXEIE=0時(shí)錯(cuò)誤字符不會(huì)置位UCAXRXIFG。 在 UCDORM=1 時(shí),在多處理機(jī)模式下非地址字符不會(huì)置位 UCAXRXIFG。 當(dāng) UCBRKIE=1 時(shí)一個(gè)中
48、斷條件將置位UCBRK 位和 UCAXRXIFG標(biāo)志。 USCI 中斷用法 USCI_AX 和 USCI_BX 使用同一個(gè)中斷向量。 接收中斷標(biāo)志 UCAxRXIFG 和 UCBxRXIFG 和同一個(gè)中斷向量連接, 發(fā)送中斷標(biāo)志 UCAxTXIFG 和UCBxTXIFG 分享另一個(gè)中斷向量。Page 77MSP430F247片上外設(shè)片上外設(shè)-UART-寄存器寄存器結(jié)合用戶手冊(cè)學(xué)習(xí)Page 78MSP430F247片上外設(shè)片上外設(shè)-SPI 在同步方式中,通用串行通信接口通過三或四腳連接MSP430與外部系統(tǒng): UCxSIMO、 UCxSOMI、UCxCLK和UCxSTE。當(dāng)UCSYNC被置位時(shí),
49、選擇SPI 方式。用UCMODEx位選擇SPI方式(3腳或4腳)。 UCSYNC BIT0 同步模式使能 0 異步模式 1 同步模式 Page 79MSP430F247片上外設(shè)片上外設(shè)-SPI-特點(diǎn)特點(diǎn) SPI模式的特點(diǎn)包括: 字符長度為7或8位 最低位或最高位最先傳送和接收 3線或 4線 SPI 操作 選擇主模式或從模式 獨(dú)立的發(fā)送和接收移位寄存器 獨(dú)立的發(fā)送和接收緩存寄存器 連續(xù)發(fā)送和接收操作 可選的時(shí)鐘極性和時(shí)鐘相位控制 主模式的時(shí)鐘頻率可控 獨(dú)立的接收和發(fā)送的中斷功能 LPM4模式下可進(jìn)行從模式操作 Page 80MSP430F247片上外設(shè)片上外設(shè)-SPI-結(jié)構(gòu)結(jié)構(gòu)Page 81MS
50、P430F247片上外設(shè)片上外設(shè)-SPI-模式模式USART為主機(jī)模式為主機(jī)模式USART為從機(jī)模為從機(jī)模式式Page 82MSP430F247片上外設(shè)片上外設(shè)-SPI-引腳引腳 UCxSIMO 從進(jìn),主出 主模式:UCxSIMO為數(shù)據(jù)的輸出線 從模式:UCxSIMO為數(shù)據(jù)的輸入線 UCxSOMI 從出,主進(jìn) 主模式:UCxSOMI為數(shù)據(jù)的輸入線 從模式:UCxSOMI為數(shù)據(jù)的輸出線 UCxCLK 通用串行通信接口SPI時(shí)鐘 主模式:UCxCLK為數(shù)據(jù)的輸出線 從模式:UCxCLK為數(shù)據(jù)的輸入線 UCxSTE 從機(jī)發(fā)送允許,用于4線模式中允許單總線上的多個(gè)主機(jī),3線模式中不用。Page 83M
51、SP430F247片上外設(shè)片上外設(shè)-SPI- 配置配置議通用串行通信接口初始化議通用串行通信接口初始化/從新配置的過程從新配置的過程1)設(shè)置UCSWRST (BIS.B #UCSWRST,&UCxCTL1) 2)UCSWRST=1,初始化所有的通用串行通信接口的寄存器(包括UCxCTL1) 3)設(shè)置端口 4)通過軟件清除UCSWRST位 (BIC.B #UCSWRST,&UCxCTL1) 5)通過 UCxRXIE 和/或 UCxTXIE 使能中斷(可選)Page 84MSP430F247片上外設(shè)片上外設(shè)-SPI-字符格式字符格式SPI模式下的 USCI模塊支持 7和 8位字符長
52、度, UCMSB 位控制傳輸方向和選定最低位或最高位先發(fā)送或接收。 默認(rèn)的 SPI字符傳輸是最低有效位先傳輸,在其它 SPI接口中,也可能起始位是最高位。Page 85MSP430F247片上外設(shè)片上外設(shè)-SPI-時(shí)序時(shí)序Page 86MSP430F247片上外設(shè)片上外設(shè)-SPI-時(shí)鐘時(shí)鐘 UCxCLK是主機(jī)通過SPI總線提供的。 當(dāng)UCMST = 1時(shí),比特率由USCI的時(shí)鐘頻率發(fā)生器經(jīng)UCxCLK引腳提供。用于產(chǎn)生比特率的時(shí)鐘由UCSSELx位選擇。 當(dāng)UCMST = 0時(shí),USCI時(shí)鐘是主機(jī)通過UCxCLK引腳提供的,比特率發(fā)生器不起作用,無需關(guān)注UCSSELx位。 在比特率控制寄存器U
53、CxxBR1中的UCBRx16位值和UCxxBR0是USCI時(shí)鐘源BRCLK的分頻系數(shù)。 主機(jī)模式下,能產(chǎn)生最大時(shí)鐘頻率是BRCLK。 當(dāng)USCI_A應(yīng)用SPI模式時(shí),SPI模式中沒有使用調(diào)制并且 UCAxMCTL應(yīng)該被清除。UCBRxffBRCLKBitClockPage 87MSP430F247片上外設(shè)片上外設(shè)-SPI-時(shí)鐘時(shí)鐘 UCxCLK的極性和相位是通過USCI的控制位UCCKPL與UCCKPH獨(dú)立設(shè)定的Page 88MSP430F247片上外設(shè)片上外設(shè)-SPI-中斷中斷 USCI有一個(gè)用于發(fā)送操作的中斷向量和一個(gè)用于接收操作的中斷向量 SPI 發(fā)送中斷操作 UCxTXIFG標(biāo)志位被
54、發(fā)送端置位時(shí),表示UCxTXBUF開始準(zhǔn)備接收其它的字符。如果 UCxTXIE和GIE也被置位,將產(chǎn)生一個(gè)中斷請(qǐng)求。如果一個(gè)字符寫入到UCxTXBUF,UCxTXIFG自動(dòng)復(fù)位。經(jīng)過一個(gè)PUC后或當(dāng)UCSWRST = 1時(shí)UCxTXIFG置位。經(jīng)過一個(gè)PUC后或當(dāng)UCSWRST = 1時(shí)UCxTXIE復(fù)位。 注意: 在SPI模式下寫入U(xiǎn)CxTXBUF; 當(dāng)UCxTXIFG = 0時(shí),寫入數(shù)據(jù)到UCxTXBUF,可能導(dǎo)致數(shù)據(jù)傳輸錯(cuò)誤。Page 89MSP430F247片上外設(shè)片上外設(shè)-SPI-中斷中斷 SPI 接收中斷操作 每次接收一個(gè)字符且載入U(xiǎn)CxRXBUF后,UCxRXIFG中斷標(biāo)志位置位
55、。如果UCxRXIE和GIE也置位,將產(chǎn)生一個(gè)中斷請(qǐng)求。系統(tǒng)復(fù)位PUC信號(hào)或當(dāng)UCSWRST = 1時(shí),UCxRXIFG和UCxRXIE復(fù)位。當(dāng)UCxRXBUF被讀取時(shí)UCxRXIFG自動(dòng)復(fù)位。 SCI 中斷用法 USCI_Ax和USCI_Bx共用一個(gè)中斷向量。 接收中斷標(biāo)志UCAxRXIFG和UCBxRXIFG路由到一個(gè)中斷向量,發(fā)送中斷標(biāo)志UCAxTXIFG和UCBxTXIFG共用其它的中斷向量。 Page 90MSP430F247片上外設(shè)片上外設(shè)-SPI-寄存器寄存器結(jié)合用戶手冊(cè)學(xué)習(xí)Page 91MSP430F247片上外設(shè)片上外設(shè)-IICInter-IC(IIC)總線是一種用于內(nèi)部IC
56、控制的具有多端控制能力的雙線雙向串行數(shù)據(jù)總線系統(tǒng)。能夠用于替代標(biāo)準(zhǔn)的并行總線,連接各種集成電路和功能模塊。I2C器件的應(yīng)用能夠減少電路間連線,減小電路板尺寸,降低硬件成本,并提高了系統(tǒng)可靠性在 IIC 模式中,USCI 模塊提供一個(gè)能為 MSP430 和 IIC 兼容設(shè)備的互連接口。掛接在 IIC總線上面的擴(kuò)展器件通過兩線的 IIC 接口實(shí)現(xiàn)與USCI模塊的串行數(shù)據(jù)接收與發(fā)送。 Page 92MSP430F247片上外設(shè)片上外設(shè)-IIC IIC模式支持所有的主方式或從方式的 IIC兼容設(shè)備。上圖描述了一個(gè) IIC總線的例子。每一個(gè) IIC設(shè)備都有唯一的地址可被識(shí)別,并且可以將該設(shè)備任意作為發(fā)送
57、端或者接收端對(duì)其操作。進(jìn)行數(shù)據(jù)傳輸?shù)臅r(shí)候,一個(gè)連接在 IIC總線上面的設(shè)備可以視為主設(shè)備或者是從設(shè)備。主設(shè)備開始一個(gè)數(shù)據(jù)的傳輸并且產(chǎn)生時(shí)鐘信號(hào) SCL。任何被主設(shè)備尋址到的設(shè)備被認(rèn)為是一個(gè)從設(shè)備。 IIC數(shù)據(jù)通過串行數(shù)據(jù)線(SDA)和串行時(shí)鐘線(SCL)進(jìn)行傳輸。SDA 和 SCL 都是雙向的,它們必須通過上拉電阻連接到供電電壓的正端。Page 93MSP430F247片上外設(shè)片上外設(shè)-IIC-信號(hào)信號(hào) 開始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。 結(jié)束信號(hào):SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,
58、向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),由判斷為受控單元出現(xiàn)故障。 Page 94MSP430F247片上外設(shè)片上外設(shè)-IIC-特性特性 遵循菲利浦半導(dǎo)體公司的IIC 規(guī)范 v2.1 7位和10位的設(shè)備尋址方式 廣播模式 開始/重新開始/停止 多主設(shè)備收發(fā)模式 從設(shè)備收發(fā)模式 支持高達(dá) 100kbps的標(biāo)準(zhǔn)方式和高達(dá) 400kbps的高速方式 在主設(shè)備模式中,UCxCLK頻率可編程 低功耗設(shè)計(jì) 從設(shè)備根據(jù)檢測(cè)到開始信號(hào)將MSP430從 L
59、PMx模式喚醒 在LPM4 模式可以進(jìn)行從機(jī)操作Page 95MSP430F247片上外設(shè)片上外設(shè)-IIC-尋址方式尋址方式 7位尋址方式 7 位尋址方式的格式如圖所示。第一個(gè)字節(jié)由 7 位從地址和 R/W 位組成。每個(gè)字節(jié)傳輸完畢接收設(shè)備都會(huì)發(fā)送一個(gè)響應(yīng)位(ACK) 。 10位尋址方式 10 位尋址方式的格式如圖所示。第一個(gè)字節(jié)有11110b 加上10位從地址的高2位和R/W位組成。每個(gè)字節(jié)傳輸完畢接收設(shè)備都會(huì)發(fā)送一個(gè)響應(yīng)位(ACK) 。第二個(gè)字節(jié)是10位從地址剩下的 8位數(shù)據(jù),在這之后是 ACK應(yīng)答信號(hào)和 8位數(shù)據(jù)。Page 96MSP430F247片上外設(shè)片上外設(shè)-IIC-工作模式工作模
60、式USIC模塊中的 IIC模式可以工作在主發(fā)送模式、主接收模式、從發(fā)送模式或者從接收模式。這里從下面幾個(gè)部分來討論該模式。從模式 選擇在IIC模式并設(shè)置UCMODEx=11,UCSYNC=1,同時(shí)將UCMST 位清 0,可以將USCI模塊配置為IIC從模式。 剛開始的時(shí)候,USCI模塊必須通過將 UCTR 位清0配置為接收模式,使其可以接收 IIC的地址。在這之后,根據(jù)接收到從設(shè)備地址和 R/W位可以自動(dòng)進(jìn)行發(fā)送和接收的操作Page 97MSP430F247片上外設(shè)片上外設(shè)-IIC-工作模式工作模式 IIC從發(fā)送模式 當(dāng)從設(shè)備發(fā)現(xiàn)主設(shè)備發(fā)送的從地址與本地地址匹配,并且 R/W位為1 的時(shí)候,該設(shè)備進(jìn)入從發(fā)送模
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東事業(yè)單位統(tǒng)考濰坊諸城市招聘40人備考題庫帶答案詳解
- 跨境電商獨(dú)立站2025年帶貨合作合同協(xié)議
- 初級(jí)測(cè)量考試題庫及答案
- 2025-2026人教版小學(xué)三年級(jí)科學(xué)上學(xué)期測(cè)試卷
- 高三歷史a卷試題及答案
- 2025-2026人教版三年級(jí)語文期末測(cè)試卷
- 校衛(wèi)生室職責(zé)及管理制度
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院超市管理制度
- 衛(wèi)生院出納管理制度
- 學(xué)校衛(wèi)生室診室管理制度
- 八年級(jí)地理上冊(cè)《中國的氣候》探究式教學(xué)設(shè)計(jì)
- 重慶市2026年高一(上)期末聯(lián)合檢測(cè)(康德卷)化學(xué)+答案
- 2026年湖南郴州市百??毓杉瘓F(tuán)有限公司招聘9人備考考試題庫及答案解析
- 2026貴州黔東南州公安局面向社會(huì)招聘警務(wù)輔助人員37人考試備考題庫及答案解析
- 鐵路除草作業(yè)方案范本
- 2026屆江蘇省常州市生物高一第一學(xué)期期末檢測(cè)試題含解析
- 2026年及未來5年市場(chǎng)數(shù)據(jù)中國高溫工業(yè)熱泵行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)與投資戰(zhàn)略咨詢報(bào)告
- 教培機(jī)構(gòu)排課制度規(guī)范
- 2026年檢視問題清單與整改措施(2篇)
- 國家開放大學(xué)《基礎(chǔ)教育課程改革專題》形考任務(wù)(1-3)試題及答案解析
- 車載HUD產(chǎn)業(yè)發(fā)展趨勢(shì)報(bào)告(2025)-CAICV智能車載光顯示任務(wù)組
評(píng)論
0/150
提交評(píng)論