8051 Microcontroller 
Timers & Counters 
Prepared by: 
Manu Thomas 
manut46@gmail.com 1 12/11/2014
The 8051 Timers 
The 8051 comes equipped with two timers, both of which may be 
controlled, set, read, and configured individually. 
he 8051 timers have three general functions: 
1) Keeping time and/or calculating the amount of time between events, 
2) Counting the events themselves, or 
3) Generating baud rates for the serial port. 
The 8051 microcontroller has 2 timers/counters called T0 and T1. As their 
names suggest, their main purpose is to measure time and count external 
events. Besides, they can be used for generating clock pulses to be used in 
serial communication, so called Baud Rate. 
manut46@gmail.com 2 12/11/2014
Timer T0 
The timer T0 consists of two registers – TH0 and TL0 representing a low and a 
high byte of one 16-digit binary number. 
Formula used to calculate values in these two registers is very simple: 
TH0 × 256 + TL0 = T 
Since the timer T0 is virtually 16-bit register, the largest value it can store is 
65 535. In case of exceeding this value, the timer will be automatically cleared 
and counting starts from 0. This condition is called an overflow. 
Two registers TMOD and TCON are closely connected to this timer and 
control its operation. 
manut46@gmail.com 3 12/11/2014
TMOD Register (Timer Mode) 
The TMOD register selects the operational mode of the timers 
T0 and T1 
The low 4 bits (bit0 - bit3) refer to the timer 0, 
The high 4 bits (bit4 - bit7) refer to the timer 1 
manut46@gmail.com 4 12/11/2014
TMOD Register (Timer Mode) cont.. 
Bits of this register have the following function: 
GATE1 
Enables and disables Timer 1 by means of a signal brought to the 
INT1 pin (P3.3): 
1 - Timer 1 operates only if the INT1 bit is set. 
0 - Timer 1 operates regardless of the logic state of the INT1 bit. 
C/T1 
Selects pulses to be counted up by the timer/counter 1: 
1 - Timer counts pulses brought to the T1 pin (P3.5). 
0 - Timer counts pulses from internal oscillator. 
manut46@gmail.com 5 12/11/2014
TMOD Register (Timer Mode) cont.. 
T1M1,T1M0 
These two bits select the operational mode of the Timer 1. 
T1M1 T1M0 MODE DESCRIPTION 
0 0 0 13-bit timer 
0 1 1 16-bit timer 
1 0 2 8-bit auto-reload 
1 1 3 Split mode 
manut46@gmail.com 6 12/11/2014
TMOD Register (Timer Mode) cont.. 
GATE0 
Enables and disables Timer 0 by means of a signal brought to the 
INT1 pin (P3.2): 
1 - Timer 0 operates only if the INT0 bit is set. 
0 - Timer 0 operates regardless of the logic state of the INT0 bit. 
C/T10 
Selects pulses to be counted up by the timer/counter 0: 
1 - Timer counts pulses brought to the T0 pin (P3.4). 
0 - Timer counts pulses from internal oscillator. 
manut46@gmail.com 7 12/11/2014
TMOD Register (Timer Mode) cont.. 
T0M1,T0M0 
These two bits select the operational mode of the Timer 0. 
T0M1 T0M0 MODE DESCRIPTION 
0 0 0 13-bit timer 
0 1 1 16-bit timer 
1 0 2 8-bit auto-reload 
1 1 3 Split mode 
manut46@gmail.com 8 12/11/2014
TMOD Register (Timer Mode) cont.. 
manut46@gmail.com 9 12/11/2014
Timer Control (TCON) Register 
TCON register is also one of the registers whose bits are directly in 
control of timer operation. 
Only 4 bits of this register are used for this purpose, while rest of them 
is used for interrupt control 
manut46@gmail.com 10 12/11/2014
Timer Control (TCON) Register cont.. 
Bits of this register have the following function: 
TF1 
bit is automatically set on the Timer 1 overflow. 
TR1 
bit enables the Timer 1. 
1 - Timer 1 is enabled. 
0 - Timer 1 is disabled. 
TF0 
bit is automatically set on the Timer 0 overflow. 
TR0 
bit enables the timer 0. 
1 - Timer 0 is enabled. 
0 - Timer 0 is disabled. 
manut46@gmail.com 11 12/11/2014
manut46@gmail.com 12 12/11/2014
Timer 0 in mode 0 (13-bit timer) 
This mode configures timer 0 as a 13-bit timer which consists of all 8 bits 
of TH0 and the lower 5 bits of TL0. 
As a result, the Timer 0 uses only 13 of 16 bits 
How does it operate 
Each coming pulse causes the lower register bits to change their states. 
After receiving 32 pulses, this register is loaded and automatically cleared, 
while the higher byte (TH0) is incremented by 1. 
This process is repeated until registers count up 8192 pulses. 
After that, both registers are cleared and counting starts from 0. 
manut46@gmail.com 13 12/11/2014
Timer 0 in mode 0 (13-bit timer) Cont.. 
Configuration 
manut46@gmail.com 14 12/11/2014
Timer 0 in mode 1 (16-bit timer) 
Mode 1 configures timer 0 as a 16-bit timer 
It uses all the bits of both registers TH0 and TL0. 
This is one of the most commonly used modes. 
Timer operates in the same way as in mode 0, with difference that the 
registers count up to 65 536 as allowable by the 16 bits. 
manut46@gmail.com 15 12/11/2014
Timer 0 in mode 1 (16-bit timer) Cont.. 
manut46@gmail.com 16 12/11/2014
Timer 0 in mode 2 (Auto-Reload Timer) 
Mode 2 configures timer 0 as an 8-bit timer. 
Actually, timer 0 uses only one 8-bit register for counting and never counts 
from 0, but from an arbitrary value (0-255) stored in another (TH0) 
register. 
In fact, only the TL0 register operates as a timer, while another (TH0) 
register stores the value from which the counting starts 
When the TL0 register is loaded, instead of being cleared, the contents of 
TH0 will be reloaded to it. 
manut46@gmail.com 17 12/11/2014
Timer 0 in mode 2 (Auto-Reload Timer) 
manut46@gmail.com 18 12/11/2014
Timer 0 in Mode 3 (Split Timer) 
Mode 3 configures timer 0 so that registers TL0 and TH0 operate as separate 
8-bit timers. 
In other words, the 16-bit timer consisting of two registers TH0 and TL0 is 
split into two independent 8-bit timers. 
This mode is provided for applications requiring an additional 8-bit timer or 
counter. The TL0 timer turns into timer 0, while the TH0 timer turns into 
timer 1. 
All the control bits of 16-bit Timer 1 (consisting of the TH1 and TL1 register), 
now control the 8-bit Timer 1. 
Even though the 16-bit Timer 1 can still be configured to operate in any of 
modes (mode 1, 2 or 3), it is no longer possible to disable it as there is no 
control bit to do it. 
Thus, its operation is restricted when timer 0 is in mode 3. 
manut46@gmail.com 19 12/11/2014
Timer 0 in Mode 3 (Split Timer) 
manut46@gmail.com 20 12/11/2014

