?? bastimer.c
字號:
/****************************************************************************
文件名:main.c
編寫者:czhang
描述:基本定時器模塊程序,用于4xx系列。
ACLK:32.768kHz
版本:2005-4 V1.0
*****************************************************************************/
#include <msp430x42x.h>
#include "bastimer.h"
/*****************************************************************************
初始化基本定時器
******************************************************************************/
void InitBasTimer()
{
//確定液晶時鐘信號和BTCN2的輸入時鐘源以及中斷周期
BTCTL = BT_fLCD_1K + BT_fCLK2_ACLK+BT_fCLK2_DIV4 ;
}
/*****************************************************************************
打開或關閉定時器,BTCNT2只能與BTCNT1一起運行,單獨打開BTCNT2沒有意義。
doti:0:打開 100:關閉
which: 操作定時器的哪一部分 0:BTCNT1和BTCNT2;1:BTCNT2;2:BTCNT1
******************************************************************************/
void GoBasTimer(unsigned char doit,unsigned char which)
{
if(doit==0)
{
if(which==0)
BTCTL &= ~BTHOLD; //打開BTCNT1和BTCNT2
else if(which==2)
{
BTCTL |= BTHOLD; //僅打開BTCNT1
BTCTL &= ~BTDIV;
}
}
else if(doit==100)
{
if(which==0)
BTCTL |= BTHOLD+BTDIV; //關閉BTCNT1和BTCNT2
else if(which==1)
BTCTL |= BTHOLD; //關閉BTCNT2
}
}
/*****************************************************************************
打開或關閉BTCNT2輸出中斷
doit:0:打開 100:關閉
******************************************************************************/
void IntBtcn2(unsigned char doit)
{
if(doit==0)
IE2 |= BTIE; //打開
else if(doit==100)
IE2 &= ~BITE; //關閉
}
/*****************************************************************************
基本定時器中斷函數
******************************************************************************/
#pragma vector=BASICTIMER_VECTOR
__interrupt void BasTimer()
{
static unsigned char out=0;
if(out==0)
{
out=1;
P1OUT &= ~BIT1;
}
else
{
out=0;
P1OUT |= BIT1;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -