📄 df_timerb.c
字号:
/*****************************************************************************\
文件名:df_timerb.c
描述:用于MSP430F149。
定时器A定时,产生中断,使主程序退出低功耗模式。
使用TACTL0
工作模式:增计数模式
时钟源:ACLK 32.768kHz
版本:1.0 2004-9-10
\*****************************************************************************/
#include <MSP430x14x.h>
#include "df_timerb.h"
#include "adc12.h"
#include "df_uart.h"
//#define TimeZhi 32768
#define RED BIT5
#define GREEN BIT7
extern unsigned int ad_result[100];
extern unsigned int *tmp;
extern unsigned char flag,ad_num ;
void TimerAInit()
{
TACTL=TASSEL_1+TACLR+MC_1; //选择时钟源为ACLK
TACCTL0 = CCIE; //允许定时器中断
}
/*****************************************************************************
设置定时时间
ti:要定时的时间,与时钟源的频率有关
*****************************************************************************/
void SetTime(unsigned int ti)
{
// unsigned char i;
TACCR0=ti; //定时时间
}
/*****************************************************************************
设置定时时间
doit: 0:停止 100:运行
*****************************************************************************/
void GotimeDfB(unsigned char doit)
{
if(doit==100)
{
TACTL |= MC_1+TACLR; //打开定时器
}
else if(doit==0)
{
TACTL &= ~MC0; //关闭定时器
}
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A0(void) //定时器中断函数
{
_EINT();
adcsingle();
if(ad_num>99)
{
ad_num=0;
SendUart(ad_result,100);
flag = !flag;
if(flag==1)
P5OUT |= RED;
else P5OUT &= ~RED;
}
//SetTime(TimeZhi);
//_EINT();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -