MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐.ppt_第1頁(yè)
MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐.ppt_第2頁(yè)
MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐.ppt_第3頁(yè)
MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐.ppt_第4頁(yè)
MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐.ppt_第5頁(yè)
已閱讀5頁(yè),還剩139頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐,1 概述 2 MSP430單片機(jī)結(jié)構(gòu) 3 MSP430指令系統(tǒng)與程序設(shè)計(jì) 4 MSP430單片機(jī)的片上外設(shè) 5 MSP430單片機(jī)接口應(yīng)用,參考資料: 謝興紅等。MSP430單片機(jī)基礎(chǔ)與實(shí)踐。北京航空航天大學(xué)出版社,2008 曹磊。 MSP430單片機(jī)C程序設(shè)計(jì)與實(shí)踐。北京航空航天大學(xué)出版社,2007 ,1 概述,單片微型計(jì)算機(jī) 單片機(jī)的概念 單片機(jī)的特點(diǎn) 單片機(jī)的應(yīng)用 MSP430系列單片機(jī) MSP430系列單片機(jī)的特點(diǎn) MSP430系列單片機(jī)命名規(guī)則 MSP430系列單片機(jī)選型,單片微型計(jì)算機(jī):?jiǎn)纹瑱C(jī)的概念,微處理器的發(fā)展一方面是朝著面向數(shù)據(jù)

2、運(yùn)算、信息處理等功能的系統(tǒng)機(jī)方向發(fā)展。系統(tǒng)機(jī)以速度快、功能強(qiáng)、存儲(chǔ)量大、軟件豐富、輸入/輸出設(shè)備齊全為主要特點(diǎn),采用高級(jí)語(yǔ)言編程,適用于數(shù)據(jù)運(yùn)算、文字信息處理、人工智能、網(wǎng)絡(luò)通信等場(chǎng)合。 另一方面,在一些應(yīng)用領(lǐng)域中,如智能化儀器儀表、電訊設(shè)備、自動(dòng)控制設(shè)備、汽車(chē)乃至家用電器等,要求的運(yùn)算、控制功能相對(duì)并不很復(fù)雜,但對(duì)體積、成本、功耗等的要求卻比較苛刻。為適應(yīng)這方面的需求,產(chǎn)生了一種將中央處理器、存儲(chǔ)器、I/O接口電路以及連接它們的總線都集成在一塊芯片上的計(jì)算機(jī),即所謂的單片微型計(jì)算機(jī),簡(jiǎn)稱(chēng)單片機(jī)(Single Chip Microcomputer)。單片機(jī)在設(shè)計(jì)上主要突出了控制功能,調(diào)整了接口

3、配置,在單一芯片上制成了結(jié)構(gòu)完整的計(jì)算機(jī),因此,單片機(jī)也稱(chēng)為微控制器(MCU)。,單片機(jī)的特點(diǎn),小巧靈活、成本低、易于產(chǎn)品化,它能方便地組裝成各種智能式控制設(shè)備以及各種智能儀器儀表。 面向控制,能針對(duì)性地解決從簡(jiǎn)單到復(fù)雜的各類(lèi)控制任務(wù),因而能獲得最佳性能價(jià)格比。 抗干擾能力強(qiáng),適應(yīng)溫度范圍寬,在各種惡劣環(huán)境下都能可靠地工作,這是其他機(jī)型無(wú)法比擬的。 可以很方便地實(shí)現(xiàn)多機(jī)和分布式控制。使整個(gè)系統(tǒng)的效率和可靠性大為提高。,單片機(jī)的應(yīng)用,MSP430系列單片機(jī),特點(diǎn): 超低功耗 強(qiáng)大的處理能力 高性能模擬技術(shù)及豐富的片上外設(shè) 系統(tǒng)工作穩(wěn)定 方便高效的開(kāi)發(fā)環(huán)境,MSP430系列單片機(jī)命名規(guī)則,MSP4

4、30 F 14 9 A I PM,2 MSP430單片機(jī)結(jié)構(gòu),MSP430單片機(jī)結(jié)構(gòu)概述 MSP430系列產(chǎn)品 無(wú)LCD驅(qū)動(dòng)系列產(chǎn)品 有LCD驅(qū)動(dòng)系列產(chǎn)品 RF系列 FRAM系列 MSP430 CPU結(jié)構(gòu)和特點(diǎn) MSP430存儲(chǔ)器和地址空間 程序存儲(chǔ)器 數(shù)據(jù)存儲(chǔ)器 外圍模塊寄存器,MSP430單片機(jī)結(jié)構(gòu),MSP430單片機(jī)結(jié)構(gòu),MSP430結(jié)構(gòu),16位CPU通過(guò)總線連接到存儲(chǔ)器和外圍模塊(馮諾伊曼結(jié)構(gòu))。 通過(guò)JTAG接口進(jìn)行實(shí)時(shí)嵌入式仿真處理。 多種低功耗工作模式。 8/16位數(shù)據(jù)寬度,數(shù)據(jù)處理更為有效。 硬件乘法器。 豐富的片上外設(shè)。,MSP430系列單片機(jī)主要功能部件:,CPU:MSP4

