新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430單片機(jī)定時(shí)器B中斷實(shí)驗(yàn)

MSP430單片機(jī)定時(shí)器B中斷實(shí)驗(yàn)

作者: 時(shí)間:2016-12-01 來(lái)源:網(wǎng)絡(luò) 收藏
本程序是基于MSP430單片機(jī)內(nèi)部定時(shí)器B中斷實(shí)驗(yàn),功能:用定時(shí)器B來(lái)精確流水燈時(shí)間間隔.
#include "MSP430F149.h"
#define uchar unsigned char
#define uint unsigned int
uchar LedData=0x80;
uchar num=50;//中斷50次讓LED右移一位
//定時(shí)器A初始化
void InitTimerB(){
TBCTL=TBSSEL1+ID1+ID0+MC0+TBCLR;//選擇1/8SMCLK 增計(jì)數(shù) 清除TAR
TBCCTL0=CCIE;//CCR0中斷允許 比較模式
TBCCR0=10000;//時(shí)間間隔10ms
}
//定時(shí)器A中斷
#pragmavector=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();//初始化時(shí)鐘
InitTimerB();//定時(shí)器B初始化
P4DIR=0xFF;//P4口輸出方向
_EINT();//打開中斷
while(1);
}


評(píng)論


技術(shù)專區(qū)

關(guān)閉