LPC2148 Timers
LPC2148 Timers
LPC2148 Timers
In this tutorial, we are going to discuss the Timer module of LPC2148 . First, we will see how to
configure the Timer0 and Timer1 registers to generate a delay of 100ms and 500ms respectively. At
the end, we will see how to use the ExploreEmdedded Timer library.
Contents
• 1 LPC2148 Timer Module
• 2 LPC2148 Timer Registers
• 3 Register Configuration
• 4 Prescalar Calculation
• 5 Steps to Configure Timer
• 6 Example
• 7 Using ExploreEmbedded Libraries
• 8 Downloads
Register Description
Interrupt Register: The IR can be read to identify which of 6(4-match, 2-Capture) possible
IR interrupt sources are pending. Writing Logic-1 will clear the corresponding interrupt.
Timer Control Register: The TCR is used to control the Timer Counter
TCR functions(enable/disable/reset).
Timer Counter: The 32-bit TC is incremented every PR+1 cycles of PCLK. The TC is
TC controlled through the TCR.
PR Prescaler Register: This is used to specify the Prescaler value for incrementing the TC.
Prescale Counter: The 32-bit PC is a counter which is incremented to the value stored in
PC PR. When the value in PR is reached, the TC is incremented.
Match Control Register: The MCR is used to control the resetting of TC and generating of
MCR interrupt whenever a Match occurs.
Match Registers: The Match register values are continuously compared to the Timer
MR0-MR3 Counter value. When the two values are equal, actions can be triggered automatically.
The action possibilities are to generate an interrupt, reset the Timer Counter, or stop the
timer. Actions are controlled by the settings in the MCR register.
Register Configuration
TCR
31:2 1 0
Reserved Counter Reset Counter Enable
Bit 0 ? Counter Enable
This bit is used to Enable or Disable the Timer Counter and Prescalar Counter
0- Disable the Counters
1- Enable the Counter incrementing.
MCR
31:21 11 10 9 8 7 6 5 4 3 2 1 0
Reserved MR3S MR3R MR3I MR2S MR2R MR2I MR1S MR1R MR1I MR0S MR0R MR0I
MRxI
This bit is used to Enable or Disable the Timer interrupts when the TC matches MRx (x:0-3)
0- Disable the Timer Match interrupt
1- Enable the Timer Match interrupt.
MRxR
This bit is used to Reset TC whenever it Matches MRx(x:0-3)
0- Do not Clear.
1- Reset TC counter value whenever it matches MRx.
MRxS
This bit is used to Stop TC and PC whenever the TC matches MRx(x:0-3).
0- Disable the Timer stop on match feature
1- Enable the Timer Stop feature. This will stop the Timer whenever the TC reaches the Match
register value.
Prescalar Calculation
Timer delay generated by the LPC1768 depends on the input clock and the pre-scalar values. The
required pre-scalar value can be determined by the pclk (peripheral clock). PCLKSEL0 and
PCLKSEL1 register have the PCLK info for all the 4 timers.
Example
Program to demonstrates the led blinking with 100ms and 500ms delay using the timer interrupts
Have an opinion, suggestion , question or feedback about the article let it out here!