2592|1

6828

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

MSP430G2553定时器中断实验 [复制链接]

///////////////////////////////////////////////////////////////////
//   msp430G2553的定时器中断控制LED每秒钟进行亮熄变化
///////////////////////////////////////////////////////////////////
#include
void led_init();
void timer_init();
void delay(int);
//----------------------------------
void led_init()
{
  P1DIR|=(1<<6); //P1.6为LED
}
//--------------------------
void timer_init()
{
  TACCR0 =2500;  //计到2500,约20ms
  TACTL = TASSEL_2+ID_3+MC_1+TACLR;  //设置TIMERA的时钟源为SMCLK(1M),8分频后(125K),计数模式为up,到CCR0再自动从0开始计数
  TACCTL0 |= CCIE;                             // CCR0 interrupt enabled
}
//--------定时器中断函数------------
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A(void)
{
  //TACCTL0&=~ CCIE; //关中断
  static int cc=0;
  cc+=1;
  if(cc==50)  //1s=1000ms=20*50 定时
  {
   P1OUT^=(1<<6); //P1.6 LED取反
   cc=0;
  }
}
//--------延时函数 -------
void delay(int n)
{
  unsigned char temp = 0;
unsigned int i=0;
for(i=0;i
{
   for(temp=0;temp<33;temp++);
}
}
//************主函数***************************
void main()
{

  WDTCTL = WDTPW + WDTHOLD;          // Stop WDT
  BCSCTL1 = CALBC1_1MHZ;
  DCOCTL = CALDCO_1MHZ;

  led_init();
  timer_init();  
   _BIS_SR(GIE);              //开总中断
  for(;;)
  {
   ;
  }
}

最新回复

不错,学习了  详情 回复 发表于 2016-1-16 16:06
 
点赞 关注

回复
举报

304

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
不错,学习了
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表