![]() |
|
||||||||||||||
| | 网站首页 | 综合电子 | 51单片机 | AVR单片机 | ARM专栏 | MSP430 | 网上商城 | PSOC | 下载中心 | 公司事项 | DSP专栏 | | ||
|
||
|
|||||
| MSP430F149 定时器 | |||||
| MSP430F149 定时器 | |||||
作者:未知 MSP430来源:本站原创 点击数: 更新时间:2008-10-21 ![]() |
|||||
|
(1)利用定时器A的模式2(连续)实现的定时资料 利用定时器A的模式2(连续)实现的定时资料 在程序中对TACTL的控制,当TACTL为如下的赋值时 TACTL = TASSEL_2 + MC_2 + TAIE; // SMCLK, contmode, interrupt 可以改变TASSEL_X来实现不同的定时, 当为TASSEL_1时选ACLK为定时时钟,可以实现最短2S的定时,其次为2S的倍数的定时。 当为TASSEL_2时选 SMCLK为定时时钟,定时取决于SMCLK的时钟源, 1、SMCLK选 DCO = 800KHZ为时钟源,最短定时时间 为 0.08S 的定时,其次为其倍数。 BCSCTL1 &= ~XT2OFF; 通过对上面两句的不同设置,可实现不同的延时。
/****************************************************************************** #include typedef unsigned char uchar; void main(void) P3DIR |= BIT4; TACTL = TASSEL_2 + MC_2 + TAIE; // SMCLK, contmode, interrupt } /* // Timer A0 interrupt service routine */ (2)利用定时器A的模式1(上升)实现的定时资料 此时要用到TACCTL0 及 TACCR0 ,根据设定的不同的TACCR0及不同的TASSEL_X即可实现不同的定时。 但此时的中断程序要改变。 对定时器A的中断的说明: 1、TIMERA1_VECTOR 的中断地址为 0XFFEA, 此中断入口地址包含3个中断源,属于多源中断,通过TAIV的值,可以知道是哪个源的中断,当TAIV 为0X02H时 中断源为 TACCR1 CCR1IFG 当TAIV 为0X04H时,中断源为 TACCR2 CCR2IFG 当TAIV 为0X0AH时,中断源为 TA OVERFLOW TAIFG 2、TIMERA0_VECTOR 的中断地址为 0XFFEC 为单源中断,中断源为TACCR0 CCR0IFG
对定时时间的说明: 当TASSEL_1时,选ACLK = 32.768KHZ,此时根据选取不同的TACCR0来实现不同的延时, 当TASSEL_2时,选SMCLK = DCO 时,~~~~~~~~~~~~~~~~~~~~~ 选SMCLK = XT2时,~~~~~~~~~~~~~~~~ 关键语句: TACTL = TASSEL_X + MC_1; TACCR0 = ~~~~~~~; TACCTL0 = CCIE; (3)、利用定时器A的比较模式,及输出模式4和连续计数模式可实现同时实现4个独立的定时间隔,或4种不同的频率输出。 在实验的过程中,同时驱动数码管的4个段。 在比较模式下主要区分TACCR0 TACCR1 TACCR2 及TAIFG,的中断向量及入口地址,及输出模式(共8种)
其程序如下: #include typedef unsigned char uchar; TACCR1 = 0X8000; } /**/ |
|||||
| MSP430录入:dycxin 责任编辑:dycxin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| MSP430和实时时钟HT1381的接… MSP430与DS18B20的C程序 MSP430 Flash编程程序 msp430的定时器 MSP430AD转换 MSP430常见问题与解答 MSP4250 AD和端口问题 MSP430与ATMEL 93C46通讯子程… MSP430 串口函数 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | | 设为首页 | 购买方法 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 联系我们 | 网络答疑| | | |||
|