Compteur décompteur asynchrone 4 bits


Un compteur asynchrone ou compteur série est un système dans lequel le signal d'horloge d'un étage est donné par la sortie de l'étage précédent. Pour réaliser ce type de compteur, on utilise des bascules JK montées en diviseur par deux. L'entrée horloge d'une bascule est relié à la sortie de l'étage précédent. Un compteur comportant N bascules (compteur modulo 2N) peut compter de 0 à 2N − 1.
Ce programme présente une modification possible pour transformer un compteur asynchrone en compteur-décompteur.
Si un "0" est présent sur une entrée d'un OU exclusif, la porte se comporte comme un suiveur pour l'autre entrée. Si au contraire c'est un "1", la porte se comporte comme un inverseur.
On place à la sortie de chaque bascule une porte XOR dont une entrée est relié au signal de commande Set.
Si Set est au niveau 0, le système se comporte en compteur : à chaque front descendant du signal d'horloge le compteur est incrémenté. Aprés 16 transitions le compteur est réinitialisé à 0.
Si au contraire Set est au niveau 1, le système se comporte en décompteur : à chaque front descendant du signal d'horloge le compteur est décrémenté. Aprés 16 transitions le compteur est réinitialisé à 15.

Vérifier le fonctionnement en suivant l'évolution des niveaux des portes XOR.
Les entrées J, K et RàZ des bascules JK sont toutes au niveau 1.

Compteur BCD 8421
Les bascules A et C sont montées en diviseur par 2. Au début du comptage toutes les sorties Q des bascules sont à 0. La sortie Q de la bascule D est donc au niveau 1 : les entrées J et K de la bascule B sont au niveau 1 et cette bascule fonctionne aussi en diviseur par deux. La porte AND branchée sur les sortie des bascules B et C impose un niveau 0 sur l'entrée J de la bascule D et maintient ainsi un 0 sur sa sortie. Le compteur compte de 0 à 7. A la fin de la septième impulsion, la porte AND impose un 1 sur l'entrée J de la bascule D dont la sortie passe à 1 ce qui va bloquer la bascule B.

Compteur modulo 6.
Avec 3 bascules, on peut compter de 0 à 7. Pour compter de 1 à 6, la méthode utilisée ici est de mettre à zéro les bascules 2 et 3 quand leurs sorties valent 1 ensemble. On peut prendre une porte NAND dont les entrées sont reliées à Q2 et Q3 et la sortie à l'entrée RàZ de Q2 et Q3.