More Related Content

PPT
Programmable Timer 8253/8254
PPTX
Pic microcontroller architecture
PPT
8255 presentaion.ppt
PDF
8259 Programmable Interrupt Controller
PPTX
Sensor interfacing in 8051
PDF
Unit III ARM Interface and ARM Programming
DOCX
8096 microcontrollers notes
PDF
8086 modes
Programmable Timer 8253/8254
Pic microcontroller architecture
8255 presentaion.ppt
8259 Programmable Interrupt Controller
Sensor interfacing in 8051
Unit III ARM Interface and ARM Programming
8096 microcontrollers notes
8086 modes

What's hot (20)

PPTX
Timer programming for 8051 using embedded c
PPTX
LCD Interacing with 8051
PPTX
8257 DMA Controller
PPTX
5.programmable interval timer 8253
PPTX
8051 Microcontroller PPT's By Er. Swapnil Kaware
PPT
8051 block diagram
PPT
8051 MICROCONTROLLER
PPTX
8051 Microcontroller ppt
PPTX
Math coprocessor 8087
PPTX
8086 microprocessor-architecture
PPTX
ATmega32-AVR microcontrollers-Part I
PPTX
I/O Ports
PPSX
8051 architecture
PPTX
Architecture of 8085 microprocessor
PPTX
Logical, Shift, and Rotate Instruction
PPTX
8051 Microcontroller Overview by Venkatrao Ramisetti
PPTX
Interfacing with peripherals: analog to digital converters and digital to ana...
PPT
PIC timer programming
DOCX
8051 data types and directives
Timer programming for 8051 using embedded c
LCD Interacing with 8051
8257 DMA Controller
5.programmable interval timer 8253
8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 block diagram
8051 MICROCONTROLLER
8051 Microcontroller ppt
Math coprocessor 8087
8086 microprocessor-architecture
ATmega32-AVR microcontrollers-Part I
I/O Ports
8051 architecture
Architecture of 8085 microprocessor
Logical, Shift, and Rotate Instruction
8051 Microcontroller Overview by Venkatrao Ramisetti
Interfacing with peripherals: analog to digital converters and digital to ana...
PIC timer programming
8051 data types and directives
Ad

Similar to 8051 timers (20)