5、30系列單片機(jī)的CPU和通用微處理器基本相同,只是在設(shè)計(jì)上采用了面向控制的結(jié)構(gòu)和指令系統(tǒng)。MSP430的內(nèi)核CPU結(jié)構(gòu)是按照精簡(jiǎn)指令集(RISC)和高透明的宗旨而設(shè)計(jì)的,使用的指令有硬件執(zhí)行的內(nèi)核指令和基于現(xiàn)有硬件結(jié)構(gòu)的仿真指令。這樣可以提高指令執(zhí)行速度和效率,增強(qiáng)了MSP430的實(shí)時(shí)處理能力。 存儲(chǔ)器:存儲(chǔ)程序、數(shù)據(jù)以及外圍模塊的運(yùn)行控制信息。有程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。對(duì)程序存儲(chǔ)器訪問(wèn)總是以字形式取得代碼,而對(duì)數(shù)據(jù)可以用字或字節(jié)方式訪問(wèn)。其中MSP430各系列單片機(jī)的程序存儲(chǔ)器有ROM、OTP、EPROM和FLASH型。 片上外設(shè)(片內(nèi)外圍模塊):經(jīng)過(guò)MAB、MDB、MCB與CPU相連。MS

6、P430不同系列產(chǎn)品所包含外圍模塊的種類(lèi)及數(shù)目可能不同。它們分別是以下一些外圍模塊的組合:時(shí)鐘模塊、看門(mén)狗、定時(shí)器A、定時(shí)器B、比較器A、串口0、1、硬件乘法器、液晶驅(qū)動(dòng)器、模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、端口、基本定時(shí)器、DMA控制器等。,MSP430系列產(chǎn)品+路線圖,100+器件 2xx-Catalog 16 MIPS 120 kB Flash 8 kB RAM 500 nA Standby 1.8 3.6V,75+器件 1xx-Catalog 8MIPS 60 kB Flash 10 kB RAM 1.8 3.6 V,G = Value Line F = Flash FR = FRAM,100+器件

7、 4xx: LCD 16 MIPS 120 kB Flash 8 kB RAM LCD Controller,160 segments 1.8 3.6V,F23x0,新一代產(chǎn)品 5xx-6xx 25MIPS 256 kB Flash 16 kB RAM 1.8 3.6V 0.9-1.65V (L092) FRAM,USB,RF 6xx: LCD Controller 160 uA/MIPS,生產(chǎn) 開(kāi)發(fā),器件,F20 xx,F21x1,F21x2,F22xx,F541x,F543xA,Fx42x0,Fx42x,F44x,Fx43x,FG461x,FE42x2,F47x4,Fx47x,F43x,F

8、23x0,F41x,F41x2,FR57xx FRAM,F550 x/10 USB,F51x2 照明,F53xx Gen Purpose,F5/663x BGM,Catalog,G2xx1,F552x USB,CC430 RF,G2xx2 8kB,CapTouch I/O,G2xx3 16kB,CapTouch I/O,F471xx,F438/F439,F67xx Metering,AFE2xx Metering AFE,F67xx Metering,F5/665x 512kB Flash,F23x-F24x,F261x F241x,L092 0.9V Native,MSP430X11X系列,

9、MSP430X12X系列,MSP430X13X系列,MSP430X14X系列,MSP430F15X/F16(1)X 系列,MSP430F15X/F16(1)X 系列,MSP430X41X系列,MSP430F43X系列,MSP430F44X系列,MSP430 CPU的主要特征,精簡(jiǎn)指令集高度正交化 寄存器資源豐富 寄存器操作為單周期 16位地址總線 常數(shù)發(fā)生器 直接的存儲(chǔ)器到存儲(chǔ)器訪問(wèn),MSP430 CPU內(nèi)部寄存器PC/R0,MSP430 CPU內(nèi)部寄存器SP/R1,MSP430 CPU內(nèi)部寄存器SR/R2,MSP430 CPU內(nèi)部寄存器CG1/R2 and CG2/R3,在16個(gè)寄存器中R2

10、與R3為常數(shù)發(fā)生器,利用CPU的27條內(nèi)核指令配合常數(shù)發(fā)生器可以生成一些簡(jiǎn)潔高效的模擬指令。,MSP430存儲(chǔ)器結(jié)構(gòu)和地址空間,BSL,存儲(chǔ)單元字節(jié)地址,0C00H,0FFFH,01000H,09FFH,MSP430存儲(chǔ)器結(jié)構(gòu)和地址空間,MSP430中斷向量表,MSP430單片機(jī)的中斷系統(tǒng),中斷類(lèi)型 系統(tǒng)復(fù)位 POR (Power On Reset)上電復(fù)位 由Brown_Out_Reset (BOR) 復(fù)位電路產(chǎn)生 由RST/NMI引腳產(chǎn)生 PUC (Power Up Clear)上電清除 由POR信號(hào)產(chǎn)生 看門(mén)狗溢出 看門(mén)狗安全鍵值出錯(cuò) FLASH安全鍵出錯(cuò) 非可屏蔽中斷不能使用全局中斷使

