74-series counters
74LS90, 74LS93, 74HC390, 74HC393, 74HC190, 74HC191 and 74HC192: counters that count in tens or in sixteens, up only or up and down.
They come in two kinds:
- Ripple counters (74LS90, 74LS93, 74HC390, 74HC393) count on the falling edge of their clock, and each stage clocks the next, so the outputs settle one after another. They are cheap, simple and the standard frequency dividers.
- Synchronous up/down counters (74HC190, 74HC191, 74HC192) count on the rising edge, every output together, can count down as well as up, and can be loaded with any starting number.
For the 4-bit two-clock binary counter see the 74HC193, and for the 74HC161 see its own page. Aliases: 7490, 7493, 74390, 74393, 74190, 74191, 74192, SN74LS90, SN74LS93, CD74HC390, SN74HC393, CD74HC190, CD74HC192, decade counter, BCD counter, binary counter, divide by 10, frequency divider, up/down counter.
74LS90: decade counter
A divide-by-2 counter (CKA in, QA out) and a divide-by-5 counter (CKB in, QB
QC QD out) in one package, both counting on the falling edge. Wire QA to CKB
and clock CKA, and QD QC QB QA count 0 to 9 in BCD. Wire QD to CKA and
clock CKB instead, and QA is a square wave at a tenth of the clock. The supply
is on pins 5 and 10, not the corners.
| Pin | Name | What it does |
|---|---|---|
| 14 | CKA |
Clock for the divide-by-2, falling edge. |
| 1 | CKB |
Clock for the divide-by-5, falling edge. |
| 12 | QA |
Divide-by-2 output, the 1s bit of the BCD count. |
| 9, 8, 11 | QB, QC, QD |
Divide-by-5 outputs. |
| 2, 3 | R01, R02 |
Reset to 0: both high clears the count. |
| 6, 7 | R91, R92 |
Set to 9: both high sets QA and QD, and wins over R01 and R02. |
| 4, 13 | NC4, NC13 |
Not connected. |
| 10 | GND |
Ground. |
| 5 | VCC |
Supply, 5 V. |
It was made in TTL only (the 74HC390 is the CMOS decade counter), so it reads TTL
input levels, switching at 1.4 V, its output high sits near 3.4 V, and a floating
input reads high: leave the reset pins open and the chip sits at 9 and never
counts. Tie all four to GND. Delays, the SN74LS90 typicals at 5 V and 15 pF: 12 ns
from CKA to QA, 14 ns from CKB to QB, 23 ns to QC and QD, and 26 ns from a
reset. Wired QA to CKB, the carry goes through the outside wire, so QD arrives
after both.
74LS93: 4-bit binary counter
The 74LS90's binary twin: a divide-by-2 (CKA to QA) and a divide-by-8 (CKB to
QB QC QD), both on the falling edge. Wire QA to CKB and clock CKA, and
QD QC QB QA count 0 to 15. R01 and R02 both high clear it. TTL only, with
the same behavior as the 74LS90 (the 74HC393 is the CMOS one), and the same supply on
pins 5 and 10. Delays, the SN74LS93 typicals at 5 V and 15 pF: 12 ns from CKA to
QA, 14 ns from CKB to QB, 23 ns to QC, 34 ns to QD, and 26 ns from a reset.
| Pin | Name | What it does |
|---|---|---|
| 14 | CKA |
Clock for the divide-by-2, falling edge. |
| 1 | CKB |
Clock for the divide-by-8, falling edge. |
| 12 | QA |
Divide-by-2 output, the 1s bit. |
| 9, 8, 11 | QB, QC, QD |
Divide-by-8 outputs. |
| 2, 3 | R01, R02 |
Reset: both high clears the count. |
| 4, 6, 7, 13 | NC4, NC6, NC7, NC13 |
Not connected. |
| 10 | GND |
Ground. |
| 5 | VCC |
Supply, 5 V. |
74HC390: dual decade ripple counter
Two 7490-style counters, each a divide-by-2 (nCP0 in, nQ0 out) and a divide-by-5
(nCP1 in, nQ1 to nQ3 out), counting on the falling edge. Wire nQ0 to nCP1
and clock nCP0 for a BCD count; wire nQ3 to nCP0 and clock nCP1 for a
divide-by-10 square wave on nQ0. nMR (active high) clears that counter at
once. Two counters in one package divide by 100. Delays, the CD74HC390 typicals at
5 V and 15 pF: 14 ns from CP0 to Q0, 15 ns from CP1 to Q1 to Q3, and 16 ns
from MR.
| Pin | Name | What it does |
|---|---|---|
| 1 | 1CP0 |
Counter 1 divide-by-2 clock, falling edge. |
| 4 | 1CP1 |
Counter 1 divide-by-5 clock, falling edge. |
| 3 | 1Q0 |
Counter 1 divide-by-2 output. |
| 5, 6, 7 | 1Q1 to 1Q3 |
Counter 1 divide-by-5 outputs. |
| 2 | 1MR |
Counter 1 reset, active high. |
| 15 | 2CP0 |
Counter 2 divide-by-2 clock, falling edge. |
| 12 | 2CP1 |
Counter 2 divide-by-5 clock, falling edge. |
| 13 | 2Q0 |
Counter 2 divide-by-2 output. |
| 11, 10, 9 | 2Q1 to 2Q3 |
Counter 2 divide-by-5 outputs. |
| 14 | 2MR |
Counter 2 reset, active high. |
| 8 | GND |
Ground. |
| 16 | VCC |
Supply. |
74HC393: dual 4-bit binary ripple counter
Two 4-bit binary counters, each counting on the falling edge of its clock nCP, with
an active-high clear nMR. Inside, each stage clocks the next, so the outputs settle
one after another, Q3 last. Wire 1Q3 to 2CP for an 8-bit counter. Delays, the
SN74HC393 typicals at 4.5 V and 50 pF: 15 ns from the clock to Q0, then about 6 ns
more per stage (Q3 at 32 ns), and 17 ns from MR.
| Pin | Name | What it does |
|---|---|---|
| 1 | 1CP |
Counter 1 clock, falling edge. |
| 3 to 6 | 1Q0 to 1Q3 |
Counter 1 outputs, 1Q0 the 1s bit. |
| 2 | 1MR |
Counter 1 reset, active high. |
| 13 | 2CP |
Counter 2 clock, falling edge. |
| 11 to 8 | 2Q0 to 2Q3 |
Counter 2 outputs, 2Q0 the 1s bit. |
| 12 | 2MR |
Counter 2 reset, active high. |
| 7 | GND |
Ground. |
| 14 | VCC |
Supply. |
74HC190 and 74HC191: synchronous up/down counters
One clock, a direction pin, an enable, a load and two carry outputs. The 74HC190
counts 0 to 9 in BCD and the 74HC191 counts 0 to 15 in binary; otherwise they are the
same chip on the same pins. There is no reset pin. Delays, the CD74HC190/191 typicals
at 5 V and 15 pF: 14 ns from the clock and 16 ns from PL to the count, 18 ns from
the clock to TC and 10 ns to RC.
| Pin | Name | What it does |
|---|---|---|
| 14 | CP |
Clock, rising edge. |
| 5 | UD |
Direction (U/D on the data sheet). Low counts up, high counts down. |
| 4 | CE |
Count enable, active low. |
| 11 | PL |
Parallel load, active low. Low loads D0 to D3 at once, without the clock. |
| 15, 1, 10, 9 | D0 to D3 |
The number PL loads. |
| 3, 2, 6, 7 | Q0 to Q3 |
The count, Q0 the 1s bit. |
| 12 | TC |
Terminal count (MAX/MIN): high at the end of the count in the direction set. |
| 13 | RC |
Ripple clock, active low: low for the low half of the clock while TC is high and the counter is enabled. |
| 8 | GND |
Ground. |
| 16 | VCC |
Supply. |
PL |
CE |
UD |
CP |
What happens |
|---|---|---|---|---|
| 0 | x | x | x | Load D0 to D3 |
| 1 | 1 | x | x | Hold |
| 1 | 0 | 0 | rising | Count up (9 or 15 goes to 0) |
| 1 | 0 | 1 | rising | Count down (0 goes to 9 or 15) |
TC is high at 9 (190) or 15 (191) counting up, and at 0 counting down. To cascade,
wire RC to the next chip's CE (synchronous, both chips on one clock) or to its
CP (ripple).
74HC192: synchronous BCD up/down counter with two clocks
The 74HC193's two-clock up/down counter, counting 0 to 9 in BCD,
on the same pins. A rising edge on CPU counts up and one on CPD counts down, and
the clock you are not using has to sit high. MR (active high) clears the count
at once and overrides everything; PL low loads D0 to D3 at once. TCU (carry,
active low) goes low while the count is 9 and CPU is low; TCD (borrow) while the
count is 0 and CPD is low. Wire them to the next chip's CPU and CPD to count past
9. Delays, the CD74HC192 typicals at 5 V and 15 pF: 18 ns from a clock or PL to the
count, 17 ns from MR, 10 ns from a clock to TCU or TCD.
| Pin | Name | What it does |
|---|---|---|
| 5 | CPU |
Count-up clock. |
| 4 | CPD |
Count-down clock. |
| 3, 2, 6, 7 | Q0 to Q3 |
The count, Q0 the 1s bit. |
| 15, 1, 10, 9 | D0 to D3 |
The number PL loads. |
| 11 | PL |
Parallel load, active low. |
| 14 | MR |
Master reset, active high. |
| 12 | TCU |
Carry, active low. |
| 13 | TCD |
Borrow, active low. |
| 8 | GND |
Ground. |
| 16 | VCC |
Supply. |
As on the 74HC193, the two clocks meet in an AND gate inside the chip and the counter moves on its rising edge, so a pulse on one clock while the other is low counts nothing.
Properties
model:
- 74HC390, 74HC393, 74HC190, 74HC191 and 74HC192 offer their 74HC, 74HCT and 74LS versions (for example 74HC390, 74HCT390, 74LS390). The 74HC version runs from 2 V to 6 V and switches at half the supply. The 74HCT version needs 4.5 V to 5.5 V and switches at 1.4 V (TTL levels). The 74LS version needs 4.75 V to 5.25 V, switches at 1.4 V, drives an output high only to about 3.4 V, and reads a floating input as high. Pins, logic and delays are the same in every version: the delays are the 74HC figures.
- 74LS90 offers only 74LS90, and 74LS93 only 74LS93.
What the model gets right
The ripple counters' outputs settle in turn, each with its own data sheet delay, so a logic analyzer shows the short wrong counts a ripple counter really passes through on its way. The 74HC190, 191 and 192 carry outputs depend on the clock as well as the count, as the data sheets draw them, so cascading works. Loads and resets are asynchronous. A clock edge out of an unknown level makes the count unknown. The chip's own power-up is not read as a clock.
What it does not model
Every counter powers up at 0, where a real one comes up in whatever state it falls into (the 74HC190 and 74HC191 have no reset pin at all to fix that). No setup, hold or pulse-width checks. The six codes past 9 on the BCD counters (74HC190, 74HC192) are not part of the count: loaded with one, the next count up goes to 0 and the next count down to 9, where a real chip takes one or two counts to get back by its own path.
Common mistakes
Leaving the reset pins floating. On the 74LS90 and 74LS93 they read high, so the
counter is held at 0 (or 9) and never counts; on the 74HC parts a floating MR makes
the count unknown. Tie them to GND. Expecting a ripple counter to move on the rising
edge: they count on the falling edge. Wiring a 74LS90 or 74LS93 as if its power were
on the corners. On the 74HC192, tying the unused clock low.
See it in action
Browse the example circuits at /templates.