[ARM7--LPC23xx]LPC23xx定时器学习

原创 2015年07月11日 00:17:42
   问题描述:LPC是ARM7架构的通用型嵌入式处理器,适用于各种嵌入式设备应用。当然,其出现时间较早,与之后的ARM9,ARM10,ARM-Cortex系列相比在处理速度上是相对较慢的,但在价格上是有优势的,如果不是做很复杂的高端应用系统,ARM7在工业控制领域等许多方面都还是胜任的。LPC有四个定时器,定时器在应用中的作用很重要,比如常见的定时、计数功能,可以准确控制执行动作的间隔,控制发送数据的速率等方面都很有用,用作系统编程中的延时也是非常重要的一个应用。以下简单记录下LPC23xx定时器的一些用法等。
    LPC23xx定时器:
   Timer0/1/2/3的配置用到的寄存器有:PCONP寄存器的PCTIM0/1/2/3位,用于定时器的开关(对应位为1为开,0为关)。复位后,定时器0/1可用,定时器2/3禁用。与硬件时钟有关的寄存器,PCLK_SELO寄存器(对应的PCLK_TIMER0/1位),PCLK_SEL1寄存器(对应的PCLK_TIMER2/3位)。引脚复用配置,由于几乎每个引脚都复用几个功能,因此在寄存器PINSELn和PINMODEn中配置定时器引脚功能。定时器中断的设置,对于匹配与捕获事件在寄存器T0/1/2/3MCR和T0/1/2/3CCR寄存器中,对于定时器中断使能在VICIntEnable寄存器。
   四个32位定时器的功能是相同的,可用于计数内部事件,脉宽调制,定时器应用。定时器的机理是计算硬件时钟或者是从外部提供的时钟的周期数。
    具体寄存器设置:
   IR寄存器:即中断寄存器,有8位,4位用于匹配中断,4位用于捕获中断。中断发生时,对应的IR寄存器的位就自动置1。向IR寄存器的位写1可以复位中断(应当就是清除中断标志位的意思了),写0是没有作用的。
   TC寄存器:即定时计数寄存器,当prescale计数器(把时钟周期扩大计数,即可以设置成时钟周期的整数倍进行一次计数)到最后一个计数值时,TC寄存器就加1。如果中途没有复位,TC寄存器会一直计数到0xFFFFFFFF,然后又回到0x00000000。这个计数溢出事件不会导致中断,但可以用一个匹配寄存器来检测这个计数溢出事件。
   MCR寄存器:即匹配控制寄存器,用来控制当一个匹配寄存器匹配TC时如何进行操作。具体操作(以Timer0为例):MR0I位,为1时,当MR0匹配TC值时产生中断。MR0R位,为1时,当MR0匹配TC时TC将复位。MR0S位,为1时,当MR0匹配TC时,TC和PC将停止,且TCR[0]将清零。
   MR0-MR3:即四个匹配寄存器,这个寄存器的值将不断和TC寄存器的值进行比较,当两者相等时,将会自动触发动作。动作可能是产生中断、复位TC、停止定时器等(动作在上面的MCR寄存器设置)。
   TCR:即定时器控制寄存器,用来设置为定时器使用还是计数器使用。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LPC23xx烧写过程对比文件

  • 2011年11月11日 08:22
  • 380KB
  • 下载

用IAR/KEIL移植uCOS到LPC23xx

  • 2009年02月28日 18:07
  • 3.78MB
  • 下载

LPC21XX系列ARM7驱动RTC RX8025(I/O模拟IIC)

/****************************************************************************************** * 函数名称 ...
  • hit97
  • hit97
  • 2011年09月08日 14:17
  • 2394

LPC23xx中文数据手册

  • 2013年12月19日 11:46
  • 5.32MB
  • 下载

LPC23xx user manual

  • 2013年03月21日 04:47
  • 3.17MB
  • 下载

ARM7的LPC22xx寄存器基础。

1. MEMMAP = 0x00时为Boot模式,异常向量表从Boot Block重新映射 MEMMAP = 0x01时为片内Flash模式,异常向量表不重新映射 MEMMAP = ...
  • skywn
  • skywn
  • 2012年07月14日 14:31
  • 717

lpc23xx usb bootloader

  • 2013年07月25日 11:42
  • 527KB
  • 下载

LPC23xx A/D转换

  • 2011年11月11日 08:12
  • 15KB
  • 下载

LPC17XX 学习之系统时钟与功率控制

系统时钟与功率控制 一、系统时钟   LPC17XX有三个独立的时钟振荡器,分别是主振荡器(MIAN_OSC)、内部RC振荡器(IRC_OSC)、实时时钟振荡器(RTC_OSC)。LPC1...

LPC23XX芯片手册

  • 2011年08月19日 22:43
  • 5.26MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[ARM7--LPC23xx]LPC23xx定时器学习
举报原因:
原因补充:

(最多只允许输入30个字)