Msp430單片機應用技術第二講_第1頁
Msp430單片機應用技術第二講_第2頁
Msp430單片機應用技術第二講_第3頁
Msp430單片機應用技術第二講_第4頁
Msp430單片機應用技術第二講_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Msp430單片機應用技術

第二講2.1MSP430F169單片機結構圖2.1MSP430F169單片機結構原理圖

MSP430F169具有豐富的片內(nèi)外設包括16位定時器;

12位快速A/D轉換器;雙12位D/A轉換器;比較器;一個或者兩個通用同步/異步串行通訊接口(USART)、I2C;

MA控制器和48個I/O引腳單片機還包括60K的FLASH,2K的RAM,支持串行在線編程和可編程的保密熔絲代碼保護

CPU通過地址總線(MAB)、數(shù)據(jù)總線(MDB)、控制總線(MCB)與片上外設建立聯(lián)系。圖2.2MSP430F169封裝圖及實物圖

表2.1MSP430F169單片機引腳功能說明引腳名稱編號I/O功能說明Avcc64模擬供電電源正端.只為ADC和DAC的模擬部分供電Avss62模擬供電電源負端.只為ADC和DAC的模擬部分供電DVcc1數(shù)字供電電源正端.為所有數(shù)字部分供電DVss63數(shù)字供電電源負端.為所有數(shù)字部分供電P1.0/TACLK12I/O通用數(shù)字I/O引腳/定時器A時鐘信號TACLK輸入P1.1/TA013I/O通用數(shù)字I/O引腳/定時器A捕捉:CCI0A輸入,比較:OUT0輸出P1.2/TA114I/O通用數(shù)字I/O引腳/定時器A捕捉:CCI1A輸入,比較:OUT1輸出P1.3/TA215I/O通用數(shù)字I/O引腳/定時器A捕捉:CCI2A輸入,比較:OUT2輸出P1.4/SMCLK16I/O通用數(shù)字I/O引腳/SMCLK信號輸出P1.5/TA017I/O通用數(shù)字I/O引腳/定時器A,比較:OUT0輸出P1.6/TA118I/O通用數(shù)字I/O引腳/定時器A,比較:OUT1輸出P1.7/TA219I/O通用數(shù)字I/O引腳/定時器A,比較:OUT2輸出P2.0/ACLK20I/O通用數(shù)字I/O引腳/ACLK輸出P2.1/TAINCLK 21I/O通用數(shù)字I/O引腳/定時器A,INCLK上的時鐘信號P2.2/CAOUT/TA022I/O通用數(shù)字I/O引腳/定時器A捕獲:CCI0B輸入/比較器輸出

