Dernière mise à jour :
15/11/2009
Présentation
Ce circuit d'affichage, à base de PIC 16F628A et
simple à réaliser, a été concu pour afficher un chiffre compris entre 0
et 9, à partir d'un code binaire / décimal (BCD). A cela rien
d'extraordinaire direz-vous, puisque de simples décodeurs BCD / 7
segments de type SN7447, CD4543 ou CD4511 le font déjà. Le petit plus que ce
circuit apporte est le suivant : dans certaines applications telle
qu'un sélecteur de voie ou de source, on aimerait bien qu'au code BCD
"0000" corresponde l'affichage du chiffre "1" et non l'affichage du chiffre "0", c'est à dire avec un
décallage (offset) de 1. Cette idée m'est venue après la conception du
sélecteur de source décrit à la page
commutateur audio 008,
lequel dispose d'un afficheur qui affiche "0" pour l'entrée
audio N° 1.
Avec le circuit décrit ici, l'affichage peut montrer "1" et non
"0" quand l'entrée 1 est
sélectionnée. Deuxième atout : affichage possible
des lettres A, B, C, D, E et F pour un code binaire compris entre 1010
(valeur 10) et 1111 (valeur 15). Et tant qu'à faire, un
troisième atout : celui de pouvoir attaquer aussi bien un afficheur de type
Anode commune qu'un afficheur de type Cathode commune (comme le permet le CD4543).
Schéma
Un seul circuit intégré, un seul afficheur, et quelques résistances.
Le code BCD, sur quatre bits, est appliqué sur les broches
RB4 à
RB7 du PIC, ces broches sont donc configurées en entrée.
En retour des
niveaux logiques appliqués sur ces entrées, le PIC
délivre sur ses
lignes RA0 à RA3 et RB0 à RB2 (lignes configurées
en sortie), des
niveaux logiques qui permettent l'affichage direct de n'importe quel
chiffre entre 0 et 9, sur un afficheur leds sept segments à
cathode
commune ou à anode commune. Les lignes RA5 à RA7,
configurées en entrées, permettent de spécifier le
mode de fonctionnement de ce drôle de décodeur BCD / 7
segments.
Choix affichage normal / affichage décalé
Il
aurait été dommage de ne pas pouvoir se servir de ce circuit pour
afficher un nombre en relation normale avec le code BCD d'entrée. Le
cavalier JP1 permet de décaller l'affichage de une unité, ou de le
conserver tel quel.
- JP1 / Offset côté masse : pas de décallage, le code BCD
"0000" affiche "0", le code BCD "0001" affiche "1", le code BCD "0010"
affiche "2", etc.
- JP1 / Offset côté +5 V : décallage activé, le code BCD
"0000" affiche "1", le code BCD "0001" affiche "2", le code BCD "0010"
affiche "3", etc.
Choix anode commune / cathode commune
Il
s'effectue grâce au cavalier JP2 / Ph (Ph pour phase, j'avais envie),
dont la position détermine la "polarité" des états logiques de sortie.
-
JP2 / Phase côté masse : les sorties sont actives à
l'état haut, et doivent donc attaquer un afficheur à
cathode commune.
- JP2 / Phase côté +5 V : les sorties sont
actives à l'état bas, et doivent alors attaquer un
afficheur à anode commune.
Extension affichage ABCDEF
Selon la
position du cavalier JP3, l'affichage diffère pour les codes BCD
correspondant à un nombre égal ou supérieur à 10. Vous pouvez en effet
préférer voir s'afficher un petit trait "-" qui informe que le code BCD
est en dehors de la plage permise, ou faires'afficher une lettre parmi
les lettres A, B, C, D, E ou F, selon code décimal d'entrée.
- JP3 / Ext côté masse : affichage du caractère "-" pour les nombres supérieurs à 9.
-
JP3 / Ext côté +5 V : affichage de la lettre "A" pour la valeur 10, lettre
"B" pour la valeur 11, ..., lettre "F" pour la valeur 15. Si le
décallage est activé (JP1 côté +5 V), la lettre "A" est affichée pour
la valeur 9, ..., lettre "F" pour la valeur 14 et caractère "-" pour la
valeur 15.
Code source et fichier binaire compilé
Disponible dans l'archive dont le lien suit.
Afficheur 7 segents leds 004 - 16F628A - (15/11/2009)
Si vous souhaitez recevoir par la poste un PIC
préprogrammé et prêt à utiliser, merci de
consulter la page
PIC - Sources.
Circuit imprimé
Non réalisé.