リングカウンタ(ring counter)とは、シフトレジスタ*1の最終段フリップフロップの出力を初段の入力に繋いで輪のようにしたカウンタである。
この輪の中のひとつのフリップフロップだけを1にして、他のすべてのフリップフロップを0にセットすると、入力パルスが加わるたびに1の位置が移動していく。この移動の個数により、入力パルスの個数を数えることができるのである。ちなみに、クロックのINはすべて繋がっているので、同期式である。
上図では4個のフリップフロップを使ったリングカウンタである。まずQ1にあった1が、クロックが入るたびにQ2→Q3→Q4→Q1→…と移動する。タイミングチャートを次に示す。
n個のフリップフロップを使ったリングカウンタでは、n個の状態しか表現できない。一方バイナリカウンタならn個のフリップフロップで2n個の状態を表現できる。このようにリングカウンタは表現できる数の面では不利だが、次のような利点により、タイミングパルス発生器などに利用されている。