P2.2/CAOUT/TA022I/O通用數(shù)字I/O引腳/定時器A捕獲:CCI0B輸入/比較器輸出P2.3/CA0/TA123I/O通用數(shù)字I/O引腳/定時器A,比較:OUT1輸出/比較器A輸入P2.4/CA1/TA224I/O通用數(shù)字I/O引腳/定時器A,比較:OUT2輸出/比較器A輸入P2.5/Rosc25I/O通用數(shù)字I/O引腳,定義DCO標稱頻率的外部電阻輸入P2.6/ADC12CLK/DMAE026I/O通用數(shù)字I/O引腳,轉換時鐘-12位ADC,DMA通道0外部觸發(fā)器P2.7/TA027I/O通用數(shù)字I/O引腳/定時器A比較:OUT0輸出P3.0/STE028I/O通用數(shù)字I/O引腳,USART0/SPI模式從設備傳輸使能端P3.1/SIMO0/DSDA29I/O通用數(shù)字I/O引腳,USART0/SPI模式的從入/主出,I2C數(shù)據(jù)P3.2/SOMI030I/O通用數(shù)字I/O引腳,USART0/SPI模式的從出/主入P3.3/UCLK0/SCL31I/O通用數(shù)字I/O引腳,USART0/SPI模式的外部時鐘輸入,USART0P3.4/UTXD032I/O通用數(shù)字I/O引腳,USART0/UART模式的傳輸數(shù)據(jù)輸出P3.5/URXD033I/O通用數(shù)字I/O引腳,USART0/UART模式的接收數(shù)據(jù)輸入P3.6/UTXD134I/O通用數(shù)字I/O引腳,USI1/UART模式的發(fā)送數(shù)據(jù)輸出P3.7/URXD135I/O通用數(shù)字I/O引腳,USI1/UART模式的接收數(shù)據(jù)輸入P4.0/TB036I/O通用數(shù)字I/O引腳,捕獲I/P或者PWM輸出端口-定時器B7CCR0P4.1/TB137I/O通用數(shù)字I/O引腳,捕獲I/P或者PWM輸出端口-定時器B7CCR1P4.2/TB238I/O通用數(shù)字I/O引腳,捕獲I/P或者PWM輸出端口-定時器B7CCR2P4.3/TB339I/O通用數(shù)字I/O引腳,捕獲I/P或者PWM輸出端口-定時器B7CCR3P4.4/TB440I/O通用數(shù)字I/O引腳,捕獲I/P或者PWM輸出端口-定時器B7CCR4P4.5/TB541I/O通用數(shù)字I/O引腳,捕獲I/P或者PWM輸出端口-定時器B7CCR5P4.6/TB642I/O通用數(shù)字I/O引腳,捕獲I/P或者PWM輸出端口-定時器B7CCR6P4.7/TBCLK43I/O通用數(shù)字I/O引腳,輸入時鐘TBCLK-定時器B7

P6.4/A43I/O通用數(shù)字I/O引腳,模擬量輸入A4-12位ADCP6.5/A54I/O通用數(shù)字I/O引腳,模擬量輸入A5-12位ADCP6.6/A6/DAC05I/O通用數(shù)字I/O引腳,模擬量輸入A6-12位ADC,DAC.0輸出P6.7/A7/DAC1/SVSIN6I/O通用數(shù)字I/O引腳,模擬量輸入A7-12位ADC,DAC.1輸出,SVS輸入/NMI58I復位輸入,不可屏蔽中斷輸入端口或者BootstrapLload啟動(FLASH器件)TCK57I測試時鐘,TCK是芯片編程測試和bootstraploader啟動的時鐘輸入端口TDI/TCLK55I測試數(shù)據(jù)輸入或時鐘輸入,器件保護熔絲連接到該引腳TDO/TDI54I/O測試數(shù)據(jù)輸出端口,TDO/TDI數(shù)據(jù)輸出或者編程數(shù)據(jù)輸出引腳TMS56I測試模式選擇,TMS用作芯片編程和測試的輸入端口VeREF+10I外部參考電壓的輸入VREF+7O參考電壓的正輸出引腳VREF-/VeREF-11O內(nèi)部參考電壓或者外加參考電壓的引腳XIN8I晶體振蕩器XT1的輸入端口,可連接標準晶振或者鐘表晶振XOUT/TCLK9I/O晶體振蕩器XT1的輸出引腳或測試時鐘輸入XT2IN53I晶體振蕩器XT2的輸入端口,只能連接標準晶振XT2OUT52O晶體振蕩器XT2的輸出引腳

2.2MSP430F169的中央處理單元(CPU)圖2.3CPU組成

MSP430F169單片機CPU具有如下特征:

16位RSIC精簡指令集,支持7種尋址方式正交化設計,每條指令都支持全部尋址方式

16位寬地址總線允許對整個存儲器的訪問寄存器資源豐富常數(shù)發(fā)生器直接的存儲器到存儲器訪問2.2.2MSP430F169CPU的寄存器資源CPU寄存器資源豐富,16個16-bit寄存器R0~R15。其中,R0~R3具有特殊功能:程序計數(shù)器R0/PC、堆棧指針R1/SP、狀態(tài)寄存器R2/SR/CG1和常數(shù)發(fā)生器R3/CG2;R4~R15為通用寄存器。

表2.2MSP430F169CPU寄存器說明寄存器名稱功能R0程序計數(shù)器PCR1堆棧指針SPR2狀態(tài)寄存器SR/常數(shù)發(fā)生器CG1R3常數(shù)發(fā)生器CG2R4通用寄存器R4……R15通用寄存器R15

