相信學(xué)過430的朋友對(duì)Timer_A應(yīng)該不陌生吧,反正我是難忘了,感覺學(xué)的比stm32的定時(shí)器都吃力啊,看起來簡(jiǎn)單,但是,,,就是學(xué)起來吃力,怪我咯!
閑話少說,今天我就來總結(jié)一下我學(xué)習(xí)Timer_A的痛苦經(jīng)歷。
首先,我們要知道Timer_A的基本結(jié)構(gòu)吧:
總結(jié)起來就兩點(diǎn):
16位的定時(shí)/計(jì)數(shù)器
3個(gè)捕獲/比較寄存器
然后,我們來看看它的基本特征
總結(jié)如下:
支持多多個(gè)捕獲/比較同時(shí)工作
支持PWM波的輸出
支持輸出時(shí)間間隔
擁有多種中斷,如溢出中斷,捕獲/比較中斷
在然后,我就我這個(gè)項(xiàng)目要用到的知識(shí)跟大家講一下,其余的知識(shí)呢,,,,啥,你給我糖,我也懶的講(傲嬌)
那么,首先是定時(shí)器A,要工作,是不是要時(shí)鐘呢?沒有時(shí)鐘,它是工作不了滴!
所以,我們?cè)谟盟埃隙ㄊ且x一個(gè)時(shí)鐘的。那是不是只有一個(gè)時(shí)鐘呢?
Of Course Not! 它可是有4種時(shí)鐘可以選擇呢?
吶吶,看到?jīng)]? 手冊(cè)里說了,我么可以通過TASSELx(2bits,屬于TACTL(時(shí)鐘控制的縮寫)寄存器)來選擇它的時(shí)鐘,具體有四種:ACLK(輔助時(shí)鐘),SMCLK(子系統(tǒng)時(shí)鐘),TACLK(外接引腳時(shí)鐘),INCLK(外接時(shí)鐘)。除此之外,我們還可以通過IDx(同TASSELx)來對(duì)時(shí)鐘進(jìn)行分頻。至于TACLR(1bit ,屬于TACTL),是用來清零的,可以復(fù)位分頻設(shè)置等。
時(shí)鐘源選好了,那么就該選比較/捕獲寄存器了。比較/捕獲寄存器有三個(gè),這里我只用了第一個(gè)TACCR0,所以,下面我就講它一個(gè),其余兩個(gè),你們要用到的話,就去看數(shù)據(jù)手冊(cè)吧,也很簡(jiǎn)單的。
上圖列出了Timer_A的9中寄存器,我們只先介紹TACCR0,TACCTL0.
首先,TACCTL0,這是比較/捕獲寄存器0的控制寄存器。里面有些位用來控制TACCR0。我們這里要只用到它的比較中斷,就是當(dāng)TAR(計(jì)數(shù)器寄存器)和TACCR0中的設(shè)置值相等時(shí),TACCR0發(fā)生比較中斷,置位標(biāo)志位CCIFG。(CCIE,CCIFG都是TACCTL0中的位)
介紹完中斷,還不算完,我們還有設(shè)置計(jì)數(shù)器的計(jì)數(shù)方式呢!TAR有三種計(jì)數(shù)方式:而它的設(shè)置是在TACTL中:
它是通過設(shè)置MCx來對(duì)計(jì)數(shù)方式進(jìn)行設(shè)置,翻譯為:
停止計(jì)數(shù)
增計(jì)數(shù)
連續(xù)計(jì)數(shù)
增減計(jì)數(shù)
我們這里會(huì)用到增計(jì)數(shù),也就是在TACCR0中設(shè)置一個(gè)值,然后定時(shí)器就會(huì)啟動(dòng),從0開始,每一個(gè)時(shí)鐘周期加1,直到加到與TACCR0中值相等時(shí),產(chǎn)生中斷。然后TAR繼續(xù)從0開始計(jì)數(shù),重復(fù)剛才的動(dòng)作。
再然后就是具體電路了,這里可以參見我的我的另一篇博客:
最后就是代碼了:
#include
#include "Config.h" //開發(fā)板硬件宏
uchar i=0; //跑馬燈循環(huán)變量
long long count=40000; //TACCR0的值
uchar flag=0; //中斷標(biāo)志位
//***********************************************************************
// MSP430IO口初始化
//***********************************************************************
void Port_Init()
{
LED8DIR = 0xFF; //設(shè)置IO口方向?yàn)檩敵?p> LED8 = 0xFF; //P6口初始設(shè)置為FF
}
//***********************************************************************
// TIMERA初始化,設(shè)置為UP模式計(jì)數(shù)
//***********************************************************************
void TIMERA_Init()
{
TACTL |= TASSEL_1 + TACLR+MC_3; //SMCLK做時(shí)鐘源,8分頻,增計(jì)數(shù)模式,計(jì)數(shù)到TACCR0
CCR0=count;
TACCTL0=CCIE;
}
//***********************************************************************
// TIMERA中斷服務(wù)程序,需要判斷中斷類型
//***********************************************************************
#pragma vector = TIMERA0_VECTOR //TACCR0的中斷向量
__interrupt void Timer_A(void)
{
i++;
flag=1;
}
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
//Clock_Init(); //系統(tǒng)時(shí)鐘設(shè)置
Port_Init(); //端口初始化
TIMERA_Init(); //設(shè)置TIMERA
_EINT();
while(1)
{
if(flag==1)
{
switch(i)
{
case 1:
LED8 &= ~(1<<0);flag=0; //點(diǎn)亮D1燈
break;
case 2:
LED8 &= ~(1<<1);flag=0; //點(diǎn)亮D2燈
break;
case 3:
LED8 &= ~(1<<2);flag=0;//點(diǎn)亮D3燈
break;
case 4:
LED8 &= ~(1<<3);flag=0; //點(diǎn)亮D4燈
break;
case 5:
LED8 &= ~(1<<4);flag=0; //點(diǎn)亮D5燈
break;
case 6:
LED8 &= ~(1<<5);flag=0; //點(diǎn)亮D6燈
break;
case 7:
LED8 &= ~(1<<6);flag=0; //點(diǎn)亮D7燈
break;
case 8:
LED8 &= ~(1<<7);flag=0; i=0;//點(diǎn)亮D8燈
break;
}
}
}
}
搞定!
上一篇:[MSP430DriverLib-3]使用Timer_A讓LED閃爍
下一篇:MSP430_定時(shí)器輸出PWM
推薦閱讀
史海拾趣
隨著公司的發(fā)展,EM Devices Corporation不斷加大對(duì)研發(fā)的投入,致力于推出更具創(chuàng)新性的產(chǎn)品。一次偶然的機(jī)會(huì),公司的研發(fā)團(tuán)隊(duì)發(fā)現(xiàn)了一種新型材料,它具有優(yōu)異的電氣性能和穩(wěn)定性。經(jīng)過數(shù)月的艱苦研發(fā),公司成功將這種材料應(yīng)用于產(chǎn)品中,并推出了一款性能卓越的新型電子元件。這一創(chuàng)新產(chǎn)品不僅為公司帶來了豐厚的利潤,還進(jìn)一步鞏固了公司在行業(yè)內(nèi)的領(lǐng)先地位。
為了更好地服務(wù)客戶和市場(chǎng),格瑞寶在深圳、南京等地設(shè)立了分公司等派出機(jī)構(gòu)。這些分公司的設(shè)立不僅加強(qiáng)了公司在華南、華東等地區(qū)的業(yè)務(wù)覆蓋能力,也提高了公司的市場(chǎng)響應(yīng)速度和客戶服務(wù)水平。通過區(qū)域布局的優(yōu)化,格瑞寶能夠更加靈活地應(yīng)對(duì)市場(chǎng)變化,抓住發(fā)展機(jī)遇,實(shí)現(xiàn)更快速的發(fā)展。
隨著科技的進(jìn)步,Aristo-Craft/L M P Inc公司意識(shí)到要想在行業(yè)中保持領(lǐng)先地位,必須不斷進(jìn)行技術(shù)創(chuàng)新和產(chǎn)品升級(jí)。公司投入大量資源進(jìn)行研發(fā),成功推出了一系列具有創(chuàng)新性的電子產(chǎn)品,如高性能的集成電路、先進(jìn)的通信設(shè)備等。這些產(chǎn)品不僅提高了公司的市場(chǎng)競(jìng)爭(zhēng)力,還為客戶帶來了更好的使用體驗(yàn)。
在電子行業(yè)的早期階段,C-TON Industries公司以其創(chuàng)新的技術(shù)理念脫穎而出。公司創(chuàng)始人李先生,一位電子工程領(lǐng)域的專家,意識(shí)到半導(dǎo)體技術(shù)的重要性,并決定將其作為公司的發(fā)展重點(diǎn)。通過不斷投入研發(fā),C-TON成功開發(fā)出了一款性能卓越的芯片,這款芯片在速度和穩(wěn)定性上都遠(yuǎn)超當(dāng)時(shí)市場(chǎng)上的同類產(chǎn)品。這一創(chuàng)新不僅贏得了客戶的青睞,也幫助C-TON在市場(chǎng)上取得了突破性的進(jìn)展。
啟攀微電子(Chiphomer)公司成立于2003年,當(dāng)時(shí)正值中國集成電路產(chǎn)業(yè)快速發(fā)展的初期。創(chuàng)始人張楊帶領(lǐng)著一支由英美歸國的留學(xué)精英和國內(nèi)資深管理與技術(shù)人員組成的團(tuán)隊(duì),立志要在這一領(lǐng)域闖出一片天地。然而,初創(chuàng)時(shí)期的資金短缺、技術(shù)壁壘和市場(chǎng)認(rèn)可度低等問題,讓公司面臨著巨大的挑戰(zhàn)。然而,他們憑借著對(duì)技術(shù)的執(zhí)著追求和對(duì)市場(chǎng)的敏銳洞察,成功推出了首款SDH通信芯片,為公司的后續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
Astro Industries Inc的創(chuàng)始人在電子行業(yè)擁有豐富的經(jīng)驗(yàn),他們看到了市場(chǎng)對(duì)于高性能電子產(chǎn)品的迫切需求。于是,公司從創(chuàng)立之初就專注于技術(shù)創(chuàng)新,投入大量資源進(jìn)行研發(fā)。經(jīng)過不懈的努力,Astro Industries Inc成功推出了一款具有顛覆性的電子產(chǎn)品,其性能遠(yuǎn)超當(dāng)時(shí)市場(chǎng)上的同類產(chǎn)品,迅速獲得了市場(chǎng)的認(rèn)可。
本人現(xiàn)在需要制作一個(gè)門磁報(bào)警裝置,具體功能是1、要求具有遙控功能,及按下遙控器就布防,如果此時(shí)門磁斷開就通過12V的警號(hào)發(fā)出報(bào)警,2、電路使用DC12V電壓,設(shè)備已經(jīng)買好,具體不知道怎么接線。 設(shè)備為一個(gè)OMRON MY2NJ繼電器,一個(gè)遙控開關(guān),, ...… 查看全部問答∨ |
記得模電版塊里有些朋友對(duì)運(yùn)放應(yīng)用比較陌生 這本好書可以讓你受益良多的 【日】松井彥邦 著;鄧學(xué) 譯 科學(xué)出版社 2006年第一版 第一次印刷 共3個(gè)壓縮包… 查看全部問答∨ |
硬件arm7 GPG2接AD復(fù)位,使AD復(fù)位就是使其中一個(gè)任務(wù)接收AD轉(zhuǎn)換后的數(shù)據(jù)并進(jìn)行一些計(jì)算。軟件中使該腳復(fù)位后,有計(jì)算的數(shù)據(jù)顯示但另一個(gè)任務(wù)控制的按鍵不起作用了(此時(shí)按按鍵會(huì)有亂數(shù)據(jù)顯示)。兩者不能同時(shí)運(yùn)行。軟件中不給AD復(fù)位則按鍵起作用, ...… 查看全部問答∨ |
|
請(qǐng)好心人幫助解決通信協(xié)議的定制及數(shù)據(jù)的提取,急等 最近在學(xué)習(xí)單片機(jī)與PC的串行通信, 我的第一個(gè)問題是,如果單片機(jī)下位機(jī)端要發(fā)送20個(gè)參數(shù)數(shù)據(jù)給上位機(jī)PC, 通信協(xié)議應(yīng)該怎樣定制呢?幀格式中數(shù)據(jù)部分有速度,高度等數(shù)據(jù),這些數(shù)據(jù)如果用兩個(gè)字節(jié)表示該怎樣表示啊? 我的想法是 :0xaa 0x2d0x2f ...… 查看全部問答∨ |
各位大俠,我需要開發(fā)一個(gè)用symbol mc3000的程序 我需要開發(fā)一個(gè)用symbol mc3000的程序,我查過操作系統(tǒng)用的是wince.net ,我不知如何著手開發(fā),我會(huì)VB和c#,我該如何開發(fā),需要哪些工具… 查看全部問答∨ |
通過JavaScript周期500ms發(fā)送XMLHttpRequest的方式,獲取芯片內(nèi)核溫度,不用刷新網(wǎng)頁,可以動(dòng)態(tài)顯示的一種簡(jiǎn)單方法。function gettemp() { var gettemp = false; function gettempComplete() { if(gettemp.readySta ...… 查看全部問答∨ |
好的設(shè)計(jì)必須在你的實(shí)驗(yàn)室中Fail過 推薦一篇博文,做設(shè)計(jì)的都適用,寫得很切實(shí)際。http://home.eeworld.com.cn/my/space.php?uid=169593&do=blog&id=42094… 查看全部問答∨ |
求助!熱電阻連接數(shù)顯儀表測(cè)溫,溫度忽高忽低。 我用0-500度的熱電阻連接測(cè)溫?cái)?shù)顯儀表,用來測(cè)量溫度,為什么會(huì)出現(xiàn)溫度忽高忽低現(xiàn)象?有時(shí)候突然增高到2000多度或者零下50多度,忽高忽低的情況維持的時(shí)間并不長,有時(shí)候是幾秒鐘,有時(shí)候是幾分鐘,最長的時(shí)候20多分鐘,然后又恢復(fù)正常,請(qǐng)問是什 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 意法半導(dǎo)體發(fā)布STM32MP23高性價(jià)比MPU, 并延長對(duì)OpenSTLinux版本的支持期限
- 英飛凌穩(wěn)居微控制器領(lǐng)域榜首,鞏固其在全球車用半導(dǎo)體市場(chǎng)的領(lǐng)導(dǎo)地位
- 迅為imx6ull開發(fā)板使用c語言調(diào)用shell命令控制led燈
- 迅為IMX8MM開發(fā)板Android編譯環(huán)境搭建
- 迅為IMX6ULL開發(fā)板NFS服務(wù)器的使用
- 迅為ITOP4412開發(fā)板Qt界面添加圖片
- 迅為IMX6開發(fā)板OTA遠(yuǎn)程升級(jí)-SWUpdata概述和使用
- 迅為IMX6ULL開發(fā)板NFS服務(wù)器的搭建
- 迅為IMX6開發(fā)板Buildroot文件系統(tǒng)4G撥號(hào)上網(wǎng)工具測(cè)試
- 西門子收購 DownStream Technologies,擴(kuò)展 PCB 設(shè)計(jì)到制造流程
- Melexis推出32×24紅外陣列傳感器芯片MLX90642,樹立熱成像感應(yīng)技術(shù)的新標(biāo)桿
- 意法半導(dǎo)體發(fā)布STM32MP23高性價(jià)比MPU, 并延長對(duì)OpenSTLinux版本的支持期限
- OPPO 推出搭載超聲波指紋的新一代影像旗艦Find X8 Ultra
- 英飛凌推出用于AURIX?、TRAVEO?和PSOC?的Drive Core, 加速并簡(jiǎn)化軟件開發(fā)
- 三星球形投影機(jī)器人專利公示,變革家庭娛樂
- TDK推出第一款嵌入式柵極驅(qū)動(dòng)器- 加強(qiáng)EV熱系統(tǒng)效率
- LAB后輪轉(zhuǎn)向排行榜:從高端到普及,后輪轉(zhuǎn)向也要白菜化了
- 子彈都不怕的動(dòng)力電池,為何碰撞還起火?
- 從18650到21700再到大圓柱電池 新電池帶來什么好處?
- 輕松注冊(cè)TDK,盡享超值好禮!
- 學(xué)習(xí)有禮,分享也有禮!跟著小梅哥,一起intel SoC FPGA走起!
- 手機(jī)觀看TI視頻教程,隨時(shí)隨地充電學(xué)習(xí)
- TI C2000TM的信號(hào)鏈實(shí)時(shí)性評(píng)測(cè)和使用教程
- 了解泰克新品P7700探頭,答題贏好禮!
- 報(bào)名直播贏【保溫杯】等好禮|TI MSPM0 MCU 在汽車系統(tǒng)中的應(yīng)用
- TI 樣片免費(fèi)申請(qǐng),曬樣片贏好禮!
- 有獎(jiǎng)測(cè)評(píng) | 英飛凌新品情報(bào)站:最新 5V XENSIVTM PAS CO2 傳感器 套件測(cè)評(píng)
- 下載安森美半導(dǎo)體 KNX 技術(shù)文檔贏精美禮品!
- 快來應(yīng)援吧!投票選出你最愛的TI培訓(xùn)課程
- 科普:光伏連接器--小器件,大作用
- “四足智能配送機(jī)器人” 預(yù)計(jì)今年6月份上崗
- 六問!華為電視來了有那么可怕嗎?
- 亞馬遜印度第二代智能音箱問世 消費(fèi)者會(huì)選擇它嗎?
- 一季度全球PC出貨量公布:聯(lián)想反超惠普奪冠 蘋果銷量下滑
- 為什么日本機(jī)器人產(chǎn)業(yè)能夠幾十年來始終保持高速發(fā)展?
- 機(jī)器人進(jìn)入養(yǎng)老服務(wù)行業(yè)成為發(fā)展的重點(diǎn),將有望走進(jìn)千家萬戶
- 機(jī)器人在2022年之前將如何改變工作場(chǎng)所?
- ADAS 發(fā)展新階段:量子光傳感器增加自動(dòng)汽車探測(cè)能力
- 特斯拉電池技術(shù)突破,壽命達(dá)到160萬,何時(shí)才能和我們見面
- lcd驅(qū)動(dòng)讓我很頭疼
- 【樹莓派3B+測(cè)評(píng)】GCC編譯HelloWorld&點(diǎn)燈程序
- 如何提升硬件交付的周期
- 問個(gè)關(guān)于Open.mems和license的問題
- 【評(píng)測(cè)EVAL-M3-TS6-665PN開發(fā)板】——by landeng1986
- C2000右下角的3,3V排針不小心接到了15V上,然后就壞了。但查不出哪兒壞了。
- Getting Started with the Stellaris LaunchPad- Chapter 8
- [GD32E231 DIY大賽](一):開發(fā)環(huán)境搭建+TIMER5
- GAM-60錫膏攪拌機(jī)(臺(tái)灣產(chǎn))
- [hanker M4開發(fā)板試用]uC/OS-II我來了