msp430——学习3:定时器中断:计数模式为up模式。ta_2

博客分析了MSP430单片机在不同计数模式下的中断频率。在正常计数模式下,配置为20000时产生25Hz脉冲,而在连续计数模式下,不更新CCR0值,当计数到65535溢出后,频率降低至7.629Hz,与示波器显示一致。
摘要由CSDN通过智能技术生成

up计数模式
循环的从0记到TACCR0

#include <msp430.h>

int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P2DIR |= BIT4; ; // P1.0 output
CCTL0 = CCIE; // CCR0 interrupt enabled
CCR0 = 20000;
TACTL = TASSEL_2 + MC_1; // SMCLK, upmode

__bis_SR_register(LPM0_bits + GIE); // Enter LPM0 w/ interrupt
}
#if defined(TI_COMPILER_VERSION) || defined(IAR_SYSTEMS_ICC)
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
P2OUT ^= BIT4;
}
分析:
#pragma vector=TIMER0_A0_VECTOR //表示给这个向量表中的外部端口中断所对应的地址进行赋值,并赋值为函数void Timer_A(void)的首地址。
关键字__interrupt则表示这个函数是中断服务函数这种特殊函数。

//在中断函数里面可以看出,不用在中断函数中重新设置CCR0.
计算应该会产生=1/(1/1000000 * 20000 * 2) = 25hz的脉冲。
对的,是没问题的。

///问题如果使用连续计数,在中断函数中不加CCR0 .会产生多少HZ呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值