使用定时器实现小灯闪烁 (单片机 LM3S811)

本文介绍了如何利用定时器LM3S811的32位周期模式和中断功能,分别通过不使用中断和使用中断的方法,实现小灯的闪烁。详细讲解了配置定时器、设置负载值、中断处理等关键步骤,并提供了相应的代码示例。
摘要由CSDN通过智能技术生成

转载请注明出处:http://blog.csdn.net/icyfox_bupt/archive/2011/06/01/6460074.aspx

 

本来想把驱动库,原理图,内部原理都上传到百度文库的 ,结果被和谐了不让上传,需要的朋友留下邮箱,我会打包给你发过去的。这些文档确实很好用,对于函数的参数,内部的连线结构介绍的很清楚,真是编程必备呀!

 

上次我们讲了如何使用延时来做小灯闪烁的程序,相信大家都有所了解了,这次我们来看如何使用定时器实现小灯闪烁。

 

1、不使用中断的方法

 

     首先我们还是来看头文件,因为这次使用了定时器(timer),所以头文件要包含timer.h。

     选择闪烁的小灯,在此我们选择PC5小灯,将其使能,作为output。

     下一步是使能定时器的过程。有如下步骤:

          1、在系统中使能定时器。   函数:SysCtlPeripheralEnable()

          2、选择定时器的使用类型,函数:TimerConfigure(),  参数可以写 TIMER_CFG_32_BIT_PER (32位周期)/                                         TIMER_CFG_16_BIT_PAIR|TIMER_CFG_A_PERIODIC  (16位TIMER0A周期)  TIMER_CFG_A_CAP_COUNT(计数模式)等..

              (注:LM3S811一共有4个计数器TIMER0/1/2/3 ,默认使用减计数模式, 每个timer可以作为一个32位计数器使用,也可以作为两个16位计数器使用。具体使用方法请看技术文档)

          3、给定时器装载值:使用TimerLoadSet() 函数。

          4、使能定时器。

 

      剩下的思路很简单,让程序进入一个死循环。使用轮询检测定时器是否溢出,如果溢出则改变小灯的亮灭。因为系统的频率是一定的(在本程序中是6MHZ),所以通过改变定时器中装载的数值就可以控制小灯亮灭的时间。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值