MSP430 定時捕獲模式

2021-10-09 18:51:32 字數 1666 閱讀 4786

關於定時器何時選用溢位中斷還是比較捕獲中斷請參考以下部落格

中斷解惑

定時器a捕獲模式以f149為例請參考以下部落格

捕獲模式參考定時器a

接下來介紹本人使用的定時器b,定時器b和a基本差不多定時器b具有7個比較捕獲單元兒定時器a只有三個

定時器基本原理本章就不細講了可參考之前的定時器a

定時器a詳解

本章著重講解定時器的捕獲模式

定時器b的比較捕獲模組使用cap這位來進行選擇

當cap=1選擇捕獲模組也就是本章介紹的模式

當cap=0選擇比較模組

使用ccisx位選擇外部訊號ccia或ccib或者內部訊號

cmx位選擇上公升沿捕獲下降沿捕獲或者上公升沿下降沿都捕獲,如果發生了捕獲事件時間值會被記錄在tbccrx暫存器中,同時ccifg會被置一,輸入的電平訊號可以通過cci位被任意時刻進行讀取。

捕獲事件對於對於時鐘來說可能是同步捕獲或者非同步捕獲,通過scs位設定是同步捕獲或者非同步捕獲!

定時器b捕獲模式包含了邏輯溢位模組,(cov)用來指示在進行讀取第一次捕獲值之前是否進行了第二次捕獲,所以在退出中斷函式之前需要判斷cov位並在最後進行復位

定時器b還有乙個比較有特點的是可以進行分組,將7個定時器分成幾組

/*晶元:msp430f169

功能:使用定時器b捕捉外部訊號

埠: p42 p44 作為觸發訊號 p42以1.2s乙個週期傳送100ms高電平公1500次

p44按鍵觸發 傳送1.2s週期100ms高電平

p41 p43 p45復用為定時器b捕獲模式捕獲外部反饋訊號

p41捕獲外部按鍵的低電平

p43 p45捕獲反饋訊號高電平

p64 作為反饋訊號指示燈

捕獲到反饋訊號上公升led閃爍

*/unsigned

int i;

void

main

(void)}

}void

gpio_init

(void

)//io初始化

void

timerb_init

(void

)//定時器b初始化

#pragma vector=timerb1_vector

//中斷函式

__interrupt void

timer_b1

(void

)//1016~2020

tbctl &=~

0x01;}

void

system_clock

(void

)//時鐘初始化

while

((ifg1&ofifg)!=0

);bcsctl2=

0x88

;}使用者指導手冊

晶元管腳手冊

MSP430定址模式

msp430的cpu支援7種源定址和4種目的定址 可利用暫存器的8 16和20位,長度為1 2或者3個字長。byte操作 讀源暫存器的低8位,然後將其寫入目的暫存器對應的低8位,目的暫存器的8 19位會被清空而源暫存器不受影響 word操作 讀源暫存器的低16位,然後將其寫入目的暫存器對應的低16位...

MSP430低功耗模式

msp430的電壓已經降到了3.3v,雖然不是最低的 arm的部分晶元核心工作電壓降到了1.8v 但是這已經是比較低的了 msp430比較出彩的地方乙個是把一顆晶元分成了n個不同的模組部分,不用的部分功能模組可以關閉掉,電流近似為零 另乙個出彩的地方是,可以有三個時鐘源,並產生更多的內部可用工作頻率...

msp430鍵盤程式

msp430 按鍵程式 含電路圖及源 include void init port void void delay void int keyprocess void return nres 處理來自埠 1 的中斷 interrupt port1 vector void port isr void i...