例子:比较模式就像51单片机一样,要能够软件设置定时间隔来产生中断处理一些事情,如键盘扫描,也可以结合信号输出产生时序脉冲发生器,PWM信号发生器。如:不断装载TACCRx,启动定时器,TAR和TACCRx比较产生中断处理。
捕获模式:
捕获模式的应用:
例子:利用两次捕获的值来测量脉冲的宽度。或捕获选择任意沿,CCISx=”11“(输入选择VCC),这样即当VCC与GND发生切换时产生捕获条件
结合利用:异步通讯
同时应用比较模式和捕获模式来实现UART异步通信。即利用定时器的比较模式来模拟通讯时序的波特率来发送数据,同时采用捕获模式来接收数据,并及时转换比较模式来选定调整通信的接受波特率,达到几首一个字节的目的
-------------------------------------------------------------------------------------------------
利用MSP430单片机定时器A和捕获/比较功能模块结合使用,实现脉冲宽度的测量。
2-例程
#include
unsigned int start,end;
unsigned char overflow;
void main (void)
{
WDTCTL
P1DIR = BIT0+BIT4;
P1SEL = BIT2;
TACTL = TASSEL0+TACLR+TAIE+MC1;
CCTL1 = MC0+SCS+CAP+CCIE;
_EINT();
while(1);
}
#pragma vector=TIMERA1_VECTOR
__interrupt void timer_a(void)
{
switch(TAIV)
{
if(CCTL1&CM0)
{
CCTL1=(CCTL1&(~CM0))|CM1;
start=TAR;
overflow=0;
}
else if (CCTL1&CM1)
{
CCTL1=(CCTL1&(~CM1))|CM0;
end=TAR;
}
break;
case 10:
overflow++;
break;
default:break;
}
}
//例程结束
上一篇:msp430系统时钟概述
下一篇:单片机的111条指令集合
推荐阅读最新更新时间:2024-03-16 14:35