Electronics Tutorials Home Page


Valid XHTML Web Page

Do you like our Site?
Help us to Share It

Bookmark to: Google Bookmark to: Yahoo Bookmark to: Digg Bookmark to: Del.icio.us Bookmark to: Technorati
Bookmark to: Facebook Bookmark to: Reddit Bookmark to: StumbleUpon Bookmark to: Slashdot Bookmark to: Newsvine
Bookmark to: Propeller Bookmark to: Furl Bookmark to: Blinklist Bookmark to: Simpy


Electronics Tutorial about Asynchronous Counters
 

Asynchronous Counters

Navigation
Page: 2 of 4

Asynchronous Counters

In the previous Counter  tutorial we saw that Asynchronous counters can have 2n-1 counting states. But it is also possible to construct special counters with states less than their maximum output number by forcing the counter to reset itself to zero at a pre-determined value and these are called "truncated sequences".

If we take the modulo-16 ripple counter and modified it with additional logic gates it can be made to give a decade (divide-by-10) counter output for use in standard decimal counting and arithmetic circuits. Such counters are generally referred to as Decade Counters. A decade counter requires resetting to zero when the output count reaches the decimal value of 10, ie. when DCBA = 1010 and feed this back to the reset input. A counter with a count sequence from binary "0000" (BCD = "0") through to "1001" (BCD = "9") is generally referred to as a BCD Decade counter because its ten state sequence is that of a BCD code but binary decade counters are also available.

Asynchronous Decade (decimal 10) Counter

Asynchronous Decade Counter

This type of asynchronous counter counts upwards on each leading edge of the input clock signal starting from "0000" until it reaches an output "1010" (decimal 10). Both outputs QB and QDare now equal to logic "1" and the output from the NAND gate changes state from logic "1" to a logic "0" level and whose output is also connected to the CLEAR (CLR) inputs of all theJ-K Flip-flops. This causes all of the Q outputs to be reset back to binary "0000" on the count of 10. Once QB and QD are both equal to logic "0" the output of the NAND gate returns back to a logic level "1" and the counter restarts again from "0000". We now have a decade or Modulo-10 counter.

Clock
Count
Output bit Pattern Decimal
Value
QD QC QB QA
1 0 0 0 0 0
200011
300102
400113
501004
601015
701106
801117
910008
1010019
11Counter Resets its Outputs back to Zero

Decade Counter Timing Diagram

Decade Counter Timing Diagram

Using the same idea of truncating counter output sequences, the above circuit could easily be adapted to other counting cycles be simply changing the connections to the AND gate. For example, a scale-of-twelve (modulo-12) can easily be made by simply taking the inputs to the AND gate from the outputs at "QC" and "QD", noting that the binary equivalent of 12 is "1100" and that output "QA" is the least significant bit (LSB).

Standard IC asynchronous counters are available are the TTL 74LS90 programmable ripple counter/divider which can be configured as a divide-by-2, divide-by-5 or any combination of both. The 74LS390 is a very flexible dual decade driver IC with a large number of "divide-by" combinations available ranging form 2, 4, 5, 10, 20, 25, 50, and 100.

Frequency Dividers

This ability of the counter to truncate sequences to produce a "divide-by-N" output means that counters and especially ripple counters, can be used as frequency dividers to reduce a high clock frequency down to a more usable value for use in digital clocks and timing applications. For example, assume we require an accurate 1Hz timing signal to operate a digital clock. We could quite easily produce a 1Hz square wave signal from a standard 555 timer chip but the manufacturers data sheet tells us that it has a typical 1-2% timing error depending upon the manufacturer, and at low frequencies a 2% error at 1Hz is not good. However the data sheet also tells us that the maximum operating frequency of the 555 timer is about 300kHz and a 2% error at this high frequency would be acceptable. So by choosing a higher timing frequency of say 262.144kHz and an 18-bit ripple (Modulo-18) counter we can make a precision 1Hz timing signal as shown below.

Simple 1Hz timing signal using an 18-bit ripple counter/divider.

1Hz Timing Counter

This is of course a very simple example of how to produce accurate frequencies, but by using high frequency crystal oscillators and multi-bit frequency dividers, precision frequency generators can be produced for for a range of applications ranging from clocks or watches to event timing and even electronic piano/synthesizer music applications.


Goto Page:  1 2 3 4

 External Links about Asynchronous Counters  
Counters and Clocks - Tutorial about Counters and Clock Oscillators.
 J. B. Calvert
Asynchronous Counters - Basic Tutorial about BCD Counters.
 University of the West Indies at Cave Hill
Frequency Dividers - Very Good Flash Tutorial about Frequency Dividers.
 Wisc-Online
Decade Counter - Tutorial about Asynchronous Counters.
 Hyperphysics

Link to us : 
Add this Asynchronous Counters Tutorial to your Favourites

Advertisement


Page Designed and Written by Wayne Storr.   Last updated  ,
Copyright © 1998 − 2009, Electronics-Tutorials.ws, All Right Reserved.