msp430定时器控制led闪烁

msp430定时器控制led闪烁

ID:38209063

大小:435.59 KB

页数:4页

时间:2019-05-27

msp430定时器控制led闪烁_第1页
msp430定时器控制led闪烁_第2页
msp430定时器控制led闪烁_第3页
msp430定时器控制led闪烁_第4页
资源描述:

《msp430定时器控制led闪烁》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四讲定时器控制LED闪烁一、定时器简介定时器,简单的说,就像单片机内的一个闹钟。它以单片机的时钟作为计数基准,根据计数数值不同来改变定时时间,并可以设置使时间满足定时条件时进行一系列操作。下面是msp430g2553的datasheet对其定时器的介绍:从这里开始,我们介绍的部件往往会涉及很多寄存器,初学者往往由于配置不全,不能得到想要的效果。因此,学习这一部分,尽量参考用户手册和相关例程进行分析。二、定时器A配置我们要实现使用定时器控制LED闪烁,需要使用定时器中断来控制。定时器中断与外部中断的具体原理一样

2、,都是从主程序中断,处理完中断服务函数再返回。区别只在于触发条件,定时器中断的触发条件是定时器计数溢出(计数数值达到设定数值)。这是用户手册对定时器A的介绍:16位定时/计数,4种计数模式,可选时钟源,2到3个捕获比较寄存器,异步输入输出锁存,定时中断寄存器。16位定时/计数,是指计数数值范围是0-65535,与设置好的时钟源来组合成一定的定时时长。如时钟周期为1us,那么要定时1ms,计数数值就需要设置为1000。上图是定时模式的介绍,一般采用增计数模式即可,即每次定时从0计数到设置的数值。定时器配置最重要的

3、部分在于TACLR寄存器,其16位所代表的含义如下图,具体配置内容可从用户手册和头文件内查出,这里不做一一介绍,在例程中再进行讲解。三、实践操作这里,由于我们的单片机默认时钟为DCO1MHZ,16位定时器计数数值65536,所以最大定时时长为65.536ms。在这里我们进行0.05s的定时,每隔0.05s触发一次中断函数,使LED亮0.05s,灭0.05s,并交替进行。为了方便调试,我们先使用延时的方法使LED闪烁,确认单片机以及LED工作正常。顺便复习一下对IO的操作。下面就到定时器的核心配置了。我们要设置定

4、时器,核心部分当然是TACTL寄存器,它是定时器工作的关键,涉及到定时器所采用的时钟周期以及计数方式。接下来设置定时时间,即计数数值TACCR0。当然为了使用定时中断,要记得打开中断。具体配置如下图所示,相关定义可从头文件中查出。其中CCIE是指打开定时器中断,最后的_EINT();是打开总中断,两者缺一不可。TASSEL_2可从头文件中查出,指定时器A采用子系统时钟SMCLK,在不做设置时为默认DCO(数控振荡器)的值1MHZ。MC_2指采用增计数模式。而数值50000*时钟周期1us=50ms,为我们的定时

5、时长。到此,主函数中的配置已经结束了,但还缺少了定时中断服务函数,它的格式是一定的。如下图:需要说明的是,函数的名字可以自己定义。增计数模式需要重新装载计数数值50000,TACCR0和CCR0在头文件中的定义是相同的,写哪个都可以。如下这些寄存器都是有可选名字的,可以根据习惯使用。这时候,运行程序,就可以看到LED快速的闪烁了。四、总结定时中断是很常用的,它可以以很高的精度计时,同时不妨碍主函数进行其他的控制操作,仅在满足定时时间时处理中断函数。读取外部按键时如果不方便使用外部中断,也可以采用定时读取键值的方

6、法,同样可以快速准确地响应。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。