Les deux schémas sont deux versions de l'affichage, une cathode commune en haut, une anode commune en bas. Je suppose que vous avez la version à cathode commune.
Vous connectez les segments A..G, DP via 8 résistances série à 8 broches E / S du microcontrôleur. Conduire une broche haute allumera cette LED sur le chiffre sélectionné. Pour sélectionner l'un des 4 chiffres, vous devez abaisser la cathode commune correspondante via un transistor NPN, que vous pilotez à nouveau à partir d'une broche d'E / S via une résistance.
Si votre tension d'alimentation est de 5 V et que vous utilisez des LED rouges, vous pouvez utiliser des résistances de 150 Ω au lieu de 330. Réduisez également les valeurs de résistance de base du transistor à 2,2 kΩ, et utilisez par exemple BC337 s pour les transistors.
Pour piloter l'affichage complet, vous devez d'abord abaisser la broche 12 en pilotant son transistor à un niveau élevé et définir les E / S pour les segments de ce chiffre. Quelque temps plus tard, vous désactivez la broche 12 et les segments, et vous activez 9, puis à nouveau les segments pour le deuxième chiffre. Etc. Si vous passez d'un chiffre à un autre en moins de 2,5 ms, alors l'ensemble de l'affichage passe à 10 ms, ou 100 Hz, ce qui est suffisant pour éviter un scintillement notable.
Vous pouvez utiliser le pilote Maxim, comme le MAX7219 , mais c'est Damn Expensive ™: 12,80 dollars en 1s chez Digikey. La bonne chose à ce sujet est qu'il s'occupe du multiplexage pour vous, il vous suffit donc de le charger avec les données de segment pour les 4 chiffres. Il a également un contrôle logiciel de la luminosité.
J'ai vérifié la fiche technique du PIC16F690 , et contrairement à d'autres microcontrôleurs, ses E / S ne semblent pas pouvoir fournir 20 mA (ce qui est décevant). Vous aurez donc également besoin de transistors sur le port 2:
R1 était l'une des résistances sur le port 2. Donc, vous insérez Q1 et R2 entre eux, et répétez cela pour chacun des 8 segments. Attention, Q2 est un PNP! Tout transistor PNP à usage général fera l'affaire.