PDF
8051 Microcontroller Timer
PPTX
Timers
PPTX
8051 timer counter
PPTX
8051 timer counter
PPTX
89C51 PROGRAMMING in Unit-4 of Microprocessor
PPTX
TIMERS.pptx
PPT
Timers
PDF
8051 timer
PDF
Timer And Counter in 8051 Microcontroller
PPT
Microcontroller 8051 timer and counter module
PPTX
Module-03 Timers and serial port communication
PPT
Timers
PPTX
8051 Timers and Counters
PPT
lecture 12 counter_microcontroller2.ppt
PPT
Programming 8051 Timers
PDF
8051 Timers / Counters
PDF
8051 timers--2
PPTX
KTU_Microprocessor and Microcontrollers_Module2
PPT
8051 ch9
PPT
Microcontroller 8051 Timer Counter Interrrupt
8051 Microcontroller Timer
Timers
8051 timer counter
8051 timer counter
89C51 PROGRAMMING in Unit-4 of Microprocessor
TIMERS.pptx
Timers
8051 timer
Timer And Counter in 8051 Microcontroller
Microcontroller 8051 timer and counter module
Module-03 Timers and serial port communication
Timers
8051 Timers and Counters
lecture 12 counter_microcontroller2.ppt
Programming 8051 Timers
8051 Timers / Counters
8051 timers--2
KTU_Microprocessor and Microcontrollers_Module2
8051 ch9
Microcontroller 8051 Timer Counter Interrrupt
Ad

Recently uploaded (20)

PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PDF
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
PPTX
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PPTX
Management Information system : MIS-e-Business Systems.pptx
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
"Array and Linked List in Data Structures with Types, Operations, Implementat...
PPTX
Amdahl’s law is explained in the above power point presentations
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PPTX
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
PPTX
Software Engineering and software moduleing
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PPTX
Module 8- Technological and Communication Skills.pptx
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PDF
Visual Aids for Exploratory Data Analysis.pdf
PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PPTX
communication and presentation skills 01
PDF
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
EXPLORING LEARNING ENGAGEMENT FACTORS INFLUENCING BEHAVIORAL, COGNITIVE, AND ...
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
Management Information system : MIS-e-Business Systems.pptx
Exploratory_Data_Analysis_Fundamentals.pdf
"Array and Linked List in Data Structures with Types, Operations, Implementat...
Amdahl’s law is explained in the above power point presentations
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
Software Engineering and software moduleing
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
Module 8- Technological and Communication Skills.pptx
Categorization of Factors Affecting Classification Algorithms Selection
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
Visual Aids for Exploratory Data Analysis.pdf
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
communication and presentation skills 01
A SYSTEMATIC REVIEW OF APPLICATIONS IN FRAUD DETECTION

