8bits means 256 values where 16bit means 65536 values for higher resolution.
The most important difference between 8bit and 16bit timer is the timer resolution. Timer0 and timer2 are 8bit timer, where timer1 is a 16bit timer. Both have 3 timers, called timer0, timer1 and timer2. These chips are pin compatible and only differ in the size of internal memory. The controller of the Arduino is the Atmel AVR ATmega168 or the ATmega328. You can configure the prescaler for the timer, or the mode of operation and many other things. The timer can be programmed by some special registers. It is like a clock, and can be used to measure time events. Even the Servo library uses timers and interrupts.Ī timer or to be more precise a timer / counter is a piece of hardware builtin the Arduino controller (other controllers have timer hardware, too). The PWM functions analogWrite() uses timers, as the tone() and the noTone() function does. Many Arduino functions uses timers, for example the time functions: delay(), millis() and micros() and delayMicroseconds(). As Arduino programmer you will have used timers and interrupts without knowledge, bcause all the low level hardware stuff is hidden by the Arduino API. This tutorial shows the use of timers and interrupts for Arduino boards. Added ArduinoTimer101.zip examples source code for Arduino v1.x .Example 3 has been updated to work with Arduino v1.x.