打印

【TI 技术资料分享】+ Proteus7.6仿真MSP430单片机CCR0比较功能

[复制链接]
718|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

IAR程序---MSP430比较模式

#include<msp430x23x.h>
#define uint unsigned int
#define uchar unsigned char

uchar n;

/******************************************************************************
函数:void COMPARE_A(void)
功能:Timer0比较中断
******************************************************************************/
#pragma vector=TIMERA0_VECTOR
__interrupt void COMPARE_A(void)
{
  n++;
  if(n==10)
  {
    P1OUT^=0x01;
    n=0;
  }
}
/******************************************************************************
函数:void TIMER0_COMPARE_INIT(void)
功能:TimerA比较中断初始化
****************************************************************************/
void TIMER0_COMPARE_INIT(void)
{
  P1DIR |= 0x01;   //P1^0为输出
  CCTL0 = 0x0010;  //比较模式,允许比较中断
  CCR0 = 1000-1;   //比较值
  TACTL = 0x02e4;  //时钟源-MCLK,8分频,连续计数,禁止中断
}
/******************************************************************************
函数:void main(void)
功能:主函数
******************************************************************************/
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;
  TIMER0_COMPARE_INIT();
  _EINT();    //开总中断
  while(1)
  {
     _NOP(); //短延时
  }
}

相关帖子

沙发
shenmu2012| | 2015-3-8 15:45 | 只看该作者
这是用单片机的timer寄存器的捕获跟比较功能的吧。

使用特权

评论回复
板凳
firstblood| | 2015-3-9 20:06 | 只看该作者
采用的是timerA的比较功能的啊,,这个主要看它相关的寄存器ccr0的计数数据的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422 我的博客:http://blog.timcu.com/

1181

主题

34897

帖子

1117

粉丝