11、能位(GIE)屏蔽 RST/NMI端口出現(xiàn)跳變 使用中斷使能位NMIIE控制 晶振故障使用中斷使能位OFIE控制 FLASH訪問(wèn)出錯(cuò)使用中斷使能位ACCVIE控制 可屏蔽中斷有各自的中斷屏蔽位,也能被GIE屏蔽,MSP430單片機(jī)的中斷系統(tǒng),中斷響應(yīng)過(guò)程,中斷請(qǐng)求,MSP430F149 Flash ROM,512B,512B,256B,128B,128B,MSP430 8位外圍模塊寄存器,MSP430 16位外圍模塊寄存器,MSP430 特殊功能寄存器(SFR),MSP430 特殊功能寄存器(SFR),MSP430 特殊功能寄存器(SFR),MSP430 硬件乘法器,3 MSP430指令系統(tǒng)與

12、程序設(shè)計(jì),指令系統(tǒng)概述 尋址方式 指令系統(tǒng)介紹 數(shù)據(jù)傳送類(lèi)指令 數(shù)據(jù)運(yùn)算類(lèi)指令 邏輯操作指令 位操作指令 跳轉(zhuǎn)與程序流程的控制類(lèi)指令 程序設(shè)計(jì) 程序設(shè)計(jì)基礎(chǔ) 匯編語(yǔ)言程序設(shè)計(jì) C語(yǔ)言程序設(shè)計(jì),MSP430單片機(jī)軟件開(kāi)發(fā)流程,MSP430開(kāi)發(fā)系統(tǒng),MSP430電路板(帶JTAG或BSL端口) 仿真器(并口/USB口)或BSL編程器 IAR Embedded Workbench for MSP 430,簡(jiǎn)稱(chēng)EW430 Code Composer Studio 5.4.0,簡(jiǎn)稱(chēng)CCS,指令系統(tǒng)概述,MSP430系列單片機(jī):非完全意義的RISC處理器 采用指令正交技術(shù) 只有27條內(nèi)核指令以及24條仿真

13、指令 指令長(zhǎng)度不固定 源操作數(shù)有7種尋址方式 目的操作數(shù)有4種尋址方式 指令周期數(shù)有變化 RISC和CISC CISC(Complex Instruction Set Computer),復(fù)雜指令集,采用變長(zhǎng)指令,不同指令執(zhí)行周期數(shù)變化很大 RISC(Reduced Instruction Set Computer),精簡(jiǎn)指令集,指令長(zhǎng)度固定、格式類(lèi)似、執(zhí)行時(shí)鐘周期數(shù)基本相同、指令較少、尋址方式少。,尋址方式,7種尋址方式,指令集,指令集,指令集,MSP430開(kāi)發(fā)流程,編寫(xiě)源代碼,修改程序,硬件準(zhǔn)備,結(jié)束,仿真調(diào)試,滿意?,修改硬件,軟件不滿意,硬件不滿意,滿意,程序設(shè)計(jì),MSP430開(kāi)發(fā)調(diào)試

14、過(guò)程 1、建立工程項(xiàng)目 2、編寫(xiě)源代碼 3、將源代碼添加到項(xiàng)目文件 4、選擇器件 5、選擇仿真方式 6、編譯下載代碼到芯片 7、仿真調(diào)試,C語(yǔ)言程序設(shè)計(jì):(1)數(shù)據(jù)類(lèi)型,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),三種程序結(jié)構(gòu):順序、分支、循環(huán) 主要語(yǔ)句類(lèi)型: 條件語(yǔ)句 開(kāi)關(guān)語(yǔ)句 循環(huán)語(yǔ)句,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),條件語(yǔ)句,語(yǔ)句表達(dá)形式有3種(a、b、c): a if(條件表達(dá)式) 語(yǔ)句 bif(條件表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2 cif(條件表達(dá)式) 語(yǔ)句1 else if(條件表達(dá)式) 語(yǔ)句2 else if(條件表達(dá)式) 語(yǔ)句3 ,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),開(kāi)關(guān)語(yǔ)

15、句 switch(表達(dá)式) case 常量表達(dá)式1:語(yǔ)句1 break; case 常量表達(dá)式2:語(yǔ)句2 break; case 常量表達(dá)式3:語(yǔ)句3 break; default: 語(yǔ)句d ,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),循環(huán)語(yǔ)句 while(條件表達(dá)式) 語(yǔ)句; 當(dāng)條件滿足時(shí),就反復(fù)執(zhí)行后面的語(yǔ)句,一直執(zhí)行到條件不滿足時(shí)。以軟件延時(shí)程序?yàn)槔f(shuō)明該語(yǔ)句是如何執(zhí)行的。 void delay(long n) while(n!=0)n-; ,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),循環(huán)語(yǔ)句 do 語(yǔ)句 while(條件表達(dá)式) 先執(zhí)行一次循環(huán)體的語(yǔ)句,再判斷條件是否滿足,以決定是否再執(zhí)行循環(huán)

16、體。下面的程序?qū)?shù)組BUFF20中的全部數(shù)據(jù)相加。 int x=0; char i=0; do x =BUFFi + x; i=i+1; while(i20);,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),循環(huán)語(yǔ)句 for(初值設(shè)定表達(dá)式;循環(huán)條件表達(dá)式;條件更新表達(dá)式)語(yǔ)句 for語(yǔ)句常用于需固定循環(huán)次數(shù)的循環(huán)。下面的程序段同樣實(shí)現(xiàn)將數(shù)組BUFF20中的全部數(shù)據(jù)相加的功能。 int x=0; char i=0; for(i=0;i20;i+) x =BUFFi + x;,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),goto語(yǔ)句 goto語(yǔ)句常用于跳轉(zhuǎn)到一個(gè)固定的地址標(biāo)號(hào)。其中固定的地址標(biāo)號(hào)是一個(gè)帶“:”