1.程序計數(shù)器PC

程序計數(shù)器PC總是指向程序存儲器中下一條將要執(zhí)行的指令的地址。MSP430指令長度分別為2、4或6字節(jié)長,PC相應遞增。

PC內(nèi)容總是偶數(shù),指向偶字節(jié)地址。PC是16位寄存器,可以尋址64K存儲空間,對程序存儲器的訪問以字為單位。在執(zhí)行條件或無條件轉移指令、調(diào)用指令或響應中斷時,程序計數(shù)器PC都會被賦新值,其他情況下,程序計數(shù)器PC的值自動增加。

2.堆棧指針SP

堆棧是遵循“先入后出”原則的特殊數(shù)據(jù)存儲區(qū),用來保護現(xiàn)場數(shù)據(jù):(1)系統(tǒng)調(diào)用子程序或進入中斷服務程序時,將PC值(程序未跳轉之前的值)壓入堆棧進行保護,然后程序計數(shù)器PC被賦予子程序入口地址或中斷向量地址,執(zhí)行子程序或中斷服務程序。子程序或中斷服務程序執(zhí)行完畢后,遇到返回指令,則將堆棧的內(nèi)容送到程序計數(shù)器PC中,程序又返回主程序繼續(xù)執(zhí)行;(2)堆??稍诤瘮?shù)調(diào)用期間保存寄存器變量、局部變量和參數(shù)等。

堆棧指針SP則總是指向堆棧的頂部,即棧頂。根據(jù)堆棧地址的生成方向,堆棧可分為“向下增長型(高地址向低地址增長)”或“向上增長型(低地址向高地址增長)”。

MSP430堆棧屬于“向下增長型”,即系統(tǒng)在將數(shù)據(jù)壓入堆棧時,即壓棧,總是先將堆棧指針SP值減2,然后再將數(shù)據(jù)送到SP所指向的RAM單元中。將數(shù)據(jù)從堆棧中彈出,即彈棧,與壓棧過程相反:先將數(shù)據(jù)從SP所指向的內(nèi)存單元中讀取出來,再將SP值加2。

3.狀態(tài)寄存器SR

狀態(tài)寄存器SR/R2反映了程序執(zhí)行過程中控制器的現(xiàn)場狀態(tài),用于指示ALU的運算結果狀態(tài)以及CPU、時鐘狀態(tài)等。作用?15~9876543210保留VSCG1SCG0OSCOFFCPUOFFGIENZCBit8V溢出標志位,當算術運算結果超出有符號數(shù)范圍時置位,否則為0Bit7SCG1系統(tǒng)時鐘控制位1。置位,禁止SMCLK。Bit6SCG0系統(tǒng)時鐘控制位0。復位,使能直流發(fā)生器;SCG0置位,且DCOCLK沒有被用作MCLK或SMCLK時,直流發(fā)生器才能被禁止。Bit5OSCOFF晶體控制位。

復位,激活LFXT1。OSCOFF置位且LFXT1CLK不用于MCLK或

SMCLK時,LFXT1禁止;

置位,使晶體振蕩器處于停止狀態(tài)。設置OSCOFF=1必須同時設置

CPUOFF=1,只有系統(tǒng)允許的外部中斷或NMI可喚醒CPU。

Bit4CPUOFFCPU控制位。置位使CPU進入關閉模式,此時除了

RAM內(nèi)容、端口、寄存器保持外,CPU處于停止狀態(tài),可用所有允許的中斷將CPU從此狀態(tài)喚醒。

0CPU進入關閉模式

1CPU處于工作狀態(tài)Bit3GIE可屏蔽中斷控制位。置位允許可屏蔽中斷,復位禁止所有可屏蔽中斷。該位由中斷復位,RETI指令置位,也可以用指令改變。

0允許可屏蔽中斷

1禁止所有可屏蔽中斷Bit2N負標志,當運算結果為負時置位,否則為0。Bit1Z零標志,當運算結果為0時置位,否則為0。Bit0C進位標志,當運算結果產(chǎn)生進位時置位,否則為0。

