Te dwa schematy to dwie wersje wyświetlacza, wspólna katoda u góry, wspólna anoda u dołu. Zakładam, że masz wspólną wersję katody.
Segmenty A..G, DP łączy się za pomocą rezystorów serii 8 z 8 pinami I / O mikrokontrolera. Wysunięcie szpilki spowoduje podświetlenie tej diody LED na wybranej cyfrze. Aby wybrać jedną z 4 cyfr, należy obniżyć odpowiednią wspólną katodę za pomocą tranzystora NPN, który ponownie napędza się z pinu we / wy za pomocą rezystora.
Jeśli twoje napięcie zasilania wynosi 5 V, a używasz czerwonych diod LED, możesz użyć rezystorów 150 Ω zamiast 330. Zmniejsz również wartości rezystora podstawowego tranzystora do 2,2 kΩ, a na przykład użyj tranzystorów BC337 s.
Aby sterować pełnym wyświetlaczem, najpierw ustaw niski pin na 12, napędzając jego tranzystor wysokim poziomem i ustaw I / O dla segmentów tej cyfry. Jakiś czas później wyłączasz styk 12 i segmenty, włączasz 9 i ponownie segmenty dla drugiej cyfry. I tak dalej. Jeśli przejdziesz od jednej cyfry do drugiej w czasie krótszym niż 2,5 ms, wówczas cały wyświetlacz zmienia się z częstotliwością 10 ms lub 100 Hz, co wystarcza, aby uniknąć zauważalnego migotania.
Możesz używać sterownika Maxim, takiego jak MAX7219 , ale to Damn Expensive ™: 12,80 dolara w 1 s w Digikey. Dobrą rzeczą jest to, że dba o multipleksowanie, więc wystarczy załadować go danymi segmentowymi dla 4 cyfr. Posiada również programową kontrolę jasności.
Sprawdziłem arkusz danych PIC16F690 i, w przeciwieństwie do innych mikrokontrolerów, jego wejścia / wyjścia nie wydają się być w stanie uzyskać 20 mA (co jest rozczarowujące). Potrzebujesz więc tranzystorów również na porcie 2:
R1 był jednym z oporników na porcie 2. Więc wstawiasz Q1 i R2 między nimi i powtarzasz to dla każdego z 8 segmentów. Uwaga, Q2 to PNP! Zrobi to dowolny tranzystor PNP ogólnego przeznaczenia.