17、的標(biāo)志符。比如: MM: goto MM ,C語(yǔ)言程序設(shè)計(jì):(2)結(jié)構(gòu)化程序設(shè)計(jì),返回語(yǔ)句 return(表達(dá)式); 該語(yǔ)句主要用于函數(shù)的返回參數(shù)。“表達(dá)式”為返回值。,C語(yǔ)言程序設(shè)計(jì): (3)函數(shù)的定義與調(diào)用,函數(shù)類(lèi)型 函數(shù)名(形式參數(shù)表) 形式參數(shù)說(shuō)明 局部變量定義 函數(shù)體語(yǔ)句 存儲(chǔ)變量類(lèi)型 interrupt 中斷矢量變量 函數(shù)類(lèi)型 函數(shù)名(形式參數(shù)表) 形式參數(shù)說(shuō)明 局部變量定義 函數(shù)體語(yǔ)句 ,C語(yǔ)言程序設(shè)計(jì): (3)函數(shù)的定義與調(diào)用,MSP430開(kāi)發(fā)環(huán)境:IAR Embedded Workbench for MSP430,Company Overview IAR Systems is

18、 the worlds leading provider of software tools for embedded systems that enable large and small companies to develop premium products based on 8-, 16-, and 32-bit microcontrollers.,IAR Embedded Workbench,IAR Embedded Workbench - Build and debug your application IAR Embedded Workbench is a set of dev

19、elopment tools for building and debugging embedded applications using assembler, C and C+. It provides a completely integrated development environment including a project manager, editor, build tools and debugger. IAR Embedded Workbench for MSP430 provides extensive support for all MSP430 devices, h

20、ardware debug systems and RTOSs, and generates very compact and efficient code.,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,EW for MSP430,4 MSP430單片機(jī)片上外設(shè),時(shí)鐘模塊 低功耗結(jié)構(gòu) MSP430各種端口 定時(shí)器 FLASH存儲(chǔ)器模塊 比較器A MSP430系列

21、通用串行通信模塊 MSP430的A/D轉(zhuǎn)換模塊,時(shí)鐘模塊,時(shí)鐘輸入源: LFXT1CLK 低頻時(shí)鐘源 XT2CLK 高頻時(shí)鐘源 DCOCLK 數(shù)字控制RC振蕩器,時(shí)鐘輸出信號(hào): ACLK 輔助時(shí)鐘 MCLK主系統(tǒng)時(shí)鐘 SMCLK子系統(tǒng)時(shí)鐘,慢速外設(shè),CPU和 系統(tǒng),快速外設(shè),振蕩器控制邏輯,LFXT1 振蕩器控制 邏輯,XT2振蕩器控制邏輯,DCO振蕩器 控制邏輯,DCO頻率的調(diào)節(jié),基礎(chǔ)時(shí)鐘模塊工作方式和相關(guān)寄存器設(shè)置,例1設(shè)MCLK = XT2, SMCLK = DCOCLK,將MCLK由P5.4輸出。(MSP430X14X中引腳P5.4和MCLK復(fù)用)。 實(shí)現(xiàn)上述功能的程序如下: #inc

22、lude void main(void) unsigned int i; WDTCTL = WDTPW + WDTHOLD; / 停止看門(mén)狗 P5DIR |= 0 x10; / P5.4 輸出 P5SEL |= 0 x10; / P5.4 用作MCLK輸出 BCSCTL1 ,根據(jù)實(shí)際連接情況,確定ACLK、SMCLK和MCLK時(shí)鐘源。,ACLK: LFTX1 (32768) MCLK: DCOCLK或者LFTX1 SMCLK: DCOCLK或者LFTX1,ACLK: 0 MCLK: DCOCLK SMCLK: DCOCLK,ACLK: LFTX1 (高頻模式) MCLK: DCOCLK或者LF

23、TX1(高頻模式) SMCLK: DCOCLK或者LFTX1(高頻模式),ACLK只能來(lái)源于LFXT1。 MSP430X11X1內(nèi)部只有LFXT1和DCO,沒(méi)有XT2。 LFXT1只有工作于高頻模式才需要外接電容。,低功耗,使用內(nèi)部時(shí)鐘發(fā)生器(DCO)無(wú)需外接任何元件 選擇外接晶體或陶瓷諧振器,可以獲得最低頻率和功耗 采用外部時(shí)鐘信號(hào)源 瞬間響應(yīng)特性,MSP430 工作模式/狀態(tài),MSP430 工作模式,為了充分利用CPU低功耗性能,可以讓CPU工作于突發(fā)狀態(tài)。 在通常情況下,根據(jù)需要使用軟件將CPU設(shè)定到某一種低功耗工作模式下, 在需要時(shí)使用中斷將CPU從休眠狀態(tài)中喚醒,完成工作之后又可以進(jìn)