4.常數(shù)發(fā)生器CG1和CG2R2和R3為常數(shù)發(fā)生器,利用CPU的27條內(nèi)核指令配合常數(shù)發(fā)生器可以生成一些簡潔高效的模擬指令。表2.3CG1、CG2產(chǎn)生常數(shù)值寄存器As常數(shù)說明R200-寄存器模式R201(0)絕對尋址模式R21000004H+4位處理R21100008H+8位處理R30000000H0字處理R30100001H+1R31000002H+2位處理R3110FFFFH-1字處理

5.通用寄存器

R4到R15為通用工作寄存器。具有暫存運算結果,執(zhí)行算數(shù)邏輯運算等功能,是控制器訪問最頻繁的場所,可以進行字節(jié)、字操作,可作為地址指針或數(shù)據(jù)寄存器,使用通過寄存器可以大大提高程序的執(zhí)行效率,當中斷發(fā)生時,需對其內(nèi)容進行保護。2.3系統(tǒng)復位和工作模式2.3.1系統(tǒng)復位和初始化1.系統(tǒng)復位

MSP430系列單片機有兩種復位方式:上電復位POR(Power–OnReset);上電清除PUC(Power–UpClear)。不同的信號可觸發(fā)不同的復位方式,而系統(tǒng)初始化的狀態(tài)取決于復位方式。

圖2.4MSP430系統(tǒng)復位電路功能模塊組成

觸發(fā)PUC信號復位的信號條件中,除POR信號產(chǎn)生外,其它都可以通過讀取相應的中斷向量來判斷是什么原因引發(fā)了復位。

2.3.2工作模式及功耗1.工作模式——低功耗模式圖2.6MSP430各個工作模式結構示意圖

表2.7各工作模式、各控制位及相應的時鐘狀態(tài)工作模式控制位CPU狀態(tài)振蕩器及時鐘狀態(tài)AMSCG1=0SCG01=0OscOFF=0CPUOFF=0CPU、MCLK、SMCLK、ACLK均處于活動狀態(tài)LPM0SCG1=0SCG0=0OscOFF=0CPUOFF=1CPU、MCLK禁止,SMCLK、ACLK活動LPM1SCG1=0SCG0=1OscOFF=0CPUOFF=1CPU禁止,如果DCO未用做MCLK或SMCLK,直流發(fā)生器被禁止,否則仍保持工作;SMCLK、ACLK活動;LPM2SCG1=1SCG0=0OscOFF=0CPUOFF=1CPU、MCLK、SMCLK、DCO禁止;如果DCO未用做MCLK或SMCLK,則自動禁止;直流發(fā)生器保持工作;ACLK活動;LPM3SCG1=1SCG0=1OscOFF=0CPUOFF=1CPU、MCLK、SMCLK、DCO禁止;直流發(fā)生器被禁止;ACLK活動;LPM4SCG1=1SCG0=1OscOFF=1CPUOFF=1CPU和所有的時鐘被禁止

2.模式及功耗在各個模式下,MSP430單片機功率消耗與工作模式、供電電壓、振蕩頻率等有關,圖2.7給出了在1MHz振蕩頻率下,不同供電電壓下各模式功耗情況。圖2.7MSP430各個工作模式下的耗電情況2.5MSP430的基礎時鐘模塊MSP430基礎時鐘模塊與其低功耗相匹配,用戶可以利用三種時鐘信號,找到功能實現(xiàn)和低功耗的平衡。基礎時鐘模塊無需外部器件,利用一個外部電阻、一個或兩個外部晶振或者諧振器,在軟件的配置控制下,為系統(tǒng)提供時鐘信號。

三個時鐘源:(1)LFXT1CLK:低頻/高頻振蕩器。可外接32768Hz的時鐘芯片,或者450kHz~8MHz的標準晶體或諧振器;(2)XT2CLK:高頻振蕩器。外接450kHz~8MHz的標準晶體、諧振器和外部時鐘源。較常用的晶體振蕩器是8MHZ;(3)DCOCLK:內(nèi)部數(shù)控RC振蕩器。

