| The |
| The |
Learn about BCD counters by building the DOCTRONICS Digital Clock:
![]() |
Buy using PayPal™
price: £ 18.00 + P&P |
| DOCTRONICS Digital Clock construction kit |
Buy from Rapid...
| 4510B pin connections |
The 4510
is a BCD, or Binary Coded Decimal counter with four outputs capable of counting up or down, following the BCD pattern, according to the logic states of various inputs, when a source of pulses is connected to the CLOCK input.
BCD stands for Binary Coded Decimal. A BCD counter has four outputs usually labelled A, B, C, D. By convention A is the least significant bit, or LSB. The easiest way to understand what a BCD counter does is to follow the counting sequence in truth table form:
| pulses | output D | output C | output B | output A |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| 3 | 0 | 0 | 1 | 1 |
| 4 | 0 | 1 | 0 | 0 |
| 5 | 0 | 1 | 0 | 1 |
| 6 | 0 | 1 | 1 | 0 |
| 7 | 0 | 1 | 1 | 1 |
| 8 | 1 | 0 | 0 | 0 |
| 9 | 1 | 0 | 0 | 1 |
| 10 | 0 | 0 | 0 | 0 |
| 11 | 0 | 0 | 0 | 1 |
| : | sequence repeats... | |||
When pulses are delivered to the CLOCK input (and all the other connections needed for basic operation are made), the outputs of the 4510 follow a sequence starting from 0 0 0 0 up to 1 0 0 1, the binary equivalent of the decimal number 9. The next pulse causes the 4510 to RESET and counting starts again from 0 0 0 0.
In other words, the counter outputs follow a binary sequence representing the decimal numbers 0-9.... this is why the 4510 is called a binary coded decimal counter.
To make the 4510 work, you need lots of connections. Every input of a CMOS integrated circuit must be connected to something. The CLOCK input, for example, will be connected to the output of source of pulses such as an astable. You will also need to connect all the load inputs, the carry in/enable and the up/down input.
Here is the circuit diagram for a simple test circuit:
Click the
button to open a Yenka© simulation of this circuit. The simulated circuit uses a 5 V power supply. Yenka© is currently available for free download for home users from: http://www.yenka.com/. This is a fantastic offer from Crocodile Clips Ltd, the creators of Yenka©: don't miss it!
Click
to open a PDF version of the drawing which can be printed out.
Build this circuit on prototype board:
Buy from Rapid...
Click
to open a PDF version of the drawing which can be printed out.
It is good practice with CMOS circuits to insert a decoupling capacitor, 47 µF or 100 µF, across the power supply. (This helps to prevent the transfer of spikes along the power supply rails.)
The 4093 Schmitt trigger NAND gate provides one of the easiest ways of making an
astable. When you have built this part of the circuit, the LED next to the 4093 should
flash at approximately 1 Hz, possibly a little faster. The Schmitt NAND astable is described in more detail in the 4093 page included in the
Beastie Zone.
Check the pin connections for the 4510 as you build the next part of the circuit:
| pin | name |
connections |
| 1 | LOAD input |
normally held LOW, 0 V |
| 2 | output D, Q8 |
output, bit 3 |
| 3 | load input D, L8 |
connect LOW |
| 4 | load input D, L1 |
connect LOW |
| 5 | carry in/enable |
normally held LOW, 0 V |
| 6 | output A, Q1 |
output, bit 0 |
| 7 | carry out |
no connection needed |
| 8 | VSS 0 V |
power supply 0 V |
| 9 | RESET input |
normally held LOW, 0 V |
| 10 | UP/DOWN input |
HIGH=UP, LOW=DOWN |
| 11 | output B, Q2 |
output, bit 1 |
| 12 | load input B, L2 |
connect HIGH |
| 13 | load input B, L4 |
connect HIGH |
| 14 | output C, Q4 |
output, bit 2 |
| 15 | CLOCK input |
pulses in from
astable |
| 16 | VDD +V |
power supply +9 V
(range 5-15 V) |
The final part of the circuit allows you to see the logic states of the counter outputs. When you have built the circuit correctly the LEDs will illuminate following the truth table for BCD counting given earlier.
What happens when you press the RESET switch?
What happens when you connect the UP/DOWN input LOW instead of HIGH?
It is intereseting to monitor the BCD outputs of the 4510 using an oscilloscope. To do this, replace the 1 MΩ astable timing resistor with one of 10 kΩ. This speeds up the astable, giving an astable frequency of around 100 Hz. Connect the oscilloscope probe in turn to output A, pin 6, ouput B, pin 11, output C, pin 14, and output D, pin 2.
Click play in the diagram below to see the waveforms you should expect:
| BCD output waveforms |
These waveforms are characteristic of BCD counting. The changes you can see are identical to those described by the truth table for BCD counting.
The 4510 is frequently used together with the 4511 BCD to 7-segment decoder. Refer to the 4511 Beastie Zone page to find out how to connect these integrated circuits together.
What do you do when you want to shorten the count sequence, for example, when you want to use the 4510 as part of the circuit for an electronic die? For a normal die you need just six different output states. This can be achieved by RESETTING the counter when the count reaches 0 1 1 0, the BCD number which represents 6.
Look back briefly at the truth table for BCD counting. When the count reaches 0 1 1 0, outputs B and C are HIGH together for the first time. You can use an AND gate to reset the counter, like this:
| Resetting the count when 0 1 1 0 is reached |
You could use a 4081 AND gate integrated circuit as part of this system. However, it is cheaper and more convenient to use a diode/resistor AND gate:
| Using a diode resistor AND gate |
It might not be obvious how two diodes and a pull-up resistor make an AND gate, but this arrangement works. To see it in action, modify your earlier prototype circuit as follows:
Only a few alterations are needed! Replace the 1 MΩ astable timing resistor, remove the miniature tactile switch, relocate the 10 kΩ resistor and add the diodes together with two new connecting links.
The count sequence should now be:
| pulses | output D | output C | output B | output A |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| 3 | 0 | 0 | 1 | 1 |
| 4 | 0 | 1 | 0 | 0 |
| 5 | 0 | 1 | 0 | 1 |
| 6 | 0 | 0 | 0 | 0 |
| 7 | 0 | 0 | 0 | 1 |
| : | sequence repeats... | |||
You don't see the 0 1 1 0 output state because this immediately RESETs the counter. You do see six different output states from 0 0 0 0 to 0 1 0 1, corresponding to the decimal numbers 0-5.
Once again, you can monitor the output waveforms using an oscilloscope. Increase the astable frequency using a 10 kΩ timing resistor and connect the oscilloscope input to each of the BCD outputs in turn:
| Output waveforms for shortened count |
As you can see, the counter waveforms have been modified away from the usual BCD counting pattern. Outputs B and C are LOW for four counts then HIGH for two counts, although not at the same time. Output D remains LOW because the counter is RESET before the count reaches 8.
Electronic die circuits are popular because they are at the right level of complexity to help you understand the fundamentals of digital design.
Shortening the count is just part of the problem of making a digital version of an electronic die. When the 4510 is connected to a 4511 BCD to 7-segment decoder and a 7-segment display, it would be better if the numbers went from 1-6, rather than from 0-5.
The easiest way to achieve this result is to insert a code conversion circuit between the 4510 and the 4511. This circuit must change the BCD code for 0 into the BCD code for 6, without affecting the codes for the other numbers.
An additional circuit which converts from 0 0 0 to 1 1 0 is needed. This can be made using 3-input NOR gates:
| Code conversion circuit |
The output of each of the 3-input NOR gates is 1 only when A=0, B=0, and C=0. When this happens, the B and C ouputs of the circuit become 1 also.
To build this circuit, you will need to use a 4025 3-input OR gate IC. However, the function of the OR gates can be carried out by a diode/resistor arrangement, avoiding the need for an additional integrated circuit:
| Diode/resistor OR gate equivalent |
When A=0, B=0, and C=0, the outputs of the NOR gates are HIGH, the connecting diodes become forward-biased and ouputs B and C go HIGH. At the same time, the corresponding inputs are LOW. The 10 kΩ resistors limit the flow of current between the outputs and inputs so that the inputs can remain LOW.
At other times, the outputs of the NOR gates are LOW and both diodes are reverse-biased, so that the outputs follow the logic states of A, B and C.
Return to your prototype board and replace the lower board with a new prototype circuit, as follows:
| |
Monitor the A B C outputs of the circuit using an oscilloscope. Click play in the diagram below to see the waveforms you can expect:
| Code conversion waveforms |
At the beginning of each cycle, you can see two extra pulses as part of the B and C output waveforms. The amplitude of each of these pulses is reduced by around 0.7 V, the voltage across the forward-biased diode.
Complete the prototype version of the digital die by adding a 4511 BCD to
7-segment decoder driver IC and a common cathode 7-segment display:
| |
To see the numbers changing on the 7-segment display, you will need to insert the 1 MΩ astable timing resistor.
You can find out more about the 4511 from the 4511 Beastie Zone page.
The final circuit for the digital die uses a 555 astable with push button activation, but is otherwise almost identical to the circuit you have tested:
| Digital die final circuit |
When the button is pressed, the astable generates pulses at around 10 kHz.
When the button is released, the count stops wherever it happens to be and the display shows a number between 1 and 6. The 4510 cycles through its sequence much too quickly for you to be able to cheat by releasing the button at any particular moment, giving an effectively random result.
This is the same sort of randomness you get by tossing a coin which spins in the air an unpredictable number of times.
The diagram shows a suitable PCB layout for this circuit:
Click
to open a PDF version of this drawing. This PCB is not available ready-made from DOCTRONICS. If you want to build the circuit. you will need to make your own PCB using the photo-etch process.
Check that Acrobat™ is set to print without scaling and print the design onto acetate sheet. Expose the photo-etch board with the printed surface of the acetate in contact with the copper/emulsion side. Develop the emulsion, etch the board, wash, dry and finally drill the holes.
Joining, or cascading, counters allows you to count from 0-99 (two counter stages),
0-999 (three counter stages), and so on. The preferred method of doing this is by connecting carry out of the first stage to carry in (enable) of the second stage and driving both stages from a common clock:
| Cascading counters to give synchronous counting, 0-99 |
This pattern of connection gives synchronous counting, in which all of the outputs change simultaneously.
If you want to shorten the count, for example to make a 0-59 counter to count the minutes or seconds in a digital clock, you must use a different type of connection between the counter stages:
| Cascading counters to allow shortening of the count, 0-59 |
The diagram shows connections for a 0-59 counter. When the count on the TENS stage reaches 0 1 1 0, both stages are reset to 0 0 0 0. The transistor NOT gate is needed between stages because the count advances on the rising edge of the clock signal. To give normal up counting, the TENS stage should increment on the falling edge of the
D output from the UNITS stage.
DOCTRONICS has published a whole book about Discovering Electronic Clocks. This includes a lot more information about the 4510 and other useful counter integrated circuits.
To get the 4510 to work properly in your application, it is essential to test circuits on prototype board. The 4510 is a versatile integrated circuit. Practical investigation is the best way to find out about and understand its features.
The links below allow you to download documents in
Adobe Acrobat ©, PDF, format. In the unlikely event that you don't already have Acrobat Reader, you can download the latest version direct from Adobe:
4510B data sheet (NXP, 1995)
4510B data sheet (ST Microelectronics, 2002)
4511 BCD to 7-segment decoder driver
4518 Dual BCD up counter
4060 binary counter/divider