版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、MSP430系列16位超低功耗單片機原理與實踐,1 概述 2 MSP430單片機結(jié)構(gòu) 3 MSP430指令系統(tǒng)與程序設(shè)計 4 MSP430單片機的片上外設(shè) 5 MSP430單片機接口應(yīng)用,參考資料: 謝興紅等。MSP430單片機基礎(chǔ)與實踐。北京航空航天大學(xué)出版社,2008 曹磊。 MSP430單片機C程序設(shè)計與實踐。北京航空航天大學(xué)出版社,2007 ,1 概述,單片微型計算機 單片機的概念 單片機的特點 單片機的應(yīng)用 MSP430系列單片機 MSP430系列單片機的特點 MSP430系列單片機命名規(guī)則 MSP430系列單片機選型,單片微型計算機:單片機的概念,微處理器的發(fā)展一方面是朝著面向數(shù)據(jù)
2、運算、信息處理等功能的系統(tǒng)機方向發(fā)展。系統(tǒng)機以速度快、功能強、存儲量大、軟件豐富、輸入/輸出設(shè)備齊全為主要特點,采用高級語言編程,適用于數(shù)據(jù)運算、文字信息處理、人工智能、網(wǎng)絡(luò)通信等場合。 另一方面,在一些應(yīng)用領(lǐng)域中,如智能化儀器儀表、電訊設(shè)備、自動控制設(shè)備、汽車乃至家用電器等,要求的運算、控制功能相對并不很復(fù)雜,但對體積、成本、功耗等的要求卻比較苛刻。為適應(yīng)這方面的需求,產(chǎn)生了一種將中央處理器、存儲器、I/O接口電路以及連接它們的總線都集成在一塊芯片上的計算機,即所謂的單片微型計算機,簡稱單片機(Single Chip Microcomputer)。單片機在設(shè)計上主要突出了控制功能,調(diào)整了接口
3、配置,在單一芯片上制成了結(jié)構(gòu)完整的計算機,因此,單片機也稱為微控制器(MCU)。,單片機的特點,小巧靈活、成本低、易于產(chǎn)品化,它能方便地組裝成各種智能式控制設(shè)備以及各種智能儀器儀表。 面向控制,能針對性地解決從簡單到復(fù)雜的各類控制任務(wù),因而能獲得最佳性能價格比。 抗干擾能力強,適應(yīng)溫度范圍寬,在各種惡劣環(huán)境下都能可靠地工作,這是其他機型無法比擬的。 可以很方便地實現(xiàn)多機和分布式控制。使整個系統(tǒng)的效率和可靠性大為提高。,單片機的應(yīng)用,MSP430系列單片機,特點: 超低功耗 強大的處理能力 高性能模擬技術(shù)及豐富的片上外設(shè) 系統(tǒng)工作穩(wěn)定 方便高效的開發(fā)環(huán)境,MSP430系列單片機命名規(guī)則,MSP4
4、30 F 14 9 A I PM,2 MSP430單片機結(jié)構(gòu),MSP430單片機結(jié)構(gòu)概述 MSP430系列產(chǎn)品 無LCD驅(qū)動系列產(chǎn)品 有LCD驅(qū)動系列產(chǎn)品 RF系列 FRAM系列 MSP430 CPU結(jié)構(gòu)和特點 MSP430存儲器和地址空間 程序存儲器 數(shù)據(jù)存儲器 外圍模塊寄存器,MSP430單片機結(jié)構(gòu),MSP430單片機結(jié)構(gòu),MSP430結(jié)構(gòu),16位CPU通過總線連接到存儲器和外圍模塊(馮諾伊曼結(jié)構(gòu))。 通過JTAG接口進行實時嵌入式仿真處理。 多種低功耗工作模式。 8/16位數(shù)據(jù)寬度,數(shù)據(jù)處理更為有效。 硬件乘法器。 豐富的片上外設(shè)。,MSP430系列單片機主要功能部件:,CPU:MSP4
5、30系列單片機的CPU和通用微處理器基本相同,只是在設(shè)計上采用了面向控制的結(jié)構(gòu)和指令系統(tǒng)。MSP430的內(nèi)核CPU結(jié)構(gòu)是按照精簡指令集(RISC)和高透明的宗旨而設(shè)計的,使用的指令有硬件執(zhí)行的內(nèi)核指令和基于現(xiàn)有硬件結(jié)構(gòu)的仿真指令。這樣可以提高指令執(zhí)行速度和效率,增強了MSP430的實時處理能力。 存儲器:存儲程序、數(shù)據(jù)以及外圍模塊的運行控制信息。有程序存儲器和數(shù)據(jù)存儲器。對程序存儲器訪問總是以字形式取得代碼,而對數(shù)據(jù)可以用字或字節(jié)方式訪問。其中MSP430各系列單片機的程序存儲器有ROM、OTP、EPROM和FLASH型。 片上外設(shè)(片內(nèi)外圍模塊):經(jīng)過MAB、MDB、MCB與CPU相連。MS
6、P430不同系列產(chǎn)品所包含外圍模塊的種類及數(shù)目可能不同。它們分別是以下一些外圍模塊的組合:時鐘模塊、看門狗、定時器A、定時器B、比較器A、串口0、1、硬件乘法器、液晶驅(qū)動器、模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換、端口、基本定時器、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) 開發(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的主要特征,精簡指令集高度正交化 寄存器資源豐富 寄存器操作為單周期 16位地址總線 常數(shù)發(fā)生器 直接的存儲器到存儲器訪問,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個寄存器中R2
10、與R3為常數(shù)發(fā)生器,利用CPU的27條內(nèi)核指令配合常數(shù)發(fā)生器可以生成一些簡潔高效的模擬指令。,MSP430存儲器結(jié)構(gòu)和地址空間,BSL,存儲單元字節(jié)地址,0C00H,0FFFH,01000H,09FFH,MSP430存儲器結(jié)構(gòu)和地址空間,MSP430中斷向量表,MSP430單片機的中斷系統(tǒng),中斷類型 系統(tǒng)復(fù)位 POR (Power On Reset)上電復(fù)位 由Brown_Out_Reset (BOR) 復(fù)位電路產(chǎn)生 由RST/NMI引腳產(chǎn)生 PUC (Power Up Clear)上電清除 由POR信號產(chǎn)生 看門狗溢出 看門狗安全鍵值出錯 FLASH安全鍵出錯 非可屏蔽中斷不能使用全局中斷使
11、能位(GIE)屏蔽 RST/NMI端口出現(xiàn)跳變 使用中斷使能位NMIIE控制 晶振故障使用中斷使能位OFIE控制 FLASH訪問出錯使用中斷使能位ACCVIE控制 可屏蔽中斷有各自的中斷屏蔽位,也能被GIE屏蔽,MSP430單片機的中斷系統(tǒng),中斷響應(yī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è)計,指令系統(tǒng)概述 尋址方式 指令系統(tǒng)介紹 數(shù)據(jù)傳送類指令 數(shù)據(jù)運算類指令 邏輯操作指令 位操作指令 跳轉(zhuǎn)與程序流程的控制類指令 程序設(shè)計 程序設(shè)計基礎(chǔ) 匯編語言程序設(shè)計 C語言程序設(shè)計,MSP430單片機軟件開發(fā)流程,MSP430開發(fā)系統(tǒng),MSP430電路板(帶JTAG或BSL端口) 仿真器(并口/USB口)或BSL編程器 IAR Embedded Workbench for MSP 430,簡稱EW430 Code Composer Studio 5.4.0,簡稱CCS,指令系統(tǒng)概述,MSP430系列單片機:非完全意義的RISC處理器 采用指令正交技術(shù) 只有27條內(nèi)核指令以及24條仿真
13、指令 指令長度不固定 源操作數(shù)有7種尋址方式 目的操作數(shù)有4種尋址方式 指令周期數(shù)有變化 RISC和CISC CISC(Complex Instruction Set Computer),復(fù)雜指令集,采用變長指令,不同指令執(zhí)行周期數(shù)變化很大 RISC(Reduced Instruction Set Computer),精簡指令集,指令長度固定、格式類似、執(zhí)行時鐘周期數(shù)基本相同、指令較少、尋址方式少。,尋址方式,7種尋址方式,指令集,指令集,指令集,MSP430開發(fā)流程,編寫源代碼,修改程序,硬件準(zhǔn)備,結(jié)束,仿真調(diào)試,滿意?,修改硬件,軟件不滿意,硬件不滿意,滿意,程序設(shè)計,MSP430開發(fā)調(diào)試
14、過程 1、建立工程項目 2、編寫源代碼 3、將源代碼添加到項目文件 4、選擇器件 5、選擇仿真方式 6、編譯下載代碼到芯片 7、仿真調(diào)試,C語言程序設(shè)計:(1)數(shù)據(jù)類型,C語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,三種程序結(jié)構(gòu):順序、分支、循環(huán) 主要語句類型: 條件語句 開關(guān)語句 循環(huán)語句,C語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,條件語句,語句表達形式有3種(a、b、c): a if(條件表達式) 語句 bif(條件表達式) 語句1 else 語句2 cif(條件表達式) 語句1 else if(條件表達式) 語句2 else if(條件表達式) 語句3 ,C語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,開關(guān)語
15、句 switch(表達式) case 常量表達式1:語句1 break; case 常量表達式2:語句2 break; case 常量表達式3:語句3 break; default: 語句d ,C語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,循環(huán)語句 while(條件表達式) 語句; 當(dāng)條件滿足時,就反復(fù)執(zhí)行后面的語句,一直執(zhí)行到條件不滿足時。以軟件延時程序為例說明該語句是如何執(zhí)行的。 void delay(long n) while(n!=0)n-; ,C語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,循環(huán)語句 do 語句 while(條件表達式) 先執(zhí)行一次循環(huán)體的語句,再判斷條件是否滿足,以決定是否再執(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語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,循環(huán)語句 for(初值設(shè)定表達式;循環(huán)條件表達式;條件更新表達式)語句 for語句常用于需固定循環(huán)次數(shù)的循環(huán)。下面的程序段同樣實現(xiàn)將數(shù)組BUFF20中的全部數(shù)據(jù)相加的功能。 int x=0; char i=0; for(i=0;i20;i+) x =BUFFi + x;,C語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,goto語句 goto語句常用于跳轉(zhuǎn)到一個固定的地址標(biāo)號。其中固定的地址標(biāo)號是一個帶“:”
17、的標(biāo)志符。比如: MM: goto MM ,C語言程序設(shè)計:(2)結(jié)構(gòu)化程序設(shè)計,返回語句 return(表達式); 該語句主要用于函數(shù)的返回參數(shù)。“表達式”為返回值。,C語言程序設(shè)計: (3)函數(shù)的定義與調(diào)用,函數(shù)類型 函數(shù)名(形式參數(shù)表) 形式參數(shù)說明 局部變量定義 函數(shù)體語句 存儲變量類型 interrupt 中斷矢量變量 函數(shù)類型 函數(shù)名(形式參數(shù)表) 形式參數(shù)說明 局部變量定義 函數(shù)體語句 ,C語言程序設(shè)計: (3)函數(shù)的定義與調(diào)用,MSP430開發(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單片機片上外設(shè),時鐘模塊 低功耗結(jié)構(gòu) MSP430各種端口 定時器 FLASH存儲器模塊 比較器A MSP430系列
21、通用串行通信模塊 MSP430的A/D轉(zhuǎn)換模塊,時鐘模塊,時鐘輸入源: LFXT1CLK 低頻時鐘源 XT2CLK 高頻時鐘源 DCOCLK 數(shù)字控制RC振蕩器,時鐘輸出信號: ACLK 輔助時鐘 MCLK主系統(tǒng)時鐘 SMCLK子系統(tǒng)時鐘,慢速外設(shè),CPU和 系統(tǒng),快速外設(shè),振蕩器控制邏輯,LFXT1 振蕩器控制 邏輯,XT2振蕩器控制邏輯,DCO振蕩器 控制邏輯,DCO頻率的調(diào)節(jié),基礎(chǔ)時鐘模塊工作方式和相關(guān)寄存器設(shè)置,例1設(shè)MCLK = XT2, SMCLK = DCOCLK,將MCLK由P5.4輸出。(MSP430X14X中引腳P5.4和MCLK復(fù)用)。 實現(xiàn)上述功能的程序如下: #inc
22、lude void main(void) unsigned int i; WDTCTL = WDTPW + WDTHOLD; / 停止看門狗 P5DIR |= 0 x10; / P5.4 輸出 P5SEL |= 0 x10; / P5.4 用作MCLK輸出 BCSCTL1 ,根據(jù)實際連接情況,確定ACLK、SMCLK和MCLK時鐘源。,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只能來源于LFXT1。 MSP430X11X1內(nèi)部只有LFXT1和DCO,沒有XT2。 LFXT1只有工作于高頻模式才需要外接電容。,低功耗,使用內(nèi)部時鐘發(fā)生器(DCO)無需外接任何元件 選擇外接晶體或陶瓷諧振器,可以獲得最低頻率和功耗 采用外部時鐘信號源 瞬間響應(yīng)特性,MSP430 工作模式/狀態(tài),MSP430 工作模式,為了充分利用CPU低功耗性能,可以讓CPU工作于突發(fā)狀態(tài)。 在通常情況下,根據(jù)需要使用軟件將CPU設(shè)定到某一種低功耗工作模式下, 在需要時使用中斷將CPU從休眠狀態(tài)中喚醒,完成工作之后又可以進
24、入相應(yīng)的休眠狀態(tài)。,系統(tǒng)響應(yīng)中斷的過程,硬件自動中斷服務(wù) 執(zhí)行中斷處理子程序 執(zhí)行RETI指令(中斷返回),例:系統(tǒng)初始化完畢之后工作于低功耗模式0,中斷事件觸發(fā)到活動模式,中斷處理結(jié)束后進入到低功耗模式3。 ;主程序 .;初始化操作開始 ; ;初始化完畢 BIS #GIE+CPUOFF,SR ; 主程序中設(shè)置低功耗模式0 ;.; 程序在這里停止 ; ;中斷子程序 ;中斷處理開始 ;中斷處理結(jié)束 BIS #GIE+CPUOFF+SCG1+SCG0,0(SP);設(shè)置SR為低功耗模式3 RETI;中斷返回 ;系統(tǒng)進入低功耗模式3。 ,低功耗0轉(zhuǎn)變?yōu)榈凸?,低功耗原則,一般的低功耗原則: 設(shè)計外設(shè)
25、時的常規(guī)原則:,最大化LPM3的時間,用32KHz晶振作為ACLK時鐘,DCO用于CPU激活后的突發(fā)短暫運行 用接口模塊代替軟件驅(qū)動功能。 用中斷控制程序運行 用可計算的分支代替標(biāo)志位測試產(chǎn)生的分支 用快速查表代替冗長的軟件計算 在冗長的軟件計算中使用單周期的CPU寄存器 避免頻繁的子程序和函數(shù)調(diào)用 盡可能直接用電池供電,將不用的FETI輸入端連接到VSS JTAG端口TMS、TCK和TDI不要連接到VSS CMOS輸入端不能有浮空節(jié)點,將所有輸入端接適當(dāng)?shù)碾娖?不論對于內(nèi)核還是對于各外圍模塊,選擇盡可能低的運行頻率,如果不影響功能應(yīng)設(shè)計自 動關(guān)機,超低功耗嵌入式實時時鐘,平均電流LPM3電流
26、+工作期間電流 0.80uA+250uA100us/1000000us =0.80 uA +0.030uA =0.83uA,MSP430 CPU工作于突發(fā)狀態(tài),運行期間電流消耗250uA 在1S時間段內(nèi)程序運行時間僅為100us LPM3電流 為0.80uA,MSP430外接 32768Hz晶體,MSP430的端口,類型豐富 功能豐富 寄存器豐富,P1,P2, P3,P4,P5,P6, S和COM (MSP430X4XX),I/O 中斷能力 其他片內(nèi)外設(shè)功能 驅(qū)動液晶,P1與P2各有7個寄存器 P3、P4、P5、P6有四個寄存器,端口數(shù)據(jù)輸出特性,低電平輸出特性,高電平輸出特性,定時器,看門狗
27、定時器 定時器A 定時器B,寫:5AH 讀:69H,16位增計數(shù)器,看門狗定時器,啟、停控制,看門狗定時器應(yīng)用舉例,#include void main(void) WDTCTL = WDT_MDLY_32;/ 定時周期為32ms IE1 |= WDTIE; / 使能WDT中斷 P1DIR |= 0 x01; / P1.0輸出 _EINT(); / 系統(tǒng)中斷允許 for (;) _BIS_SR(CPUOFF); / 進入 LPM0 _NOP(); / 看門狗中斷服務(wù)子程序 #pragma vector= WDT_VECTOR _interrupt void watchdog_timer (vo
28、id) P1OUT = 0 x01; / P1.0取反 ,定時器Timer_A特性,16位的定時/計數(shù)器,4種操作模式 時鐘源可選 3個捕獲/比較寄存器 支持多捕捉/比較、PWM輸出、內(nèi)部定時 異步輸入/輸出鎖存 中斷向量寄存器提供快速Timer_A中斷譯碼功能,定時器Timer_A結(jié)構(gòu),定時器A功能模塊,計數(shù)器部分:輸入的時鐘源具有4種選擇,所選定的時鐘源又可以1、2、4或8分頻作為計數(shù)頻率,Timer_A可以通過選擇4種工作模式靈活的完成定時/計數(shù)功能 捕獲/比較器:用于捕獲事件發(fā)生的時間或產(chǎn)生時間間隔,捕獲比較功能的引入主要是為了提高I/O 端口處理事務(wù)的能力和速度。不同的MSP430單
29、片機,Timer_A模塊中所含有的捕獲/比較器的數(shù)量不一樣,每個捕獲/比較器的結(jié)構(gòu)完全相同,輸入和輸出都決定于各自所帶的控制寄存器的控制字,捕獲/比較器相互之間工作完全獨立。 輸出單元:具有可選的8種輸出模式,用于產(chǎn)生用戶需要的輸出信號。支持PWM,定時器A中斷,CCR0中斷,CCR1CCRx 和定時器中斷,定時器工作模式,停止模式,停止模式用于定時器暫停,并不發(fā)生復(fù)位,所有寄存器現(xiàn)行的內(nèi)容在停止模式結(jié)束后都可用。當(dāng)定時器暫停后重新計數(shù)時,計數(shù)器將從暫停時的值開始以暫停前的計數(shù)方向計數(shù)。例如,停止模式前,Timer_A工作于增/減計數(shù)模式并且處于下降計數(shù)方向,停止模式后,Timer_仍然工作于
30、增/減計數(shù)模式,從暫停前的狀態(tài)開始繼續(xù)沿著下降方向開始計數(shù)。如果不能這樣,則可通過TACTL中的CLR控制位來清除定時器的方向記憶特性。,增計數(shù)模式,捕獲/比較寄存器CCR0用作Timer_A增計數(shù)模式的周期寄存器,因為CCR0為16位寄存器,所以該模式適用于定時周期小于65 536的連續(xù)計數(shù)情況。計數(shù)器TAR可以增計數(shù)到CCR0的值,當(dāng)計數(shù)值與CCR0的值相等(或定時器值大于CCR0的值)時,定時器復(fù)位并從0開始重新計數(shù)。,增計數(shù)模式的 計數(shù)過程,增計數(shù)模式的中斷標(biāo)志位設(shè)置,連續(xù)計數(shù)模式,在需要65 536個時鐘周期的定時應(yīng)用場合常用連續(xù)計數(shù)模式。定時器從當(dāng)前值計數(shù)到0FFFFH后,又從0開
31、始重新計數(shù),計數(shù)器的 計數(shù)過程,標(biāo)志位 設(shè)置,連續(xù)計數(shù)模式的典型應(yīng)用,產(chǎn)生多個獨立的時序信號:利用捕獲比較寄存器捕獲各種 其他外部事件發(fā)生的定時器數(shù)據(jù),產(chǎn)生多個定時信號:通過中斷處理程序在相應(yīng)的比較寄存器CCRx上加上 一個時間差來實現(xiàn)。這個時間差是當(dāng)前時刻(既相應(yīng)的CCRx中的值) 到下一次中斷發(fā)生時刻所經(jīng)歷的時間,增/減計數(shù)模式,需要對稱波形的情況經(jīng)常可以使用增/減計數(shù)模式,該模式下,定時器先增計數(shù)到CCR0的值,然后反向減計數(shù)到0。計數(shù)周期仍由CCR0定義,它是CCR0計數(shù)器數(shù)值的2倍。,計數(shù)器的 計數(shù)過程,標(biāo)志位 設(shè)置,增/減計數(shù)模式,增/減計數(shù)模式與比較輸出模式結(jié)合可產(chǎn)生帶死區(qū)的PW
32、M,捕獲/比較模塊,捕獲模式,當(dāng)CCTLx中的CAPx=1,該模塊工作在捕獲模式。這時如果在選定的引腳上發(fā)生設(shè)定的脈沖觸發(fā)沿(上升沿、下降沿或任意跳變),則TAR中的值將寫入到CCRx中。 每個捕獲比較寄存器能被軟件用于時間標(biāo)記??捎糜诟鞣N目的 當(dāng)捕獲完成后,中斷標(biāo)志位CCIFGx 被置位。,測量軟件程序所用時間 測量硬件事件之間的時間 測量系統(tǒng)頻率,輸出單元,每個捕獲/比較模塊包含一個輸出單元,用于產(chǎn)生輸出信號,輸出單元的結(jié)構(gòu),輸出單元時序,輸出模式,輸出模式0 輸出模式:輸出信號OUTx由每個捕獲/比較模塊的控制寄存器CCTLx中的OUTx位定義,并在寫入該寄存器后立即更新。最終位OUTx
33、直通。 輸出模式1 置位模式:輸出信號在TAR等于CCRx時置位,并保持置位到定時器復(fù)位或選擇另一種輸出模式為止。 輸出模式2 PWM翻轉(zhuǎn)/復(fù)位模式:輸出在TAR的值等于CCRx時翻轉(zhuǎn),當(dāng)TAR的值等于CCR0時復(fù)位。 輸出模式3 PWM置位/復(fù)位模式:輸出在TAR的值等于CCRx時置位,當(dāng)TAR的值等于CCR0時復(fù)位。,輸出模式,輸出模式4 翻轉(zhuǎn)模式:輸出電平在TAR的值等于CCRx時翻轉(zhuǎn),輸出周期是定時器周期的2倍。 輸出模式5 復(fù)位模式:輸出在TAR的值等于CCRx時復(fù)位,并保持低電平直到選擇另一種輸出模式。 輸出模式6 PWM翻轉(zhuǎn)/置位模式:輸出電平在TAR的值等于CCRx時翻轉(zhuǎn),當(dāng)T
34、AR值等于CCR0時置位。 輸出模式7 PWM復(fù)位/置位模式:輸出電平在TAR的值等于CCRx時復(fù)位,當(dāng)TAR的值等于CCR0時置位。,增計數(shù)模式輸出實例,連續(xù)計數(shù)模式下的輸出波形,增/減計數(shù)模式下的輸出實例,增/減計數(shù)模式下的輸出實例,增/減計數(shù)模式與比較輸出模式相結(jié)合可支持帶死區(qū)的PWM,Timer_A實現(xiàn)PWM,PWM信號示意,Timer_A產(chǎn)生PWM,Timer_A實現(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 增計數(shù)模式 for (;) _BIS_SR(LPM3_bits); / 進入 LPM3 _NOP(); ,PWM信號,調(diào)整PWM信號 占空比,PWM信號經(jīng)濾波輸出,TIMER_B,Timer_B和Timer_A共同的特征,4種工作模式 具有可選,可配置的計數(shù)器輸入時鐘源 有多個獨立可配置捕獲/比較模塊 有多個具有8種輸出模式的可配置輸出單元 中斷功能強大,中斷可能源自于計數(shù)器的溢出,也可能源自于各捕獲/比較模塊上發(fā)生的捕獲事件或比較事件。,Timer_B與T
37、imer_A不同之處,Timer_B計數(shù)長度為8位,10位,12位和16位可編程,而Timer_A的計數(shù)長度固定為16位。 Timer_B中沒有實現(xiàn)Timer_A中的SCCI寄存器位的功能。 Timer_B在比較模式下的捕獲/比較寄存器功能與Timer_A不同,增加了比較鎖存器 有些型號芯片中的Timer_B輸出實現(xiàn)了高阻輸出 比較模式的原理稍有不同:在Timer_A中,CCRx寄存器中保存與TAR相比較的數(shù)據(jù);而在Timer_B中,CCRx寄存器中保存的是要比較的數(shù)據(jù),但并不直接與定時器TBR相比較,而是將CCRx送到與之相對應(yīng)的鎖存器之后,由鎖存器與定時器TBR相比較。從捕獲/比較寄存器向
38、比較鎖存器傳輸數(shù)據(jù)的時機也是可以編程的,可以是在寫入捕獲/比較寄存器后立即傳輸,也可以是由一個定時事件來觸發(fā)。 Timer_B支持多重的、同步的定時功能;多重的捕獲/比較功能;多重的波形輸出功能(比如PWM信號)。而且,通過對比較數(shù)據(jù)的兩級緩沖,可以實現(xiàn)多個PWM信號周期的同步更新,FLASH存儲器模塊 主要特點,編程可以使用位、字節(jié)和字操作 可以通過JTAG、BSL和ISP進行編程 1.83.6V工作電壓,2.73.6V編程電壓 100K的擦除/編程周期 數(shù)據(jù)保持時間從10年到100年不等 可編程次數(shù)從100到100,000次 60K空間編程時間5秒 保密熔絲燒斷后不可恢復(fù),不能再對JTAG
39、進行任何訪問。 FLASH編程/擦除時間由內(nèi)部硬件控制,無需任何軟件干預(yù),部分容量的FLASH段與地址的對應(yīng)關(guān)系,FLASH存儲器的結(jié)構(gòu)框圖,FLASH存儲器的主要功能部件,控制寄存器:控制FLASH存儲器的擦除與寫入 FLASH存儲器陣列:存儲體 地址數(shù)據(jù)鎖存器:擦除與編程時執(zhí)行鎖存操作 編程電壓發(fā)生器:產(chǎn)生編程電壓 時序發(fā)生器:產(chǎn)生擦除與編程所需所有時序控制信號,擦除操作,選擇適當(dāng)?shù)臅r鐘源和分頻因子,為時序發(fā)生器提供正確時鐘輸入 如果Lock=1,則將它復(fù)位 監(jiān)視BUSY標(biāo)志位只有當(dāng)BUSY=0時才可以執(zhí)行下一步,否則一直監(jiān)視BUSY。 如果擦除一段,則設(shè)置ERASE=1。 如果擦除多段,
40、則設(shè)置MERAS=1 如果整個FLASH全擦除,則設(shè)置RASE=1同時MERAS=1。 對擦除的地址范圍內(nèi)任意位置作一次空寫入,用以啟動擦除操作。如果空寫的地址在不能執(zhí)行擦除操作的段地址范圍內(nèi),則寫入操作不起作用,FLASH編程操作,選擇適當(dāng)?shù)臅r鐘源以及合適的分頻因子 如果Lock=1,將它復(fù)位 監(jiān)視BUSY位,直到BUSY=0是才可進入下一步 如果寫入單字或單字節(jié),則將設(shè)置WRT=1 如果是塊寫或多字、多字節(jié)順序?qū)懭耄瑒t將設(shè)置WRT=1,BLKWRT=1 將數(shù)據(jù)寫入選定地址時啟動時序發(fā)生器,在時序發(fā)生器的控制下完成整個過程,比較器Comparator_A的結(jié)構(gòu),比較器A的功能,比較器A的主要
41、功能是指出兩個輸入電壓CA0和CA1的大小關(guān)系,然后設(shè)置輸出信號CAOUT的值。如果CA0CA1 則:CAOUT1,否則CAOUT0。 參與比較的兩個電壓CA0和CA1可以是外部或者內(nèi)部基準(zhǔn)電壓。任何組合都是可能的。,兩個外部輸入比較 每個外部輸入與0.5VCC或0.25VCC比較 每個外部輸入與內(nèi)部基準(zhǔn)電壓比較,比較器A的中斷,比較器A響應(yīng)中斷的條件為,有中斷源:比較器模塊有比較結(jié)果輸出。 設(shè)置中斷標(biāo)志:CAIES選擇比較器輸出的上升沿或下降沿使 中斷標(biāo)志CAIFG置位。 中斷允許:比較器A中斷允許(CAIE置位)、系統(tǒng)總中斷允許 (GIE置位),中斷響應(yīng)后,因為比較器A具有獨立中斷向量,是
42、單源中斷,硬件 會自動清除中斷標(biāo)志位CAIFG,比較器A應(yīng)用舉例,電壓檢測:P2.3輸入的未知電壓接到比較器A正端,片內(nèi)參考電壓0.25Vcc接到比較器A負端,如果未知電壓大于0.25Vcc,P1.0置位,否則P1.0復(fù)位。,#include msp430 x14x.h void main (void) WDTCTL = WDTPW + WDTHOLD; / 停止看門狗 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異步模式特點,異步模式,包括線路空閑/地址位通信協(xié)議 兩個獨立移位寄存器:輸入移位寄存器和輸出移位寄存器 傳輸7位或8位數(shù)據(jù),可采用奇校驗或偶校
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賈慶國課件教學(xué)課件
- 2026春招:新媒體運營面試題及答案
- 2026年基于BIM的地下管線工程管理案例
- 貨運安全檢視課件
- 貨運司機安全培訓(xùn)制度課件
- 貨物打包培訓(xùn)課件教學(xué)
- 醫(yī)學(xué)影像診斷與放射防護技術(shù)
- 醫(yī)學(xué)倫理規(guī)范與案例解析
- 醫(yī)院醫(yī)療廢物焚燒設(shè)備維護規(guī)范
- 2026年湖南電氣職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試參考題庫帶答案解析
- 高速防滑防凍安全知識培訓(xùn)課件
- 監(jiān)控設(shè)備安裝施工方案
- DIP醫(yī)保付費培訓(xùn)課件
- 《計算機網(wǎng)絡(luò)技術(shù)基礎(chǔ)》課程思政方案
- 腰痛的中醫(yī)治療
- 2025三力測試考試題庫及答案
- 2025秋季學(xué)期國開電大法律事務(wù)專科《民法學(xué)(1)》期末紙質(zhì)考試總題庫珍藏版
- 第四單元課題3物質(zhì)組成的表示第3課時物質(zhì)組成的定量認識-九年級化學(xué)人教版上冊
- 交警國省道巡邏管控課件
- DB11∕T 693-2024 施工現(xiàn)場臨建房屋應(yīng)用技術(shù)標(biāo)準(zhǔn)
- T/CSBME 065-2023醫(yī)用敷料材料聚氨酯泡沫卷材
評論
0/150
提交評論