Microprocessor | 8254 programmable interval timer
8254 is a device designed to solve the timing control problems in a microprocessor. It has 3 independent counters, each capable of handling clock inputs up to 10 MHz, and size of each counter is 16 bit. It operates in +5V regulated power supply and has 24 pin signals. All modes are software programmable. The 8254 is an advanced version of 8253 which did not offered the feature of read back command.
The basic block diagram of 8254 is:
It has 3 counters each with two inputs (Clock and Gate) and one output. Gate is used to enable or disable counting. When any value of count is loaded and value of gate is set(1), after every step value of count is decremented by 1 until it becomes zero.
Depending upon the value of CS, A1, and A0 we can determine the addresses of the selected counter.
CS A1 A0 SELECTION 0 0 0 C0 0 0 1 C1 0 1 0 C2 0 1 1 Control Register
- To generate an accurate time delay
- As an event counter
- Square wave generator
- Rate generator
- Digital one shot