实验3timer定时器.docVIP

  • 26
  • 0
  • 约2.78千字
  • 约 4页
  • 2017-03-05 发布于重庆
  • 举报
实验3timer定时器

实验三 timer定时器 【实验目的】 学习LPC1768处理器timer定时器(轮询方式,中断方式)的功能原理; 掌握定时器功能设置及使用方法。 【实验要求】 了解LPC1768处理器timer定时器(轮询方式,中断方式)的功能原理。 【实验原理】 一、LPC系列处理器定时器的原理 参见课本P106中有关定时器的章节,重点要掌握定时器工作原理、定时器寄存器设置和定时器中断的工作方法等。 二、实验板上的定时器 1.LPC1700嵌入式处理器具有4个32位可编程定时/计数器,除了外设基址之外操作完全相同。 2. 定时/计数器对外设时钟(PCLK)周期或外部时钟进行计数,可选择产生中断或根据匹配寄存器的设定,在到达指定的定时值时执行其它动作(输出高/低电平、翻转或者无动作)。 3. 查询方式使用定时器: 用查询方式使用定时器可以提供非常准确的延时时间。但在该方式中处理器被独占,系统效率低,所以在实际应用中不宜大量使用这种方式。函数delayMs使用定时器0产生毫秒级的延时。函数共有两个参数:timer_num为定时器序号,delayInMs为延时时间,单位为毫秒。由于定时器时钟由Fpclk提供,当预分频寄存器PR设为0时,计数Fpclk个时钟周期为1秒。所以延时要以毫秒为基本单位就可以设置MR寄存器为Fpclk/1000的整数倍。对Fpclk的设置请参阅系统时钟设置相关章节。 4.中断方式使用定时器: 在这种方式下定时器与处理器可以并行工作,等计数完成定时器通过中断通知处理器转而执行中断服务程序。这样的使用方式可以提高系统的效率。 程序首先要初始化使用的定时器,init_timer()函数执行内容包括设置定时器的匹配寄存器MRn和匹配控制寄存器MCRn,还有安装定时器中断服务函数等。该函数有两个参数:timer_num为初始化定时器序号,TimerInterval为Fpclk周期数也即定时器中断间隔时间。 三、程序说明(轮询方式) 1.SystemInit(): 系统初始化,包括系统时钟设置等。 2. enable_timer( uint8_t timer_num ): 定时器初始化,本实验中使用定时器0,因此参数timer_num设置为0。 3. delayMs(uint8_t timer_num, uint32_t delayInMs) 设置相应定时器(T0或T1,本实验中使用T0)的TCR、PR、MR0、IR、MCR寄存器。 TCR(定时器控制寄存器): 控制定时/计数器的操作。 PR(预分频寄存器): 32 位预分频寄存器指定预分频计数器的最大值。TC每经过PR+1个PCLK加1。 MR0(匹配寄存器): 每个定时器有4个匹配寄存器。匹配寄存器值连续与定时器计数值相比较。当两个值相等时自动触发相应动作(产生中断,复位定时器计数器或停止定时器)。具体执行什么动作由MCR寄存器控制。 IR(中断寄存器): 中断寄存器中4个位用于匹配中断,2个位用于捕获中断。如果有中断产生,IR中的对应位置1,否则为0。向对应的IR位写入1会复位中断,写入0无效。清除定时器匹配中断也会清除对应的DMA请求。 MCR(匹配控制寄存器): 控制在发生匹配时所执行的操作。 三、程序说明(中断方式) 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。 三、程序说明 1.SysTick_Config(uint32_t ticks): SysTick定时器初始化,函数参数是定时器计数的tick数,通过计算可得到准确的定时时间。 2. SysTick_Handler (void): SysTick中断服务程序,SysTick定时器采用中断方式工作,计数值每达到一次预设的tick数便产生一次中断。本实验中,在该中断服务子函数中对计数值TimeTick加1。 【实验内容与步骤】 一、阅读例程 阅读整个工程文件的框架和之前列出的主要函数,了解定时器的用法。 二、运行、调试: 观察程序运行结果是否正确。 三、编程: 修改程序相关部分,改变定时器定时周期,从而改变LED灯闪烁频率。 #inc

文档评论(0)

1亿VIP精品文档

相关文档