3個時鐘信號輸出:(1)ACLK:

輔助時鐘信號。ACLK是從FLXT1CLK信號經(jīng)1/2/4/8(BCSCTL1寄存器設置DIVA相應位設置)分頻后得到。ACLK可用于提供CPU外圍功能模塊作時鐘信號使用。(2)MCLK:

主時鐘信號。MCLK的振蕩源可由軟件配置選擇來自LFXT1CLK、XT2CLK(部分型號有)或DCOCLK。MCLK經(jīng)1/2/4/8分頻(軟件設置)后給CPU或系統(tǒng)提供時鐘信號。(3)SMCLK:

子系統(tǒng)時鐘信號。SMCLK的振蕩源可由軟件配置選擇來自

LFXT1CLK、XT2CLK(部分型號有)或DCOCLK。SMCLK經(jīng)1/2/4/8分頻后(軟件設置)給各獨立外設模塊提供時鐘信號。

當處理器發(fā)生PUC復位后,MCLK和SMCLK的振蕩源來自DCOCLK(默認值為800kHz);

ACLK振蕩源來自LFXT1(處于低頻模式)。

設置狀態(tài)寄存器SR的SCG0,SCG1,OSCOFF和CPUOFF位,可以設置CPU的操作模式,使能或關斷部分基礎時鐘模塊?;A時鐘模塊可以在程序運行的任何時候用軟件進行配置。2.5.1基礎時鐘各模塊介紹為了優(yōu)化低功耗配置:

ACLK振蕩源可以配置取自外部32.786KHz時鐘晶振,給低功耗系統(tǒng)提供一個穩(wěn)定時鐘基準或作為備用操作模式;

MCLK振蕩源可以配置取自DCO,DCO能夠在中斷驅(qū)動事件被激活時立即響應;

SMCLK振蕩源可以配置取自外部晶振或DCO(取決于外設要求)。靈活的時鐘配置和分頻系統(tǒng)可以為系統(tǒng)提供精密準確的時鐘信號,滿足用戶不同需求。

2.5.1.1LFXT1低頻振蕩器

2.5.1.2XT2CLK高頻振蕩器XT2Sx位選擇XT2的操作范圍。如果XT2CLK沒有被用作MCLK或SMCLK的時鐘源,則XT2OFF可禁止XT2振蕩器;當XT2Sx=11和XT2OFF=0時,XT2可通過XT2IN管腳接外部時鐘信號,但外部頻率必須滿足XT2的參數(shù)要求。當輸入頻率低于最低值時,XT2OFF要置位以禁止CPU采用XT2CLK時鐘。

MSP430外接高頻振蕩器XT2的頻率為450kHz~8MHz。

2.5.1.3數(shù)字控制振蕩器DCO

2.5.2時鐘模塊的寄存器

配置DCOvoidmain(void){

WDTCTL=WDTPW+WDTHOLD;

//StopWatchdogTimer

DCOCTL=DCO0+DCO1+DCO2;

//MaxDCO

BCSCTL1=RSEL0+RSEL1+RSEL2;

//XT2on,maxRSEL

BCSCTL2|=SELS;

//SMCLK=XT2

P5DIR|=0x70;

//P5.6,5,4outputs

P5SEL|=0x70;

//P5.6,5,5options

while(1)

{

}}實測DCO最低128K,最高4.58M。

2.5.3時鐘應用舉例課堂作業(yè)設置MCLK=XT2,SMCLK=DCOCLK,將MCLK由P5.4輸出設置ACK=MCK=LFXT1,LFXT1為低頻(LF)模式,將MCK通過P5.4輸出2.6中斷中斷的概念?2.6.1中斷的結構和類型特點

MSP430中斷源很多,每個中斷源都有指定的優(yōu)先級,離CPU越近的模塊,其優(yōu)先級越高。中斷優(yōu)先級決定了,當多個中斷來臨時,優(yōu)先級高的中斷先被響應。

2.6.2中斷響應過程

溫馨提示

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

評論

0/150

提交評論