3272|0

71

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

基于msp430g2553定时器详解1 [复制链接]

/*#include "msp430g2553.h"
unsigned char num;
void main()
{
  // Stop watchdog timer to prevent time out reset
        WDTCTL = WDTPW + WDTHOLD;      
 BCSCTL3 |= LFXT1S_2; // Set LFXT1为vol时钟即12kHZ
       
        CCTL0|= CCIE;  //设置捕获/比较控制寄存器,CCIE=0x0010,使能捕获比较中断
        CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于ACLK时钟频率为12khz的频率,相当于1s
        TA0CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
        // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK,与dco有关;
        // TACLR=0x0004,清除定时器A计数器
        //TACTL |= MC0; //设置定时器A控制寄存器,MC0=0x0010,使计数模式为增计数
        P1SEL&=~BIT6; //P1.6为I/O口
        P1DIR |=BIT6; //P1.6为输出
        _EINT();  //使能中断,这是一个C编译器支持的内部过程。
        while(1); //无限次while循环
}
#pragma vector=TIMER0_A0_VECTOR//固定的格式
__interrupt void Timer_A (void) //定时器A的CC0中断处理程序 必须是没有返回值的
{
   P1OUT ^= BIT6; //将P3.7引脚取反,就是使发光二极管闪烁
}*/

 

 

 

 

 

//使用主系统做为时钟源时,可用用num配合使用,达到一秒定时,
//也可以通过BCSCTL2 |= SELM_1 + DIVM_3; 选择MCLK并且8分频
#include "msp430g2553.h"
unsigned char num;
void main()
{
  // Stop watchdog timer to prevent time out reset
        WDTCTL = WDTPW + WDTHOLD;
        //主系统时钟切换为外部高速晶振  
 if (CALBC1_1MHZ == 0xFF || CALDCO_1MHZ == 0xFF)
 {
     while(1);   // If calibration constants erased, trap CPU!!
 }
 // Configure Basic Clock
 BCSCTL1 = CALBC1_1MHZ;     // Set range
 DCOCTL = CALDCO_1MHZ;    // Set DCO step + modulation*/
       
        CCTL0|= CCIE;  //设置捕获/比较控制寄存器,CCIE=0x0010,使能捕获比较中断
        CCR0 =10000;  //设置捕获/比较寄存器,初始值为10000,对于MCLK时钟频率为1Mhz的频率,相当于1s
        TA0CTL = TASSEL_2 +TACLR+MC_1; // 设置定时器A控制寄存器,
        // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK,与dco有关;
        // TACLR=0x0004,清除定时器A计数器
        //TACTL |= MC0(MC_1); //设置定时器A控制寄存器,MC0=0x0010,使计数模式为增计数
        P1SEL&=~BIT6; //P1.6为I/O口
        P1DIR |=BIT6; //P1.6为输出
        _EINT();  //使能中断,这是一个C编译器支持的内部过程。
        while(1); //无限次while循环
}

#pragma vector=TIMER0_A0_VECTOR//固定的格式
__interrupt void Timer_A (void) //定时器A的CC0中断处理程序 必须是没有返回值的
{
  num++;
  if(num==100)
  {
   P1OUT ^= BIT6; //将P3.7引脚取反,就是使发光二极管闪烁
   num=0;
  }
}


 

 
点赞 关注(1)

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表