24、入相應(yīng)的休眠狀態(tài)。,系統(tǒng)響應(yīng)中斷的過(guò)程,硬件自動(dòng)中斷服務(wù) 執(zhí)行中斷處理子程序 執(zhí)行RETI指令(中斷返回),例:系統(tǒng)初始化完畢之后工作于低功耗模式0,中斷事件觸發(fā)到活動(dòng)模式,中斷處理結(jié)束后進(jìn)入到低功耗模式3。 ;主程序 .;初始化操作開(kāi)始 ; ;初始化完畢 BIS #GIE+CPUOFF,SR ; 主程序中設(shè)置低功耗模式0 ;.; 程序在這里停止 ; ;中斷子程序 ;中斷處理開(kāi)始 ;中斷處理結(jié)束 BIS #GIE+CPUOFF+SCG1+SCG0,0(SP);設(shè)置SR為低功耗模式3 RETI;中斷返回 ;系統(tǒng)進(jìn)入低功耗模式3。 ,低功耗0轉(zhuǎn)變?yōu)榈凸?,低功耗原則,一般的低功耗原則: 設(shè)計(jì)外設(shè)

25、時(shí)的常規(guī)原則:,最大化LPM3的時(shí)間,用32KHz晶振作為ACLK時(shí)鐘,DCO用于CPU激活后的突發(fā)短暫運(yùn)行 用接口模塊代替軟件驅(qū)動(dòng)功能。 用中斷控制程序運(yùn)行 用可計(jì)算的分支代替標(biāo)志位測(cè)試產(chǎn)生的分支 用快速查表代替冗長(zhǎng)的軟件計(jì)算 在冗長(zhǎng)的軟件計(jì)算中使用單周期的CPU寄存器 避免頻繁的子程序和函數(shù)調(diào)用 盡可能直接用電池供電,將不用的FETI輸入端連接到VSS JTAG端口TMS、TCK和TDI不要連接到VSS CMOS輸入端不能有浮空節(jié)點(diǎn),將所有輸入端接適當(dāng)?shù)碾娖?不論對(duì)于內(nèi)核還是對(duì)于各外圍模塊,選擇盡可能低的運(yùn)行頻率,如果不影響功能應(yīng)設(shè)計(jì)自 動(dòng)關(guān)機(jī),超低功耗嵌入式實(shí)時(shí)時(shí)鐘,平均電流LPM3電流

26、+工作期間電流 0.80uA+250uA100us/1000000us =0.80 uA +0.030uA =0.83uA,MSP430 CPU工作于突發(fā)狀態(tài),運(yùn)行期間電流消耗250uA 在1S時(shí)間段內(nèi)程序運(yùn)行時(shí)間僅為100us LPM3電流 為0.80uA,MSP430外接 32768Hz晶體,MSP430的端口,類(lèi)型豐富 功能豐富 寄存器豐富,P1,P2, P3,P4,P5,P6, S和COM (MSP430X4XX),I/O 中斷能力 其他片內(nèi)外設(shè)功能 驅(qū)動(dòng)液晶,P1與P2各有7個(gè)寄存器 P3、P4、P5、P6有四個(gè)寄存器,端口數(shù)據(jù)輸出特性,低電平輸出特性,高電平輸出特性,定時(shí)器,看門(mén)狗

27、定時(shí)器 定時(shí)器A 定時(shí)器B,寫(xiě):5AH 讀:69H,16位增計(jì)數(shù)器,看門(mén)狗定時(shí)器,啟、??刂?看門(mén)狗定時(shí)器應(yīng)用舉例,#include void main(void) WDTCTL = WDT_MDLY_32;/ 定時(shí)周期為32ms IE1 |= WDTIE; / 使能WDT中斷 P1DIR |= 0 x01; / P1.0輸出 _EINT(); / 系統(tǒng)中斷允許 for (;) _BIS_SR(CPUOFF); / 進(jìn)入 LPM0 _NOP(); / 看門(mén)狗中斷服務(wù)子程序 #pragma vector= WDT_VECTOR _interrupt void watchdog_timer (vo

28、id) P1OUT = 0 x01; / P1.0取反 ,定時(shí)器Timer_A特性,16位的定時(shí)/計(jì)數(shù)器,4種操作模式 時(shí)鐘源可選 3個(gè)捕獲/比較寄存器 支持多捕捉/比較、PWM輸出、內(nèi)部定時(shí) 異步輸入/輸出鎖存 中斷向量寄存器提供快速Timer_A中斷譯碼功能,定時(shí)器Timer_A結(jié)構(gòu),定時(shí)器A功能模塊,計(jì)數(shù)器部分:輸入的時(shí)鐘源具有4種選擇,所選定的時(shí)鐘源又可以1、2、4或8分頻作為計(jì)數(shù)頻率,Timer_A可以通過(guò)選擇4種工作模式靈活的完成定時(shí)/計(jì)數(shù)功能 捕獲/比較器:用于捕獲事件發(fā)生的時(shí)間或產(chǎn)生時(shí)間間隔,捕獲比較功能的引入主要是為了提高I/O 端口處理事務(wù)的能力和速度。不同的MSP430單

