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

📄 bastimer.c

📁 MSP430系列单片机资料-7册-46.3M-pdf.zip
💻 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;
}

/*****************************************************************************
打开或关闭定时器,BTCN2只能与BTCN1一起运行,单独打开BTCN2没有意义。
doti:0:打开       100:关闭
which: 操作定时器的哪一部分   0:BTCN1和BTCN2  1:BTCN2   2:BTCN1
******************************************************************************/
void GoBasTimer(unsigned char doit,unsigned char which)
{
	if(doit==0)
	{
		if(which==0)
			BTCTL &= ~BTHOLD;  //打开BTCN1和BTCN2
		else if(which==2)
		{
			BTCTL |= BTHOLD;   //仅打开BTCN1
			BTCTL &= ~BTDIV;
		}
	}
	else if(doit==100)
	{
		if(which==0)
			BTCTL |= BTHOLD+BTDIV;	//关闭BTCN1和BTCN2
		else if(which==1)
			BTCTL |= BTHOLD;	//关闭BTCN2
	}
}

/*****************************************************************************
打开或关闭BTCN2输出中断
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 + -