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

📄 time_700.c

📁 利用msp430f1611 的定时器ta0产生700ms的计时(这是本人自己编写的
💻 C
字号:

#include <msp430x16x.h>
/****************************初始化TA0定时器(16位)***************************/
void TA0_init(int v)
{ 
  CCTL0 = CCIE;             // CCR0 interrupt enabled       
  CCR0=v-1;        
  TACTL=TASSEL_1+MC_1;       //选ACLK为时钟(32768) 增计数模式 使能溢出中断
  //_EINT();        //  Enable interrupts
}
/****************************TA0中断(计数的整数倍)**************************/
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{							   
  n= n-1;
  CCR0=65535;
  if(n == 0)
  {
    flag = 1; 
  } 
}


/*****************************700ms的低电平*********************************/
void TA0_700(void)
{
 L=22937.6;                         //700ms对应的定时器的值
 M=L%65536;                        //计数器对应的余数
 n = (unsigned char)(L/65536) + 1;
 TA0_init(M);
 while(!(flag==1));
 DAC12_1DAT= DAChigh;	           // DAC变高电平
 TACTL=MC_0;		           //关闭TA0
 CCTL0&=~CCIE;      	           //禁止中断
 flag =0;
}
/**************************主函数************************************/
main()
{
WDTCTL = WDTPW + WDTHOLD;             //stop wdt
_EINT();                              //使能全局中断
TA0_700();

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -