Dernière mise à jour : 09/12/2007
Présentation
Le schéma présenté ici montre une façon de
faire pour réaliser un compteur entre 00 et 99, en utilisant
deux afficheurs
à leds sept segments. Il est possible de le
simplifier pour le transformer en compteur de 0 à 9, ou encore
de l'étendre pour lui permettre d'afficher un nombre entre 000
et 999 ou même 0000 et 9999. Version CMOS (+3V à +15V)
avec CD4029 et CD4543. Voir aussi Compteur
002
à base de CD4518 et CD4511, Compteur
003
à base de SN7490 et SN7447 et Compteur
004
à base de CD4033. Les composants utilisés
ici peuvent aussi être mis à contribution pour
réaliser un décompteur, voir page Décompteur
001.
Schéma
Le schéma qui suit est celui que j'ai retenu et dupliqué
en trois exemplaires pour la section affichage de mon
jeu Rouleboule.

Impulsions de comptage
Le comptage s'effectue ici de façon manuelle au travers du
bouton poussoir SW1, mais vous pouvez
bien
entendu remplacer ce bouton poussoir par un circuit "automatique"
quelconque (sortie d'un oscillateur
ou d'un système de comptage de personnes, par exemple). Tel
quel, le compteur est incrémenté de une unité
à chaque nouvel appui sur le bouton poussoir. Et comme vous le
savez peut-être, ce composant génère des rebonds
mécaniques quand on l'actionne. En clair : vous appuyez dessus
une seule fois, et il fournit une suite de "fermé / ouvert" qui,
si l'on n'y prend garde, produit le même effet que si l'on avait
appuyé dessus plusieurs fois de suite à grande vitesse.
Bien entendu, mieux vaut éviter que ce genre de comportement
soit vu par notre compteur, si l'on ne veut pas que l'affichage passe
de 07 à 14 avec un seul appui sur le bouton poussoir. Pour
celà, un circuit anti-rebonds rudimentaire mais suffisement
efficace, est constitué par les deux composants R2 et C2. Pour
simplifier, on peut dire que C2 "absorbe" les rebonds.
Remarque : un circuit
anti-rebonds
n'est pas un système qui supprime les rebonds mécaniques
de l'élement mécanique actionné (ici un bouton
poussoir), mais qui empêche la production d'une suite
d'impulsions électriques, là où il ne devrait
normalement y en avoir qu'une.
Comptage
Le comptage des impulsions est assuré par un circuit
intégré logique appelé curieusement compteur
(hazard ou pas, je ne sais pas trop). Ce compteur est un modèle
un peu particulier, dans le sens où il est
prépositionnable. Misère, un circuit
intégré logique compteur prépositionnable ! Et
vous voulez qu'on continue l'électonique, avec ça ! Et
bien, pourquoi pas ? On a tous déjà entendu parler un
médecin dans une langue inconnue de nous ("vous avez une
laryngotomie aigüe doublée d'un staphilocoquesinjake
poisseux, je vais vous soignez ça avec du
daffalganosotropikopylus, et ça ira mieux dans 7 jours"), et
ça ne nous empêche pas d'y retourner, non ? Il existe
plusieurs type de compteurs, et j'ai choisi un des plus
compliqués, ça va de soi. Nous disions donc
prépositionnable. Soyez rassuré, ce n'est pas si grave
que ça. Le terme prépositionnable veut simplement dire
que l'on peut initialiser le compteur pour qu'il commence à
compter (ou à décompter) à partir d'un nombre
quelconque, et donc pas forcement par zéro. Ca peut servir dans
certaines application, mais ici, nous ne profiterons pas de cette
fonctionnalité et nous ferons en sorte que le comptage
s'effectue de façon "normale". Ainsi, toutes les entrées
de prépositionnement A, B C et D sont reliées à la
masse. Et de la façon dont le compteur est cablé, ses
sorties BCD (QA, QB, QC et QD) fournissent un mot binaire dont la
valeur s'incrémente de une unité à chaque
impulsion appliquée sur l'entrée d'horloge CLK (CLK =
clock = horloge). Quand le compteur atteind la valeur binaire de sortie
1001, qui correspond en décimal à 9, la valeur qui suit
est 0000 (valeur décimale 0). Au moment même où le
compteur repasse à zéro, la sortie de retenue CO (borne
7) change d'état et incrémente de une unité le
compteur dont l'entrée d'horloge est reliée à
cette sortie (j'ai nommé U3). Pour résumer, nous avons un
premier compteur (U1) qui s'incémente à chaque appui sur
le bouton poussoir, et nous avons un second compteur (U3) qui
s'incrémente quand le premier compteur s'est
incrémenté dix fois. Vous l'avez compris, le premier
compteur sert pour les unités, et le second compteur sert pour
les dizaines. Bien, le comptage c'est bien, mais l'affichage, c'est
mieux. Nous disposons de deux compteurs qui fournissent des mots
binaires, mots bien peu adaptés à l'affichage direct sur
des afficheurs sept segments. Nous devons trouver une solution, et si
possible, rapidement.
Décodage et affichage
Nous disposons de deux mots binaires. Un pour les unités, fourni
par le circuit intégré U1, et un autre pour les dizaines,
fourni par U3. Nous voulons afficher ces mots binaires en chiffres
arabes, que nous connaissons bien : 0, 1, 2, ... jusqu'à 9. Pas
de mystère, il nous faut un composant qui assure une "interface
de langage". Ouf, ça existe tout fait, et ça s'appelle un
décodeur BCD / 7 segments. Ca aurait pû être pire.
Il existe plusieurs types de décodeurs assurant cette fonction,
mon choix s'est porté sur un CD4543. Je l'aime bien,
celui-là, car il dispose d'une entrée de sélection
qui permet d'inverser la logique de sortie (celle qui pilote les
afficheurs), et qui permet de ce fait d'utiliser des afficheurs
à anode commune ou à cathode commune. Dans notre cas,
nous utilisons des afficheurs à cathode commune. Notez la
simplicité de la chose : on entre sur ce circuit un mot binaire
(A, B, C et D), et il ressort un mot décimal spécialement
adapté pour affichage sur sept segments (A, B, C, D, E, F et G).
Prototype
Rien de spécial à dire.

Modèle à deux
afficheurs (00 à 99)
Ah si : sur le schéma, on voit des résistances (390 ohms)
entre les
sorties des décodeurs BCD / 7 segments CD4543 et les afficheurs,
et sur
le proto, on n'en voit aucune. Mais je vous sais fort curieux, et vous
allez immédiatement sauter sur le datasheet du CD4543 pour
savoir
pourquoi je peux me permettre une telle animosité.
Réduction à un seul afficheur
Il est tout à fait possible de supprimer la moitié des
composants, si l'affichage est limité à la plage 0
à 9. C'est ce que montre le schéma suivant.

Extension d'affichage
Extension désirée pour affichage jusqu'à 999 ?
Possible aussi, il suffit de chaîner un troisième compteur
CD4029 au deuxième déjà en place, c'est à
dire de relier la sortie CO du compteur précédent sur son
entrée CLK, et de lui adjoindre sa propre section de
décodage BCD / sept segments (CD4543).

Pour affichage jusqu'à 9999, ajout d'un quatrième CD4029,
d'un quatrième CD4543 et d'un quatrième afficheur sept
segments, selon le même principe de cablage. Comme vous pouvez le
constater, ce n'est que de la recopie.