The need for timing in embedded programming often exceeds the small number of available hardware timers in microcontrollers. For example, the Microchip PIC16F84A has one timer, but you can create as ...