找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 3346|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

MSP430單片機(jī) 定時(shí)器TA計(jì)數(shù) 程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:108615 發(fā)表于 2016-3-14 18:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本程序是《MSP430系列單片機(jī)系統(tǒng)工程設(shè)計(jì)與實(shí)踐》書里面的源碼,(包含工程文件 (例2.8.21)))完整例程下載:http://www.torrancerestoration.com/bbs/dpj-46245-1.html

關(guān)于本程序的詳細(xì)解說大家可以下載電子書點(diǎn)擊上圖即可
  1. #include <msp430x42x.h>
  2. #include "LCD_Display.h"
  3. unsigned long int Freq;
  4. unsigned int TA_OverflowCnt;              //TA溢出次數(shù)存放變量
  5. void main( void )
  6. {
  7.    WDTCTL = WDTPW + WDTHOLD;          // 停止看門狗
  8.    FLL_CTL0 |= XCAP18PF;              // 配置晶振負(fù)載電容
  9.    P1DIR &=~BIT5;                     // P1.5(TACLK)作為輸入引腳
  10.    P1SEL |= BIT5;                     // 允許第二功能,作為TACLK輸入
  11.    BTCTL = BTDIV+BT_fCLK2_DIV128;     // BasicTimer 設(shè)為1秒1次中斷
  12.    IE2 |= BTIE;                       // 允許BasicTimer中斷
  13.    LCD_Init();
  14.    _EINT();                           // 允許總中斷
  15.    while(1)
  16.    {
  17.      LPM3; //休眠,等待被BasicTimer喚醒
  18.      //-------------------------以下代碼每秒運(yùn)行一次------------------   
  19.      Freq=TA_OverflowCnt*65536 + TAR;  // 讀取上次TA計(jì)數(shù)值及溢出次數(shù),計(jì)算頻率。
  20.      TA_OverflowCnt=0;                             // 溢出次數(shù)清零
  21.      TACTL = TASSEL_0 + MC_2 + TAIE + TACLR; // TA清零并重新開始計(jì)數(shù)
  22.      LCD_DisplayLongNumber(Freq);
  23.    }
  24. }

  25. #pragma vector = BASICTIMER_VECTOR
  26. __interrupt void BT_ISR(void)             // 1秒一次中斷(由BasicTimer所產(chǎn)生)
  27. {
  28.    __low_power_mode_off_on_exit();        // 喚醒CPU
  29. }

  30. #pragma vector=TIMERA1_VECTOR             //為測(cè)量大于65536Hz頻率,計(jì)數(shù)溢出中斷
  31. __interrupt void TA_ISR(void)
  32. {
  33.   switch( TAIV )
  34.   {
  35.     case  2:   break;
  36.     case  4:   break;                          
  37.     case 10:  TA_OverflowCnt++;           //TA每次溢出,溢出次數(shù)變量+1
  38.                 break;
  39.   }
  40. }  
復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表