娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年01月18日(星期六)

正在發(fā)生

2020年01月18日 | 基于msp430Timer_A定時(shí)器的LED

發(fā)布者:EnchantedDreams 來源: eefocus關(guān)鍵字:msp430  Timer_A  定時(shí)器  LED 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

相信學(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;              

       }

    }

  }

}


搞定!

關(guān)鍵字:msp430  Timer_A  定時(shí)器  LED 引用地址:基于msp430Timer_A定時(shí)器的LED

上一篇:[MSP430DriverLib-3]使用Timer_A讓LED閃爍
下一篇:MSP430_定時(shí)器輸出PWM

0

推薦閱讀

????2018年1月11日上午,北京的氣溫降到了零下,十多名前來樂視大廈門口“討債”的供應(yīng)商聚集到了一塊。  距離樂視傳出資金鏈斷裂已經(jīng)過去兩百多天,但供應(yīng)商手上被拖欠的款項(xiàng)依舊沒有到賬。根據(jù)公開的信息,被樂視拖欠款項(xiàng)的供應(yīng)商和服務(wù)商有50多家,欠款總計(jì)7000多萬。  樂視生態(tài)“崩塌”后的不安情緒正在逐步向它過去所涉及的產(chǎn)業(yè)鏈蔓延,而手...
說到自動(dòng)駕駛,很多人的第一反應(yīng)都是搖頭,因?yàn)椴话踩2徽撌荱ber自動(dòng)駕駛汽車去年撞死行人,還是Waymo在年底突然大呼“做自動(dòng)駕駛好難”,都無不印證著自動(dòng)駕駛“難做”。“作為創(chuàng)業(yè)公司,我們和大公司不一樣,得首先保證自己活下去。那么,就必須找到一個(gè)中間的商業(yè)化落地場(chǎng)景。”酷哇機(jī)器人聯(lián)合創(chuàng)始人&COO劉力源說。圖 | 酷哇機(jī)器人聯(lián)合創(chuàng)始人&COO劉...
基本的AVR硬件線路,包括以下幾部分:1、復(fù)位線路2、晶振線路3、AD轉(zhuǎn)換濾波線路4、ISP下載接口5、JTAG仿真接口6、電源下面以本網(wǎng)站推薦的AVR入門芯片ATmega16L-8AI 分析上述基本線路。(-8AI表示8M頻率的TQFP貼片封裝,工業(yè)級(jí),更詳細(xì)的型號(hào)含義資料,請(qǐng)參考:AVR芯片入門知識(shí))復(fù)位線路的設(shè)計(jì)Mega16已經(jīng)內(nèi)置了上電復(fù)位設(shè)計(jì)。并且在熔絲位里,可以控制復(fù)位...
三星近期發(fā)布了三款新智能手機(jī),其中一款是Galaxy S21 Ultra,這是首款基于Wi-Fi 6E的手機(jī)。博通為該設(shè)備提供BCM4389芯片。 三星的新Galaxy系列產(chǎn)品包括Galaxy S21、Galaxy S21 Plus和高端Galaxy S21 Ultra。Ultra的零售價(jià)為1199美元。 “6 E”意味著該設(shè)備可以延長到6 GHz頻段, 美國聯(lián)邦通信委員會(huì)(FCC)最近批準(zhǔn)了6 GHz頻段的還未被認(rèn)證的操作...

史海拾趣

問答坊 | AI 解惑

求教一個(gè)簡(jiǎ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),, ...…

查看全部問答∨

《OP放大器應(yīng)用技巧100例》

記得模電版塊里有些朋友對(duì)運(yùn)放應(yīng)用比較陌生 這本好書可以讓你受益良多的 【日】松井彥邦 著;鄧學(xué) 譯 科學(xué)出版社 2006年第一版 第一次印刷 共3個(gè)壓縮包…

查看全部問答∨

xilinx FPGA的最小系統(tǒng)怎么畫???

哪位好心人幫忙一下,F(xiàn)PGA(xc3s400)的最小系統(tǒng)由那些組成?謝謝了…

查看全部問答∨

ucos-ii的OSQPost和OSQPend的怪問題

硬件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ā),需要哪些工具…

查看全部問答∨

Web動(dòng)態(tài)顯示芯片內(nèi)核溫度

通過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…

查看全部問答∨

GPRS模塊選型

目前準(zhǔn)備做gprs遠(yuǎn)程監(jiān)控的東西,gprs模塊還未確定用哪個(gè)好呢, 要求:     工業(yè)級(jí),模塊性能穩(wěn)定,帶協(xié)議,最好能提供些成熟的方案 大概了解了一下,simcom的sim300,性價(jià)比不錯(cuò), 華為的GTM900B/GTM900C性價(jià)比好像也還可以, ...…

查看全部問答∨

求助!熱電阻連接數(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ā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 蕉岭县| 达孜县| 赤城县| 金寨县| 茂名市| 博兴县| 沙坪坝区| 浦北县| 达日县| 诸暨市| 阿坝| 桦川县| 聊城市| 德格县| 定西市| 延庆县| 潮安县| 徐水县| 长兴县| 阳江市| 衡阳市| 祁东县| 元谋县| 永仁县| 德庆县| 德州市| 南充市| 左贡县| 宁南县| 成都市| 昔阳县| 二手房| 洛隆县| 隆回县| 阿拉善左旗| 桐庐县| 开鲁县| 锡林郭勒盟| 罗城| 湟源县| 清水县|