Msp430f5529時(shí)鐘系統(tǒng)與定時(shí)器以及中斷.ppt_第1頁
Msp430f5529時(shí)鐘系統(tǒng)與定時(shí)器以及中斷.ppt_第2頁
Msp430f5529時(shí)鐘系統(tǒng)與定時(shí)器以及中斷.ppt_第3頁
Msp430f5529時(shí)鐘系統(tǒng)與定時(shí)器以及中斷.ppt_第4頁
Msp430f5529時(shí)鐘系統(tǒng)與定時(shí)器以及中斷.ppt_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

,主講人:蔣良茂 2015年4月,MSP430F5529時(shí)鐘系統(tǒng)與定時(shí)器以及中斷,MSP430F5529時(shí)鐘系統(tǒng)與定時(shí)器,第一部分內(nèi)容: 時(shí)鐘系統(tǒng)的概念 MSP430f5529的時(shí)鐘系統(tǒng)結(jié)構(gòu) 時(shí)鐘系統(tǒng)相關(guān)寄存器的介紹 程序的編寫,時(shí)鐘系統(tǒng)概念,時(shí)鐘系統(tǒng) 的功能: 1.為CPU提供時(shí)序。 2.為不同的片內(nèi)外設(shè)提供不同的時(shí)鐘。,MSP430的時(shí)鐘系統(tǒng),功能: 1. 可工作于不同的工作模式,使單片機(jī)工作于不同工作模式。430單片機(jī)有一種活動(dòng)模式,七種低功耗模式,通過這些模式的切換,可以合理的利用系統(tǒng)資源,實(shí)現(xiàn) 整個(gè)系統(tǒng)的低功耗。 2.為不同的片內(nèi)外設(shè)提供不同的時(shí)鐘。不同的外設(shè)往往工作的時(shí)鐘不同,有的時(shí)鐘較高,有的時(shí)鐘較低,甚至有時(shí)候一個(gè)外設(shè)也會(huì)處于不同的工作頻率。,模式和時(shí)鐘的關(guān)系,MSP430F5529 的時(shí)鐘樹,時(shí)鐘樹,時(shí)鐘源,XT1CLK:低頻/高頻振蕩器,可使用32.768k 的晶振或432M的外部時(shí)鐘源 VLOCLK:內(nèi)部超低功耗低頻震蕩器,典型值12k REFCLK:內(nèi)部調(diào)整低頻參考振蕩器,典型值 32.768 DCOCLK:內(nèi)部數(shù)字時(shí)鐘振蕩器,由FLL穩(wěn)定得到 XT2CLK:高頻震蕩器,可使用432M的外部時(shí)鐘源,時(shí)鐘信號(hào),ACLK 輔助時(shí)鐘,其時(shí)鐘源可由軟件控制XT1、REFOC、VLO、DCO、DCOCLKDIV、XT2里面選取。其中DCOCLKDIV是由DCO經(jīng)1、2、4、8、16或者32分頻得到。注意,ACLK同樣可以再次被1、2、4、8、16或者32分頻,主要用于低速外設(shè)。 MCLK 主時(shí)鐘,MCLK和ACLK 來源相同,MCLK專為CPU提供主頻。 SMCLK 子系統(tǒng)時(shí)鐘,與ACLK來源相同。主要用于高速外設(shè)。,PMM 電源管理單元,PMM和時(shí)鐘系統(tǒng)的聯(lián)系,PMM和時(shí)鐘系統(tǒng)的聯(lián)系,可是都不重要!,時(shí)鐘模塊控制寄存器,見USERS GUIDE,示例程序1,#include int main(void) WDTCTL = WDTPW +WDTHOLD;/關(guān)閉看門狗 UCSCTL4 = SELA_1; /ACLK 的時(shí)鐘配置為VLO /設(shè)置P1.0輸出ACLK P1SEL |= BIT0; P1DIR |= BIT; _bis_SR_register(LPM3_bits);/進(jìn)入低功耗模式3 return 0; ,DCORSEL,DCO Type Value,時(shí)鐘系統(tǒng)示例程序,第二部分:定時(shí)器,實(shí)際應(yīng)用中,經(jīng)常需要對外部事件進(jìn)行計(jì)數(shù)、定時(shí)控制、PWM等定制波形輸出、脈沖寬度測量、速度測量、周期/頻率測量、事件發(fā)生時(shí)刻的捕捉,這些測量與控制功能均可借助定時(shí)器/計(jì)數(shù)器來實(shí)現(xiàn)。因此MCU中通常均設(shè)計(jì)有多個(gè)定時(shí)器/計(jì)數(shù)器。 在MCU中,無論是定時(shí)功能還是計(jì)數(shù)功能,實(shí)際上都是由n位(8位、16位、32位等)的加法/減法計(jì)數(shù)器實(shí)現(xiàn),區(qū)別僅在于計(jì)數(shù)輸入信號(hào)的不同。 一般地講,計(jì)數(shù)器的計(jì)數(shù)輸入信號(hào)是外部事件(脈沖信號(hào)),而定時(shí)器的計(jì)數(shù)輸入信號(hào)則是MCU中的時(shí)鐘信號(hào)或經(jīng)過分頻后的時(shí)鐘信號(hào)。 MSP430F5529定時(shí)器分為看門狗定時(shí)器、定時(shí)器A和定時(shí)器B。,看門狗定時(shí)器,喂狗的哲學(xué),定時(shí)器A,異步16-bit定時(shí)器/計(jì)數(shù)器,具有4種工作模式; 可編程選擇的時(shí)鐘源; 3個(gè)可編程的捕捉/比較寄存器; 可編程輸出方式; 具有中斷功能(計(jì)數(shù)器溢出、捕捉/比較中斷),定時(shí)器A方框圖,00: /1 01: /2 10: /4 11: /8,00: stop mode 01: up mode 10: continuous mode 11: up/down mode,1: TA interrupt enabled,1: interrupt pending,1: reset TAR ,clock divider and count direction for up/down mode. The TACLR bit is automatically reset and is always read as zero.,定時(shí)器 A 控制寄存器,定時(shí)器 A 的四種計(jì)數(shù)方式(Count Mode),Mode Control,0 0: stop mode 0 1: up mode 1 0: continuous mode 1 1: up/down mode,MCx count mode,Stop mode : the timer is halted,當(dāng)不使用Timer時(shí), 應(yīng)將Timer配置為Stop mode , 這樣可以降低芯片的功耗,period=(TACCR0+1)T,Up Mode 需要CCR0(比較方式)協(xié)助,在Timer Clock的上升沿處TAR=TAR+1, 當(dāng)TARTACCR0時(shí),自動(dòng)清零TAR,Continuous Mode,Up/Down Mode 本方式需要CCR0(比較方式)協(xié)助,定時(shí)器A捕獲/比較模塊,當(dāng)捕獲電路捕捉到一個(gè)有效的輸入信號(hào)后: 將 TAR 的值鎖存至 TACCRx 中; 置位中斷標(biāo)志位 TACCRx CCIFG,捕獲模式( Capture Mode , CAP=1 ) 用于捕捉事件發(fā)生的時(shí)刻 可應(yīng)用于速度、脈沖寬度等測量,比較模式( Compare Mode , CAP=0 ) 主要應(yīng)用: 產(chǎn)生 PWM 等定制輸出信號(hào); 定時(shí)輸出:在指定時(shí)間間隔結(jié)束后產(chǎn)生輸出; 定時(shí)中斷:在指定時(shí)間間隔結(jié)束后產(chǎn)生中斷。 工作原理:當(dāng) TAR 計(jì)數(shù)到 TACCRx 時(shí) 置位中斷標(biāo)志 CCIFG; 內(nèi)部信號(hào) EQUx=1; 根據(jù)輸出方式輸出相應(yīng)的信號(hào)。,CAP=0,比較模式( Compare Mode , CAP=0 ),比較輸出電路,OUTx,7種輸出方式 定義:,定時(shí)器:Up/Down Mode OUT1 使用 TACCR0 和 TACCR1 OUT2 使用 TACCR0 和 TACCR2,一個(gè)常用的例子:帶死區(qū)的PWM波,OUT1 OUT2,Tdead = Ttimer( TACCR1-TACCR2 ) Ttimer: Cycle time of the timer clock,Tdead,定時(shí)器A示例程序,定時(shí)器B,定時(shí)器A的不同: 1.TB的計(jì)數(shù)長度可變,8,10,12,16 2.無SCCI寄存器位功能 3.增加了比較鎖存器且從CCR到存器的時(shí)機(jī)可編程 5.TB支持多種、同步的定時(shí)功能和多重比較功能和多重波形輸出功能,可同步更新多路PWM的緩沖。,定時(shí)器B示例程序,第三部分:中斷,中斷的概念: 中斷是暫停CPU正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序,完畢后返回被中斷的程序繼續(xù)運(yùn)行的現(xiàn)象和技術(shù)。 中斷首先需要有中斷源發(fā)出中斷請求,并征得系統(tǒng)允許(屏蔽、優(yōu)先權(quán))后才會(huì)發(fā)生。轉(zhuǎn)去執(zhí)行中斷服務(wù)程序前需保護(hù)中斷現(xiàn)場,執(zhí)行完中斷服務(wù)程序后應(yīng)恢復(fù)中斷現(xiàn)場。,不同的中斷請求表示不同的事件,因此CPU對不同中斷請求的響應(yīng)也應(yīng)有輕重緩急之分。 中斷源擁有(固定的或可通過程序設(shè)置的)一個(gè)優(yōu)先權(quán),稱為中斷優(yōu)先權(quán)(優(yōu)先級(jí)) 當(dāng)多個(gè)中斷源同時(shí)發(fā)出中斷請求時(shí),CPU按照中斷優(yōu)先權(quán)的高低順序依次響應(yīng)。在有的CPU的中斷系統(tǒng)中還規(guī)定高優(yōu)先級(jí)的中斷可以中斷低優(yōu)先級(jí)的中斷子程;低優(yōu)先級(jí)的中斷不能中斷高優(yōu)先級(jí)的中斷子程;任何中斷不能中斷同一優(yōu)先級(jí)的中斷子程。,中斷優(yōu)先級(jí),MSP430F5529中斷系統(tǒng),系統(tǒng)復(fù)位(system reset) 非屏蔽中斷((Non)-maskable NMI) 可屏蔽中斷(maskable),MSP430的中斷源,除了下面的其他都是可屏蔽中斷!,中斷向量表: 0FFE0h0FFFEh 表中可存放16個(gè)中斷向量 每個(gè)中斷向量為16BIT 由編程者負(fù)責(zé)編程 中斷向量: 中斷服務(wù)子程的入口地址,注:MSP430的某些外設(shè)還有其“子向量表”,用以區(qū)分共享同一個(gè)中斷向量的不同中斷請求,中斷優(yōu)先級(jí)和中斷嵌套,在MSP430中,不同的中斷有各自固定的中斷優(yōu)先級(jí)。當(dāng)有多個(gè)中斷同時(shí)請求時(shí),MSP430 CPU將響應(yīng)優(yōu)先級(jí)最高的中斷請求。 中斷優(yōu)先級(jí)僅用于裁決同時(shí)產(chǎn)生的中斷請求。如果在某一中斷服務(wù)子程中置位GIE(即允許嵌套),則任何中斷請求均將中斷正在執(zhí)行的中斷服務(wù)子程(中斷嵌套),而不管中斷的優(yōu)先級(jí)如何。即在允許嵌套的情況下,低優(yōu)先級(jí)的中斷請求可以中斷高優(yōu)先級(jí)的中斷服務(wù)子程的運(yùn)行,同級(jí)的中斷也可以相互嵌套。,中斷響應(yīng)過程,當(dāng)前指令執(zhí)行完畢,且滿足響應(yīng)條件; 入棧保護(hù)斷點(diǎn):相當(dāng)于執(zhí)行 PUSH PC; 入棧保護(hù)SR:相當(dāng)于執(zhí)行 PUSH SR; 優(yōu)先級(jí)裁決:若有多個(gè)中斷同時(shí)請求,則CPU選擇優(yōu)先級(jí)最高的中斷請求進(jìn)行響應(yīng); 中斷請求標(biāo)志的處理:對于單一中斷標(biāo)志的中斷源請求,則由CPU自動(dòng)清零該中斷標(biāo)志;對于有多個(gè)中斷標(biāo)志的中斷源請求,則中斷標(biāo)志的清零處理交由中斷服務(wù)子程完成(以便于中斷服務(wù)子程區(qū)分本次中斷到底是由哪一個(gè)/哪些中斷標(biāo)志請求的); 清零SR(關(guān)中斷,結(jié)束低功耗方式); 裝載中斷向量至PC,轉(zhuǎn)去執(zhí)行中斷服務(wù)子程。,MSP430 中斷控制與中斷返回指令 EINT ;Enable general INTerrupts DINT ;Disable general INTerrupts,開中斷指令,對 SR 的影響: Status Bits: are not affected Mode Bits: GIE=1 OSCOFF and CPUOFF are not affected 因此等同于_bic_SR_register(GIE);,Note:The instruction following the EINT is always executed, even if an interrupt service request is pending when the interrupts are enable.,關(guān)中斷指令,對 SR 的影響: Status Bits: are not affected Mode Bits: GIE=0 OSCOFF and CPUOFF are not affected 因此等同于_bic_SR_register(GIE);,Note: If any code sequence needs to be protected from interrupt, the DINT should be executed at least one instruction before the beginning of the uninterruptible sequence, or should be followed by a NOP instruction.,上述便是MSP430的中斷系統(tǒng),由于中斷系統(tǒng)和片內(nèi)其他的模塊有著直接聯(lián)系,接下來挑出常用的IO口外部中斷和定時(shí)器中斷為大家講解,外部中斷編程要點(diǎn),P1SEL.x=0 ;digital I/O P1IE.x=1 ;允許中斷 GIE=1 ;可屏蔽中斷 P1DIR.x=0 ;輸入 P1IES.x=? ;沿選擇,定時(shí)器A中斷, TACCR0 中斷: TACCR0 CCIFG,獨(dú)享中斷向量,在 0FFECh 中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論