專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

MSP430單片機定時器B中斷實驗

作者:未知   來源:不詳   點擊數(shù):  更新時間:2013年12月27日   【字體:

本程序是基于MSP430單片機內(nèi)部定時器B中斷實驗,功能:用定時器B來精確流水燈時間間隔.
#include "MSP430F149.h"
#define uchar unsigned char
#define uint unsigned int
uchar LedData=0x80;
uchar num=50;//中斷50次讓LED右移一位
//定時器A初始化
void InitTimerB(){
  TBCTL=TBSSEL1+ID1+ID0+MC0+TBCLR;//選擇1/8SMCLK 增計數(shù) 清除TAR
  TBCCTL0=CCIE;//CCR0中斷允許 比較模式
  TBCCR0=10000;//時間間隔10ms
}
//定時器A中斷
#pragma vector=TIMERB0_VECTOR
__interrupt void TimerBINT(){
  num--;
  if(num==0){
    LedData>>=1;//右移一位
    if(LedData==0x00) LedData=0x80;
    P4OUT=LedData;//P4口輸出數(shù)據(jù)
    num=50;//中斷50次為0.5s
  }
}
void main(){
  InitClock();//初始化時鐘
  InitTimerB();//定時器B初始化
  P4DIR=0xFF;//P4口輸出方向
  _EINT();//打開中斷
  while(1);
}

關(guān)閉窗口

相關(guān)文章