Difference between revisions of "5.8051 Timer programming"
Line 14: | Line 14: | ||
{| class="wikitable" style="text-align:center;background-color:#87A96B;margin: 1em auto 1em auto;" | {| class="wikitable" style="text-align:center;background-color:#87A96B;margin: 1em auto 1em auto;" | ||
+ | |+ Table. 1: Timer Register | ||
|- | |- | ||
!colspan = '16'|T0 | !colspan = '16'|T0 | ||
Line 27: | Line 28: | ||
{| class="wikitable floatright" style="text-align:center;background-color:#87A96B;" | {| class="wikitable floatright" style="text-align:center;background-color:#87A96B;" | ||
+ | |+ Table 3. Timer Modes | ||
|- | |- | ||
!M1||M0||Operation | !M1||M0||Operation | ||
Line 40: | Line 42: | ||
{| class="wikitable" style="text-align:center;background-color:#87A96B;" | {| class="wikitable" style="text-align:center;background-color:#87A96B;" | ||
+ | |+ Table 2. TMOD Register | ||
|- | |- | ||
!colspan = '8'|TMOD | !colspan = '8'|TMOD |
Revision as of 23:00, 26 December 2013
In this tutorial we will see 8051 timers. We will use the 8051 timers to generate a precise delay of 1 sec.
8051 timers/counters
The 8051 has 2 timers/counters.
- They can be used to generate precise timing, i.e., we can measure time between events. The unit is then called timer.
- It can also be used to count external events, known as counter.
- Timer 1 is also used for generating baud rate in serial communication, which we will discuss in the next tutorial
Timer Counter Operation
The Timer 0 is a 16 bit registers as shown. This can be accessed as 2 eight bit registers TL0 and TL1. Same applies to Timer 1.
T0 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TH0 | TL0 | ||||||||||||||
D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
The TMOD Register specifies the operational mode of the two timers. The higher nibble is used for Timer 1 and Lower for the timer 0 as shown below.
M1 | M0 | Operation |
---|---|---|
0 | 0 | 13 bit Timer |
0 | 1 | 16 bit Timer |
1 | 0 | 8 bit Auto Reload |
1 | 1 | Split Mode |
TMOD | |||||||
---|---|---|---|---|---|---|---|
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
Gate | C/T | M1 | M0 | Gate | C/T | M1 | M0 |
Timer1 | Timer 0 |