29、片機(jī),Timer_A模塊中所含有的捕獲/比較器的數(shù)量不一樣,每個(gè)捕獲/比較器的結(jié)構(gòu)完全相同,輸入和輸出都決定于各自所帶的控制寄存器的控制字,捕獲/比較器相互之間工作完全獨(dú)立。 輸出單元:具有可選的8種輸出模式,用于產(chǎn)生用戶需要的輸出信號(hào)。支持PWM,定時(shí)器A中斷,CCR0中斷,CCR1CCRx 和定時(shí)器中斷,定時(shí)器工作模式,停止模式,停止模式用于定時(shí)器暫停,并不發(fā)生復(fù)位,所有寄存器現(xiàn)行的內(nèi)容在停止模式結(jié)束后都可用。當(dāng)定時(shí)器暫停后重新計(jì)數(shù)時(shí),計(jì)數(shù)器將從暫停時(shí)的值開(kāi)始以暫停前的計(jì)數(shù)方向計(jì)數(shù)。例如,停止模式前,Timer_A工作于增/減計(jì)數(shù)模式并且處于下降計(jì)數(shù)方向,停止模式后,Timer_仍然工作于

30、增/減計(jì)數(shù)模式,從暫停前的狀態(tài)開(kāi)始繼續(xù)沿著下降方向開(kāi)始計(jì)數(shù)。如果不能這樣,則可通過(guò)TACTL中的CLR控制位來(lái)清除定時(shí)器的方向記憶特性。,增計(jì)數(shù)模式,捕獲/比較寄存器CCR0用作Timer_A增計(jì)數(shù)模式的周期寄存器,因?yàn)镃CR0為16位寄存器,所以該模式適用于定時(shí)周期小于65 536的連續(xù)計(jì)數(shù)情況。計(jì)數(shù)器TAR可以增計(jì)數(shù)到CCR0的值,當(dāng)計(jì)數(shù)值與CCR0的值相等(或定時(shí)器值大于CCR0的值)時(shí),定時(shí)器復(fù)位并從0開(kāi)始重新計(jì)數(shù)。,增計(jì)數(shù)模式的 計(jì)數(shù)過(guò)程,增計(jì)數(shù)模式的中斷標(biāo)志位設(shè)置,連續(xù)計(jì)數(shù)模式,在需要65 536個(gè)時(shí)鐘周期的定時(shí)應(yīng)用場(chǎng)合常用連續(xù)計(jì)數(shù)模式。定時(shí)器從當(dāng)前值計(jì)數(shù)到0FFFFH后,又從0開(kāi)

31、始重新計(jì)數(shù),計(jì)數(shù)器的 計(jì)數(shù)過(guò)程,標(biāo)志位 設(shè)置,連續(xù)計(jì)數(shù)模式的典型應(yīng)用,產(chǎn)生多個(gè)獨(dú)立的時(shí)序信號(hào):利用捕獲比較寄存器捕獲各種 其他外部事件發(fā)生的定時(shí)器數(shù)據(jù),產(chǎn)生多個(gè)定時(shí)信號(hào):通過(guò)中斷處理程序在相應(yīng)的比較寄存器CCRx上加上 一個(gè)時(shí)間差來(lái)實(shí)現(xiàn)。這個(gè)時(shí)間差是當(dāng)前時(shí)刻(既相應(yīng)的CCRx中的值) 到下一次中斷發(fā)生時(shí)刻所經(jīng)歷的時(shí)間,增/減計(jì)數(shù)模式,需要對(duì)稱(chēng)波形的情況經(jīng)常可以使用增/減計(jì)數(shù)模式,該模式下,定時(shí)器先增計(jì)數(shù)到CCR0的值,然后反向減計(jì)數(shù)到0。計(jì)數(shù)周期仍由CCR0定義,它是CCR0計(jì)數(shù)器數(shù)值的2倍。,計(jì)數(shù)器的 計(jì)數(shù)過(guò)程,標(biāo)志位 設(shè)置,增/減計(jì)數(shù)模式,增/減計(jì)數(shù)模式與比較輸出模式結(jié)合可產(chǎn)生帶死區(qū)的PW

32、M,捕獲/比較模塊,捕獲模式,當(dāng)CCTLx中的CAPx=1,該模塊工作在捕獲模式。這時(shí)如果在選定的引腳上發(fā)生設(shè)定的脈沖觸發(fā)沿(上升沿、下降沿或任意跳變),則TAR中的值將寫(xiě)入到CCRx中。 每個(gè)捕獲比較寄存器能被軟件用于時(shí)間標(biāo)記??捎糜诟鞣N目的 當(dāng)捕獲完成后,中斷標(biāo)志位CCIFGx 被置位。,測(cè)量軟件程序所用時(shí)間 測(cè)量硬件事件之間的時(shí)間 測(cè)量系統(tǒng)頻率,輸出單元,每個(gè)捕獲/比較模塊包含一個(gè)輸出單元,用于產(chǎn)生輸出信號(hào),輸出單元的結(jié)構(gòu),輸出單元時(shí)序,輸出模式,輸出模式0 輸出模式:輸出信號(hào)OUTx由每個(gè)捕獲/比較模塊的控制寄存器CCTLx中的OUTx位定義,并在寫(xiě)入該寄存器后立即更新。最終位OUTx

