Counter

related topics
{system, computer, user}
{math, number, function}
{theory, work, human}
{day, year, event}

In digital logic and computing, a counter is a device which stores (and sometimes displays) the number of times a particular event or process has occurred, often in relationship to a clock signal. In practice, there are two types of counters:

  • Up counters, which increase (increment) in value
  • Down counters, which decrease (decrement) in value

Contents

In electronics

In electronics, counters can be implemented quite easily using register-type circuits such as the flip-flop, and a wide variety of designs exist, e.g.:

  • Asynchronous (ripple) counter – changing state bits are used as clocks to subsequent state flip-flops
  • Synchronous counter – all state bits change under control of a single clock
  • Decade counter – counts through ten states per stage
  • Up–down counter – counts both up and down, under command of a control input
  • Ring counter – formed by a shift register with feedback connection in a ring
  • Johnson counter – a twisted ring counter
  • Cascaded counter

Each is useful for different applications. Usually, counter circuits are digital in nature, and count in natural binary. Many types of counter circuit are available as digital building blocks, for example a number of chips in the 4000 series implement different counters.

Occasionally there are advantages to using a counting sequence other than the natural binary sequence—such as the binary coded decimal counter, a linear feedback shift register counter, or a Gray-code counter.

Counters are useful for digital clocks and timers, and in oven timers, VCR clocks, etc.[1]

Asynchronous (ripple) counter

An asynchronous (ripple) counter is a single K-type flip-flop, with its J (data) input fed from its own inverted output. This circuit can store one bit, and hence can count from zero to one before it overflows (starts over from 0). This counter will increment once for every clock cycle and takes two clock cycles to overflow, so every cycle it will alternate between a transition from 0 to 1 and a transition from 1 to 0. Notice that this creates a new clock with a 50% duty cycle at exactly half the frequency of the input clock. If this output is then used as the clock signal for a similarly arranged D flip-flop (remembering to invert the output to the input), you will get another 1 bit counter that counts half as fast. Putting them together yields a two bit counter:

Full article ▸

related documents
Hierarchical File System
Atanasoff–Berry Computer
Darwin (operating system)
ENIAC
EDIF
Enterprise JavaBean
Motorola 6800
Post Office Protocol
Drive letter assignment
Linear filter
QNX
UNIVAC I
Gentoo Linux
TrueType
Solaris (operating system)
Point-to-Point Protocol
Ext3
Shift register
Windows API
Windows NT
Routing
Computer programming
SuperH
K-Meleon
User Datagram Protocol
Digital filter
Secure Shell
JPEG File Interchange Format
X86 memory segmentation
Lisp machine