⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 df_timerb.c

📁 MSP430定时器触发ADC并送串口的程序
💻 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 + -