33、直通。 輸出模式1 置位模式:輸出信號(hào)在TAR等于CCRx時(shí)置位,并保持置位到定時(shí)器復(fù)位或選擇另一種輸出模式為止。 輸出模式2 PWM翻轉(zhuǎn)/復(fù)位模式:輸出在TAR的值等于CCRx時(shí)翻轉(zhuǎn),當(dāng)TAR的值等于CCR0時(shí)復(fù)位。 輸出模式3 PWM置位/復(fù)位模式:輸出在TAR的值等于CCRx時(shí)置位,當(dāng)TAR的值等于CCR0時(shí)復(fù)位。,輸出模式,輸出模式4 翻轉(zhuǎn)模式:輸出電平在TAR的值等于CCRx時(shí)翻轉(zhuǎn),輸出周期是定時(shí)器周期的2倍。 輸出模式5 復(fù)位模式:輸出在TAR的值等于CCRx時(shí)復(fù)位,并保持低電平直到選擇另一種輸出模式。 輸出模式6 PWM翻轉(zhuǎn)/置位模式:輸出電平在TAR的值等于CCRx時(shí)翻轉(zhuǎn),當(dāng)T

34、AR值等于CCR0時(shí)置位。 輸出模式7 PWM復(fù)位/置位模式:輸出電平在TAR的值等于CCRx時(shí)復(fù)位,當(dāng)TAR的值等于CCR0時(shí)置位。,增計(jì)數(shù)模式輸出實(shí)例,連續(xù)計(jì)數(shù)模式下的輸出波形,增/減計(jì)數(shù)模式下的輸出實(shí)例,增/減計(jì)數(shù)模式下的輸出實(shí)例,增/減計(jì)數(shù)模式與比較輸出模式相結(jié)合可支持帶死區(qū)的PWM,Timer_A實(shí)現(xiàn)PWM,PWM信號(hào)示意,Timer_A產(chǎn)生PWM,Timer_A實(shí)現(xiàn)PWM舉例,例:設(shè)ACLK = TACLK = LFXT1 = 32768, MCLK = SMCLK = DCOCLK = 32ACLK = 1.048576Mhz,利用Timer_A輸出周期為512 /32768 =

35、 15.625ms、占空比分別為75%和25%的PWM矩形波: #include void main(void) WDTCTL = WDTPW +WDTHOLD; TACTL = TASSEL0 + TACLR; / ACLK, 清除 TAR CCR0 = 512-1; / PWM周期 CCTL1 = OUTMOD_7; CCR1 = 384; /占空比 384/512=0.75 CCTL2 = OUTMOD_7; CCR2 = 128; /占空比128/512=0.25 P1DIR |= 0 x04; / P1.2 輸出 P1SEL |= 0 x04; / P1.2 TA1 P2DIR |=

36、 0 x01; / P2.0 輸出 P2SEL |= 0 x01; / P2.0 TA2 TACTL |= MC0; / Timer_A 增計(jì)數(shù)模式 for (;) _BIS_SR(LPM3_bits); / 進(jìn)入 LPM3 _NOP(); ,PWM信號(hào),調(diào)整PWM信號(hào) 占空比,PWM信號(hào)經(jīng)濾波輸出,TIMER_B,Timer_B和Timer_A共同的特征,4種工作模式 具有可選,可配置的計(jì)數(shù)器輸入時(shí)鐘源 有多個(gè)獨(dú)立可配置捕獲/比較模塊 有多個(gè)具有8種輸出模式的可配置輸出單元 中斷功能強(qiáng)大,中斷可能源自于計(jì)數(shù)器的溢出,也可能源自于各捕獲/比較模塊上發(fā)生的捕獲事件或比較事件。,Timer_B與T

37、imer_A不同之處,Timer_B計(jì)數(shù)長(zhǎng)度為8位,10位,12位和16位可編程,而Timer_A的計(jì)數(shù)長(zhǎng)度固定為16位。 Timer_B中沒(méi)有實(shí)現(xiàn)Timer_A中的SCCI寄存器位的功能。 Timer_B在比較模式下的捕獲/比較寄存器功能與Timer_A不同,增加了比較鎖存器 有些型號(hào)芯片中的Timer_B輸出實(shí)現(xiàn)了高阻輸出 比較模式的原理稍有不同:在Timer_A中,CCRx寄存器中保存與TAR相比較的數(shù)據(jù);而在Timer_B中,CCRx寄存器中保存的是要比較的數(shù)據(jù),但并不直接與定時(shí)器TBR相比較,而是將CCRx送到與之相對(duì)應(yīng)的鎖存器之后,由鎖存器與定時(shí)器TBR相比較。從捕獲/比較寄存器向

38、比較鎖存器傳輸數(shù)據(jù)的時(shí)機(jī)也是可以編程的,可以是在寫(xiě)入捕獲/比較寄存器后立即傳輸,也可以是由一個(gè)定時(shí)事件來(lái)觸發(fā)。 Timer_B支持多重的、同步的定時(shí)功能;多重的捕獲/比較功能;多重的波形輸出功能(比如PWM信號(hào))。而且,通過(guò)對(duì)比較數(shù)據(jù)的兩級(jí)緩沖,可以實(shí)現(xiàn)多個(gè)PWM信號(hào)周期的同步更新,FLASH存儲(chǔ)器模塊 主要特點(diǎn),編程可以使用位、字節(jié)和字操作 可以通過(guò)JTAG、BSL和ISP進(jìn)行編程 1.83.6V工作電壓,2.73.6V編程電壓 100K的擦除/編程周期 數(shù)據(jù)保持時(shí)間從10年到100年不等 可編程次數(shù)從100到100,000次 60K空間編程時(shí)間5秒 保密熔絲燒斷后不可恢復(fù),不能再對(duì)JTAG

39、進(jìn)行任何訪問(wèn)。 FLASH編程/擦除時(shí)間由內(nèi)部硬件控制,無(wú)需任何軟件干預(yù),部分容量的FLASH段與地址的對(duì)應(yīng)關(guān)系,FLASH存儲(chǔ)器的結(jié)構(gòu)框圖,FLASH存儲(chǔ)器的主要功能部件,控制寄存器:控制FLASH存儲(chǔ)器的擦除與寫(xiě)入 FLASH存儲(chǔ)器陣列:存儲(chǔ)體 地址數(shù)據(jù)鎖存器:擦除與編程時(shí)執(zhí)行鎖存操作 編程電壓發(fā)生器:產(chǎn)生編程電壓 時(shí)序發(fā)生器:產(chǎn)生擦除與編程所需所有時(shí)序控制信號(hào),擦除操作,選擇適當(dāng)?shù)臅r(shí)鐘源和分頻因子,為時(shí)序發(fā)生器提供正確時(shí)鐘輸入 如果Lock=1,則將它復(fù)位 監(jiān)視BUSY標(biāo)志位只有當(dāng)BUSY=0時(shí)才可以執(zhí)行下一步,否則一直監(jiān)視BUSY。 如果擦除一段,則設(shè)置ERASE=1。 如果擦除多段,

40、則設(shè)置MERAS=1 如果整個(gè)FLASH全擦除,則設(shè)置RASE=1同時(shí)MERAS=1。 對(duì)擦除的地址范圍內(nèi)任意位置作一次空寫(xiě)入,用以啟動(dòng)擦除操作。如果空寫(xiě)的地址在不能執(zhí)行擦除操作的段地址范圍內(nèi),則寫(xiě)入操作不起作用,FLASH編程操作,選擇適當(dāng)?shù)臅r(shí)鐘源以及合適的分頻因子 如果Lock=1,將它復(fù)位 監(jiān)視BUSY位,直到BUSY=0是才可進(jìn)入下一步 如果寫(xiě)入單字或單字節(jié),則將設(shè)置WRT=1 如果是塊寫(xiě)或多字、多字節(jié)順序?qū)懭?,則將設(shè)置WRT=1,BLKWRT=1 將數(shù)據(jù)寫(xiě)入選定地址時(shí)啟動(dòng)時(shí)序發(fā)生器,在時(shí)序發(fā)生器的控制下完成整個(gè)過(guò)程,比較器Comparator_A的結(jié)構(gòu),比較器A的功能,比較器A的主要

41、功能是指出兩個(gè)輸入電壓CA0和CA1的大小關(guān)系,然后設(shè)置輸出信號(hào)CAOUT的值。如果CA0CA1 則:CAOUT1,否則CAOUT0。 參與比較的兩個(gè)電壓CA0和CA1可以是外部或者內(nèi)部基準(zhǔn)電壓。任何組合都是可能的。,兩個(gè)外部輸入比較 每個(gè)外部輸入與0.5VCC或0.25VCC比較 每個(gè)外部輸入與內(nèi)部基準(zhǔn)電壓比較,比較器A的中斷,比較器A響應(yīng)中斷的條件為,有中斷源:比較器模塊有比較結(jié)果輸出。 設(shè)置中斷標(biāo)志:CAIES選擇比較器輸出的上升沿或下降沿使 中斷標(biāo)志CAIFG置位。 中斷允許:比較器A中斷允許(CAIE置位)、系統(tǒng)總中斷允許 (GIE置位),中斷響應(yīng)后,因?yàn)楸容^器A具有獨(dú)立中斷向量,是

42、單源中斷,硬件 會(huì)自動(dòng)清除中斷標(biāo)志位CAIFG,比較器A應(yīng)用舉例,電壓檢測(cè):P2.3輸入的未知電壓接到比較器A正端,片內(nèi)參考電壓0.25Vcc接到比較器A負(fù)端,如果未知電壓大于0.25Vcc,P1.0置位,否則P1.0復(fù)位。,#include msp430 x14x.h void main (void) WDTCTL = WDTPW + WDTHOLD; / 停止看門(mén)狗 P1DIR |= 0 x01; / P1.0 輸出 CACTL1 = CARSEL + CAREF0 + CAON; / 0.25 Vcc = -comp CACTL2 = P2CA0; / P2.3 = +comp while (1) if (CAOUT / 否則復(fù)位 ,USART模塊結(jié)構(gòu),UART異步模式特點(diǎn),異步模式,包括線路空閑/地址位通信協(xié)議 兩個(gè)獨(dú)立移位寄存器:輸入移位寄存器和輸出移位寄存器 傳輸7位或8位數(shù)據(jù),可采用奇校驗(yàn)或偶校

溫馨提示

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