Electronique > Réalisations > Affichage / Mesures > Afficheur leds 7 segments 004

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.

afficheur_leds_7seg_004

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é.