实验3-2timer定时器(中断方式)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三-2 timer定时器(中断方式)

【实验目的】

1、学习LPC1768处理器timer定时器(中断方式)的功能原理;

2、掌握定时器功能设置及使用方法。

【实验要求】

1、了解LPC1768处理器timer定时器(中断方式)的功能原理。

【实验原理】

一、LPC系列处理器定时器的原理

参见课本P106中有关定时器的章节,重点要掌握定时器工作原理、定时器寄存器设置和定时器中断的工作方法等。

二、实验板上的定时器

1.LPC1700嵌入式处理器具有4个32位可编程定时/计数器,除了外设基址之外操作完全相同。

2. 定时/计数器对外设时钟(PCLK)周期或外部时钟进行计数,可选择产生中断或根据匹配寄存器的设定,在到达指定的定时值时执行其它动作(输出高/低电平、翻转或者无动作)。

3. 中断方式使用定时器:

在这种方式下定时器与处理器可以并行工作,等计数完成定时器通过中断通知处理器转而执行中断服务程序。这样的使用方式可以提高系统的效率。

程序首先要初始化使用的定时器,init_timer()函数执行内容包括设置定时器的匹配寄存器MRn和匹配控制寄存器MCRn,还有安装定时器中断服务函数等。该函数有两个参数:timer_num为初始化定时器序号,TimerInterval为Fpclk周期数也即定时器中断间隔时间。

三、程序说明

1.SystemInit():

系统初始化,包括系统时钟设置等。

2. init_timer ( uint8_t timer_num, uint32_t TimerInterval ):

根据不同定时器编号设置定时器相关寄存器以及安装中断服务程序。

3. enable_timer( uint8_t timer_num ):

定时器使能,本实验中使用定时器0,因此参数timer_num设置为0。

4. TIMER0_IRQHandler (void):

定时器0中断服务函数,清中断标志,timer0_counter计数加1。

【实验内容与步骤】

一、阅读例程

阅读整个工程文件的框架和之前列出的主要函数,了解定时器的用法。

二、运行、调试:

观察程序运行结果是否正确。

三、编程:

修改程序相关部分,改变定时器定时周期,从而改变LED灯闪烁频率。

【实验习题】

1.定时器使用中中断方式的功能原理和实现方法。

2. 程序中定时器中断间隔和LED灯的亮灭间隔如何确定?

相关文档
最新文档