Timers in microcontrollers can serve three main functions: keeping time, counting events, and generating baud rates for serial communication. The 89C51 microcontroller has two timers, Timer 0 and Timer 1, which can be configured to operate in different modes like 16-bit or 8-bit auto-reload. These timers keep time based on the microcontroller's crystal oscillator frequency and increment with each machine cycle. Their values can be read from special function registers to measure time intervals or count events.