8051 timers

  • 1. 8051 Microcontroller Timers & Counters Prepared by: Manu Thomas manut46@gmail.com 1 12/11/2014
  • 2. The 8051 Timers The 8051 comes equipped with two timers, both of which may be controlled, set, read, and configured individually. he 8051 timers have three general functions: 1) Keeping time and/or calculating the amount of time between events, 2) Counting the events themselves, or 3) Generating baud rates for the serial port. The 8051 microcontroller has 2 timers/counters called T0 and T1. As their names suggest, their main purpose is to measure time and count external events. Besides, they can be used for generating clock pulses to be used in serial communication, so called Baud Rate. manut46@gmail.com 2 12/11/2014
  • 3. Timer T0 The timer T0 consists of two registers – TH0 and TL0 representing a low and a high byte of one 16-digit binary number. Formula used to calculate values in these two registers is very simple: TH0 × 256 + TL0 = T Since the timer T0 is virtually 16-bit register, the largest value it can store is 65 535. In case of exceeding this value, the timer will be automatically cleared and counting starts from 0. This condition is called an overflow. Two registers TMOD and TCON are closely connected to this timer and control its operation. manut46@gmail.com 3 12/11/2014
  • 4. TMOD Register (Timer Mode) The TMOD register selects the operational mode of the timers T0 and T1 The low 4 bits (bit0 - bit3) refer to the timer 0, The high 4 bits (bit4 - bit7) refer to the timer 1 manut46@gmail.com 4 12/11/2014
  • 5. TMOD Register (Timer Mode) cont.. Bits of this register have the following function: GATE1 Enables and disables Timer 1 by means of a signal brought to the INT1 pin (P3.3): 1 - Timer 1 operates only if the INT1 bit is set. 0 - Timer 1 operates regardless of the logic state of the INT1 bit. C/T1 Selects pulses to be counted up by the timer/counter 1: 1 - Timer counts pulses brought to the T1 pin (P3.5). 0 - Timer counts pulses from internal oscillator. manut46@gmail.com 5 12/11/2014
  • 6. TMOD Register (Timer Mode) cont.. T1M1,T1M0 These two bits select the operational mode of the Timer 1. T1M1 T1M0 MODE DESCRIPTION 0 0 0 13-bit timer 0 1 1 16-bit timer 1 0 2 8-bit auto-reload 1 1 3 Split mode manut46@gmail.com 6 12/11/2014
  • 7. TMOD Register (Timer Mode) cont.. GATE0 Enables and disables Timer 0 by means of a signal brought to the INT1 pin (P3.2): 1 - Timer 0 operates only if the INT0 bit is set. 0 - Timer 0 operates regardless of the logic state of the INT0 bit. C/T10 Selects pulses to be counted up by the timer/counter 0: 1 - Timer counts pulses brought to the T0 pin (P3.4). 0 - Timer counts pulses from internal oscillator. manut46@gmail.com 7 12/11/2014
  • 8. TMOD Register (Timer Mode) cont.. T0M1,T0M0 These two bits select the operational mode of the Timer 0. T0M1 T0M0 MODE DESCRIPTION 0 0 0 13-bit timer 0 1 1 16-bit timer 1 0 2 8-bit auto-reload 1 1 3 Split mode manut46@gmail.com 8 12/11/2014
  • 9. TMOD Register (Timer Mode) cont.. manut46@gmail.com 9 12/11/2014
  • 10. Timer Control (TCON) Register TCON register is also one of the registers whose bits are directly in control of timer operation. Only 4 bits of this register are used for this purpose, while rest of them is used for interrupt control manut46@gmail.com 10 12/11/2014
  • 11. Timer Control (TCON) Register cont.. Bits of this register have the following function: TF1 bit is automatically set on the Timer 1 overflow. TR1 bit enables the Timer 1. 1 - Timer 1 is enabled. 0 - Timer 1 is disabled. TF0 bit is automatically set on the Timer 0 overflow. TR0 bit enables the timer 0. 1 - Timer 0 is enabled. 0 - Timer 0 is disabled. manut46@gmail.com 11 12/11/2014
  • 13. Timer 0 in mode 0 (13-bit timer) This mode configures timer 0 as a 13-bit timer which consists of all 8 bits of TH0 and the lower 5 bits of TL0. As a result, the Timer 0 uses only 13 of 16 bits How does it operate Each coming pulse causes the lower register bits to change their states. After receiving 32 pulses, this register is loaded and automatically cleared, while the higher byte (TH0) is incremented by 1. This process is repeated until registers count up 8192 pulses. After that, both registers are cleared and counting starts from 0. manut46@gmail.com 13 12/11/2014
  • 14. Timer 0 in mode 0 (13-bit timer) Cont.. Configuration manut46@gmail.com 14 12/11/2014
  • 15. Timer 0 in mode 1 (16-bit timer) Mode 1 configures timer 0 as a 16-bit timer It uses all the bits of both registers TH0 and TL0. This is one of the most commonly used modes. Timer operates in the same way as in mode 0, with difference that the registers count up to 65 536 as allowable by the 16 bits. manut46@gmail.com 15 12/11/2014
  • 16. Timer 0 in mode 1 (16-bit timer) Cont.. manut46@gmail.com 16 12/11/2014
  • 17. Timer 0 in mode 2 (Auto-Reload Timer) Mode 2 configures timer 0 as an 8-bit timer. Actually, timer 0 uses only one 8-bit register for counting and never counts from 0, but from an arbitrary value (0-255) stored in another (TH0) register. In fact, only the TL0 register operates as a timer, while another (TH0) register stores the value from which the counting starts When the TL0 register is loaded, instead of being cleared, the contents of TH0 will be reloaded to it. manut46@gmail.com 17 12/11/2014
  • 18. Timer 0 in mode 2 (Auto-Reload Timer) manut46@gmail.com 18 12/11/2014
  • 19. Timer 0 in Mode 3 (Split Timer) Mode 3 configures timer 0 so that registers TL0 and TH0 operate as separate 8-bit timers. In other words, the 16-bit timer consisting of two registers TH0 and TL0 is split into two independent 8-bit timers. This mode is provided for applications requiring an additional 8-bit timer or counter. The TL0 timer turns into timer 0, while the TH0 timer turns into timer 1. All the control bits of 16-bit Timer 1 (consisting of the TH1 and TL1 register), now control the 8-bit Timer 1. Even though the 16-bit Timer 1 can still be configured to operate in any of modes (mode 1, 2 or 3), it is no longer possible to disable it as there is no control bit to do it. Thus, its operation is restricted when timer 0 is in mode 3. manut46@gmail.com 19 12/11/2014
  • 20. Timer 0 in Mode 3 (Split Timer) manut46@gmail.com 20 12/11/2014