1 / 14
文档名称:

MSP430定时器A中文超级详解.doc

格式:doc   大小:90KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MSP430定时器A中文超级详解.doc

上传人:duzw466 2019/3/10 文件大小:90 KB

下载得到文件列表

MSP430定时器A中文超级详解.doc

相关文档

文档介绍

文档介绍:文章转载自网络-----------------感谢原作者的辛勤奉献MSP430的定时器中有比较捕获比较模式:这是定时器的默认模式,当在比较模式下的时候,与捕获模式相关的硬件停止工作,如果这个时候开启定时器中断,然后设置定时器终值(Rx),开启定时器,Rx的时候,IFGx置一,同时产生中断。IFGx置一。例子:比较模式就像51单片机一样,要能够软件设置定时间隔来产生中断处理一些事情,如键盘扫描,也可以结合信号输出产生时序脉冲发生器,PWM信号发生器。如:Rx,启动定时器,Rx比较产生中断处理。捕获模式:利用外部信号的上升沿、下降沿或上升下降沿触发来测量外部或内部事件,也可以由软件停止。IxB,GND,VCC。IFGx置一捕获模式的应用:利用捕获源的来触发捕获TAR的值,Rx中,Rx的值,Rx是个16位的寄存器,捕获模式用于事件的精确定位。如测量时间、频率、速度等例子:利用两次捕获的值来测量脉冲的宽度。ISx=”11“(),与GND发生切换时产生捕获条件结合利用:异步通讯同时应用比较模式和捕获模式来实现UART异步通信。即利用定时器的比较模式来模拟通讯时序的波特率来发送数据,同时采用捕获模式来接收数据,并及时转换比较模式来选定调整通信的接受波特率,达到几首一个字节的目的----------------------------------------利用MSP430单片机定时器A和捕获/比较功能模块结合使用,实现脉冲宽度的测量。I1A端口()作捕获外部输入的脉冲电平跳变,同时结合简单的软件算法就能实现脉冲宽度的测量。在实际应用中可根据例程中的start,end,overflow三个变量来计算脉冲宽度。此功能模块在实际产品应用中体现出有较高的应用价值。2-例程#include<>unsignedintstart,end;unsignedcharoverflow;voidmain(void){WDTCTL=WDTPW+WDTHOLD;//关闭看门狗定时器P1DIR=BIT0+BIT4;//=BIT2;//=TASSEL0+TACLR+TAIE+MC1;//定时器A时钟信号选择ACLK,TL1=MC0+SCS+IE;//I0A为捕获信号源_EINT();//中断允许while(1);//LOOP}#pragmavector=TIMERA1_VECTOR//定时器A中断处理__interruptvoidtimer_a(void){switch(TAIV)//向量查询{case2://TL1&CM0)//TL1=(CCTL1&(~CM0))|CM1;//更变设置为下降沿触发start=TAR;//记录初始时间overflow=0;//溢出计数变量复位}TL1&CM1)//TL1=(CCTL1&(~CM1))|CM0;//更变设置为上升沿触发end=TAR;//用start,end,overflow计算脉冲宽度}break;case10://定时器溢出中断overflow++;break;//溢出计数加1default:break;}}//例程结束----------------------------------------------------------------------msp430单片机定时器Timer_ATimer_A定时器:注:。主要有TACTL,R2,TAIV几个寄存器。其中最主要的是TACTL寄存器,它决定Timer_A的输入时钟信号,Timer_A的工作模式,Timer_A的开启与停止,中断的申请等。定时器A大致可分为四个功能模块:计数器、比较/捕获寄存器0、比较/捕获寄存器1、比较/捕获寄存器2。计数器是主体它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断。那怎么实现定时功能呢?这就要靠三个比较/R0比较特殊,通过他可以改变计数器的最大计数值,R0的值时自动会将计数器清零。但这需要设置相应的工作模式,模式列表如下:0——停止模式,用于定时器的暂停1——增计数模式,R0,再清零计数2——连续计数模式,计数器增计数到0xffff,再清零计数3——增/减计数模式,R0,R0单元会产生一个中断。R2时,两个单元也都会个产生一个中断。这样我们可以通过定时器A得到三个定时时间了。TLx是相应比较/捕获寄存器的控制寄存器。它可对比较/捕获寄存器进行设置,在这里只用到比较功能,Rx时产生中断,TLx默认的是比较功能,IE这个控制字,Rx就是相应比较器的