MSP430F149定时器A入门教程

需积分: 12 30 下载量 145 浏览量 更新于2024-07-18 2 收藏 1.8MB DOC 举报
"MSP430F149基础程序集合包含了一系列针对初学者的430系列微控制器的基本操作教程,特别是关于定时器A的配置和使用,包括了UP模式和连续模式的计数。这些代码示例有助于理解和实践MSP430F149芯片的定时器功能及其在不同模式下的工作原理。" MSP430F149是德州仪器(TI)生产的一款16位超低功耗微控制器,广泛应用于各种嵌入式系统设计中。该芯片具有多个功能强大的定时器模块,如定时器A,它是MSP430系列的重要组成部分,可以执行多种计数和定时任务。 定时器A在MSP430F149中的主要模式有UP模式和连续模式: 1. UP模式计数: 在这个模式下,定时器从零开始计数,直到达到比较寄存器CCR0设定的值,然后产生一个中断并重置回零。在提供的代码中,`TIMERA_Init()`函数用于初始化定时器A为UP模式,使用SMCLK作为时钟源,不分频,设置计数周期为CCR0+1,并开启CCR0中断。当定时器溢出时,`Timer_A1`中断服务程序会被调用,这里简单地实现了P2.2引脚的电平翻转,实现了一种简单的脉冲输出,频率为160Hz。 2. 连续模式计数: 在连续模式下,定时器在达到CCR0值后不会复位,而是继续向上计数,直到被手动停止。这在需要长时间计数或需要计数到某个特定值的应用中非常有用。同样,`TIMERA_Init()`函数被重新定义来初始化定时器A为连续模式,其他配置基本与UP模式相同,但增加了连续计数模式(TAIE)的标志,这样定时器会在每个计数周期结束时产生中断。 中断服务程序`Timer_A1()`在两种模式下都是相同的,但根据不同的计数模式,中断的触发条件会有所不同。在UP模式下,中断发生在定时器溢出;而在连续模式下,中断可能在每个计数周期结束时发生,具体取决于应用需求。 通过这些基础程序,学习者可以理解如何配置和控制MSP430F149的定时器A,以及如何利用中断机制来响应定时事件,这对于开发涉及精确时间控制的嵌入式系统至关重要。此外,通过改变CCR0的值,可以调整定时器的计数周期,从而改变输出信号的频率,例如将P2.2的输出频率改为200Hz或其他所需的值。