The 4510 is a 4 bit SYNCHRONOUS BCD (Binary Coded Decimal) counter which means all the outputs change at the same time - as opposed to a RIPPLE BINARY counter whose outputs changed sequentially (albeit very quickly). BCD means it can count between 0 and 9.

Presettable:
This means when the LD input is high, then whatever binary value is present on LOAD INPUTS, will be immediately copied to the outputs and stay that way until LD goes low. This enables the counter to begin from any value. eg count from 1 rather than 0. It can also count down from a preset value to zero and use the CARRYOUT as a sugnal that zero has been reached. Note this only works if the RESET input is low.

Take care with the priority of controls. If your circuit fails to work, chances are that you have one of the control inputs incorrectly set. For example, the counter will not count if the ENABLE is high, or will not load any presettable value if the RESET is high.

BASIC APPLICATIONS

SINGLE DIGIT COUNTER

A basic single digit counter from 0 to 9 then resets. The BCD output is connected to a BCD/7-SEGMENT decoder (4511B). This will convert the BCD code to the drive the correct 7-segment output.

This counter has been configured to count down (U/D input = 0), and uses the CARRYOUT to preset the counter to "6" (0110). When the counter reaches zero, the CARRYOUT goes low, this is inverted by the NOT gate and sends the LOAD input high. The preset inputs L1-4 will now be present on the outputs. CARRYOUT therefore returns high almost instantly allowing the counter to count from "6" to "5" on the next clock pulse.

This means joining them together to make larger counters. The ENABLE is now used as a CARRYIN control.

EXPLANATION:
When the ENABLE input is high, the counter will not count and thus acts as a way of controlling the counter operation. The ENABLE also works as a CARRYIN input. This is because when the clocks are connected in parallel, the CARRYOUT goes low to enable the next digit to count on the next clock pulse. When connected sequentially (RIPPLE), the CARRYOUT connects to the clock also, returning high to on the 9 to 0 digit change, thus clocking the next digit counter. This happens at the same time the counter is disabled but it seems to work.

There are two ways of connecting SYNCHRONOUS counters.

SYNCHRONOUS
Maintains the fact that all clocks operate together, therefore all outputs change exactly the same time. Use this method if you are "trapping" and binary values or comparing bits with another output.

Note how similar controls on each IC are linked together - in parallel.

Cascading link 3 or more, the CARRYOUT's must be gated with the previous one so the next stage ENABLE only goes low when all previous counters are about to change.

Connected sequentially so that each counters outputs change slightly later than the previous counters. This is the cheapest and easiest method - in particular when 3 or more counters are cascaded.

Notice how the clocks are not in parallel anymore, the CARRYOUT connects to the CLOCK as well as the CARRYIN.

NOTE: It is important that the direction input only changes when the clock input is high. Try changing the direction in the simulation and note how sometimes it jumps a digit. This is because the direction was changed when the clock was low.

Cascading 3 or more is the same as for 2. The CARRYOUT connects to the clock and the CARRYIN.

In the simulation, you will notice how the digits change one after the other when rolling over from 9999 to 0000. This is because the simulated displays take a bit longer to react, but it emphasises the difference betweeen Ripple counters and Synchronous counters.

If timing and accuracy are not really important then ripple counters and connecting in RIPPLE configuration is fine. But for highly accurate timing (for trapping complex binary values) it is best done in SYNCHRONOUS. It is important that if you change direction of the counter that you do it while the clock is high - recommended by datasheet.