资源描述
实验二-2 定时器
【实验目的】
1、 学习LPC系列处理器定时器的功能原理;
2、 掌握定时器功能设置及使用方法。
【实验要求】
1、 了解LPC系列处理器定时器的功能原理。
【实验原理】
一、LPC系列处理器定时器的原理
参见《ARM原理与嵌入式应用——基于LPC2400处理器和IAR开发环境》中有关中断系统的章节,重点要掌握定时器工作原理、定时器寄存器设置和定时器中断的工作方法等。
二、实验板上的定时器
1. LPC系列处理器的定时器具有4个外部信号捕获通道CAP和4个外部输出MAT。由于CAPx脚和MATx脚并不常用,本实验板上并未引出。
2. LPC2468共有Timer0、1、2、3共四个定时器。我们提供的驱动程序里只提供了timer0和timer1的驱动,timer2和timer3的使用方法与此完全相同,读者可以据此写出自己的驱动程序。
三、驱动程序说明
1. timer.c说明
timer.c实现定时器的初始化、使能、禁止、复位并提供中断服务函数,它提供7个函数:
1) init_timer( ):对定时器进行初始化,并安装中断服务函数,两个参数分别为定时器编号和时间间隔,时间间隔的单位为pclk脉冲个数;
2) enable_timer ( )、disable_timer( )、reset_timer( ):定时器的使能、禁止和复位,参数为定时器编号;
3) Timer0Handler( )和Timer1Handler( ):定时器0和1的中断服务函数,功能为将中断计数值自加;
4) delayMS ( ):利用定时器实现延时,两个参数分别为定时器编号、延时的毫秒数。
【实验内容与步骤】
一、阅读例程
仔细阅读提供的timer.c源程序,学习各函数是怎样实现的。
二、编程
1、按照工程模板的格式新建一个工程,在Target组中添加fio.c;
2、在User组中新建一个源程序timer_test.c,实现以下功能:每隔一秒钟点亮不同的LED。
3、参考流程:
1) 目标板初始化;
2) GPIO和LED初始化;
3) 定时器0初始化,安装timer0中断服务函数;
4) 利用定时中断,每发生一次中断点亮、熄灭不同的LED,实现流水灯或其它的闪烁效果。
4、运行、调试
观察程序运行结果是否正确。
【实验习题】
1. 不用中断方式,实现本程序的功能。
2. 编写一段循环程序,使用定时器测试程序的运行时间。
2
展开阅读全文