CONST DEVICE =3B ' **************************************************** ' PROGRAMME Afficheur avec DM74LS164N ' **************************************************** 'les ports utilisés '0 = CLK '2 = DATA '6 = poussoir pour simulation le CLK '8 = poussoir pour simulation des DATA DIM b AS BYTE DIM d AS BYTE DIM u AS BYTE DIM v AS BYTE '======================================================= OUT 2,0 ' GOTO simulation 'mètre la ligne en fonction pour aller a la routine simulation FOR v = 0 TO 99 'affichage des nombre de 0 a 99 GOSUB affichage DELAY 500 'un petit temps d'arrêt pour visualiser NEXT v '================================================== simulation: 'routine de simulation pour bien comprendre le mécanisme b =KEYIN( 6,25 ) 'captage de la position du poussoir CLK d =KEYIN( 8,25 ) 'captage de la position du poussoir DATA IF b = 0 THEN 'si le poussoir 1 est pressé OUT 0,0 'envoi d'une impulsion sur la clock OUT 0,1 BEEP 15 DELAY 200 ' un petit délaie pour ne pas donner plusieurs impulsions trop rapproché END IF IF d = 0 THEN ' si le poussoir 2 est pressé OUT 2,1 'monté de la ligne DATA (extinction des LED après le CLK) ELSE 'sinon elle reste a 0 OUT 2,0 ' les LED s'allume a chaque CLK END IF GOTO simulation '============================================ affichage: 'partie affichage sur les digits d = v /10: u = v -( d * 10 ) 'extraction des dizaines et des unités de la valeur a afficher d =TABLE( d , 127,62,72,24,50,17,1,60,128,16 ) 'affectation des codes à envoyer pour les dizaines u =TABLE( u , 2,118,17,80,100,72,8,114,128,64 ) 'affectation des codes à envoyer pour les unités SHIFTOUT 0,2,1, u ,8 'envoie des unités sur le digit SHIFTOUT 0,2,1, d ,8 'envoie des dizaines sur le digits RETURN 'si j'ai mis 127 comme code pour le 0 des dizaines c'est pour avoir le digit éteint lorsqu'il n'y a qu'un chiffre '======================================================
brochage de mon afficheur j'ai ajouté en rouge l'ordre de décalage pour chaque impulsion d'horloge, si vous avez un branchement différent l'ordre ne sera pas le même pour refaire le codage des TABLES du programme il faut se servir des deux poussoir (CLK et DATA) 1- maitre sous tension, faire de sorte que les segments son tous allumés (88) 2- en restant appuyé sur DATA vous donnez une pression sur CLK et la un segment s'éteint se sera le 1 3- ne plus appuyé sur DATA mais simplement une pression sur CLK et la le segment éteint se déplacera se sera le 2 et ainsi de suite une fois terminé vous pouvez codifier la TABLE exemple pour le premier digits celui des dizaines pour représenter le chiffre 2 les segments allumé seront 1-2-3-5-6 avec cela il faut traduite en binaire (j'ai un afficheur avec le commun positif se qui donne en binaire un 0 pour qu'il sois allumé si c'est un négatif en commun se sera l'inverse ) donc le premier segment est allumer sa donne au premier bit un 0 et de même pour 2 et 3 le résultat est 000 puis le 4 est éteint sa donne un 1 (1000), 5 et 6 allumé = deux 0 (001000) puis le 7 éteint qui donne 1 (1001000) je ne me suis pas occuper du point décimal c'est pour cela que j'ai 7 bits mais c'est possible 1001000 en binaire donne 72 en décimal et 48 en hexa, dans la table des dizaines du programme a la troisième position il y a (72)
fonction logique du DM74LS164N
séquence du DM74LS164N
Les connections sur l'afficheur ne sont pas aux emplacements exacts c'est pour éviter les croisements des fils de même pour votre circuit imprimé et puis si vous avez un afficheur qui à un brochage différents par contre il faudra modifier les codes qui se trouve dans les TABLES sur le programme
brochage du DM74LS164N
composants qui ont les mêmes fonctions avec des caractéristiques différentes SN54164 SN54LS164 SN74164 SN74LS164 54LS164 DM54LS164 DM74LS164
c'est un affichage numérique à deux chiffres et commandé par le PICBASIC 3B avec l'intermédiaire de deux registres à décalage 8 bits avec entrée série qui sont des DM74LS164N je n'utilise que deux entrée sur le PIC (CLK et DATA) et une alimentation - et + 5V avec ses registres à décalage il est possible de les utiliser pour autres choses par exemple si vous avez un tableaux de bord avec beaucoup de lampes témoin il suffi de remplacer les digits par des témoins ou des transistors ou des photo-coupleurs c'est ni plus ni moins un composent a entrée série et une sortie parallèle par contre il y a de micro impulsions sur les sorties par le fait du décalage des bits le premier bit passe par la première sortie pour finir a la huitième
DATASHEET du DM74LS164N Affichage Numérique sur deux digits avec deux DM74LS164N
ACCEUIL CONTACT