Sterowanie wyświetlaczem LED

Aug 13, 2005 7 Replies

Witam serdecznie.



Chciałbym oprogrogramować sterownik wyświetlacza LED (4 cyfry), wykorzystując ATmega8. Nota katalogowa tego wyświetlacza dostępna jest w tym miejscu:

formatting link
? Zgodnie z opisem chciałbym połączyć piny wybierające cyfry (12, 9, 8, 6) od portów mikroprocesora, natomiast piny wybierające diody (11, 7, 4, 2, 1, 10, 5, 3) do masy wykorzystując tranzystory z bazami podłączanymi do portów ATmega8. Widziałem takie podłączenia na schematach znalezionych w sieci. Zakładając że ten sposób jest poprawny, zastanawia mnie fakt, jak zrobić aby zapalać poszczególne diody w konkertnych cyfrach. Wydaje mi się iż zaświecenie np. diody A, spowoduje zaświecenie ów diody na wszystkich wybranych cyfrach, a jak zaświecić tylko na jednej cyfrze? Znalazłem powtarzającą się fraze w wątkach na podobny temat: "wyświetlanie multipleksowe". Szukając głębiej natrafiłem na taki oto cytat: "Układ wykorzystuje wyświetlanie multipleksowe tzn. w danej chwili świeci się tylko jedna cyfra.". Mi zależy zaś na tym, aby świeciły się dokładnie wszystkie cyfry z liczbami takimi jakie sobie żądam.



Pozostaje pytanie: Jak sterować wyświetlaczem LED?



Będę wdzięczny za wszelkie wskazówki. Pozdrawiam gorąco.


tranzystorem steruj te 4 piny wybierajace cyfry, zaoszczedzisz 3 tranzystory. Ale niewykluczone, ze ATMega bezposrednio uciagnie twoj wyswietlacz.

Wlasnie stosujac wyswietlanie multipleksowe;) Polega to na tym, ze w danej chwili wybierasz tylko jedna z 4 cyfr. Ustawiajac odpowiednio piny sterujace segmentami powodujesz wyswietlenie cyfry, nastepnie wybierasz kolejna cyfre i ja wyswietlasz i tak w kolko. Robiac to kilkaset razy na sekunde nie zauwazysz, ze w danej chwili swieci sie tylko jedna cyfra, ale odniesiesz wrazenie, ze na raz sa wyswietlane wszystkie.

Najpierw zapalasz cyfrę A, czekasz chwilę, następnie B itd. jeśli będzie to robione wystarczająco szybko oko/mózg nie zauwarzy, że pali się tylko jedna cyfra (tak, jak w telewizorze pali się tylko jeden punkt)

Może podłaczyć dekoder BCD-7SEG?

Użytkownik "Piotr" snipped-for-privacy@diablo.ict.pwr.wroc.pl> napisał w wiadomości news:ddlnmc$nn0$ snipped-for-privacy@inews.gazeta.pl...

Właśnie wyświetlanie multipleksowe polega na tak szybkim przełączaniu poszczególnych segmentów w LED'zie że dla ludzkiego oka wygląda jakby świeciły wszystkie cały czas. Poczytaj głębiej o tym sposobie sterowania.

Rafał

O to chodzi, że w danej chwili świeci się tylko jedna cyfra - czyli wybierasz tylko np. pierwszą cyfrę i podajesz, jakie segmenty mają się zaświecić. Za 10 ms gasisz wszystkie segmenty, wybierasz kolejną cyfrę i zapalasz segmenty dla tej cyfry. I tak dalej. Przy zaświecaniu kolejnych cyfr w kółko 100x na sekundę nikt nie zauważy migania i to jest właśnie sterowanie multipleksowe. Oczywiście jeżeli każda cyfra świeci tylko 1/4 czasu (czyli przez 10 ms co 40 ms gdy masz 4 cyfry), musi świecić większym prądem aby dobrze wyglądało.

BTW: W praktyce warto wybrać częstotliwość oddaloną od wielokrotności sieci 50 Hz bo przy migających świetlówkach może się wydawać, że obraz pulsuje. Czyli lepiej 85 Hz niż 100 Hz.

BTW: Nie jest to dobre rozwiązanie, bo duży prąd puszczasz prosto z pinów procka na anody diod świecących. Lepiej dać do każdej cyfry tranzystor PNP sterowany z procesora (emiter do VCC, kolektor do anod cyfry wyświetlacza, baza do pinu procesora przez rezystor 4k7), a do katod diod świecących doczepić 8-bitowy bufor prądowy np. ULN2803 (zawierający tranzystory NPN w układzie Darlingtona):

formatting link

Jezeli mulitipleksowo to nie.

Dokladnie tak jest.

Powiedmy ze chcesz wyswietlic liczbe 1234

Prcesor wlaczy segmenty dla cyfry 1 (piny 7 i 4) i anode (pin 12) pierwszej sekcji wyswietlacza, anody pozostalych wyswietlaczy wylaczone. Nastepnie wylanczy anode pierwszej sekcji i wlancza segmenty dla cyfry 2 (piny 11, 7, 5, 1 i 2) i anode drugiej sekcji (pin 9) itd z pozostalymi cyframi. Powyswietleniu z osobna wszystkich czterech cyfr, zaczyna od poczatku czyli: Prcesor wlaczy segmenty dla cyfry 1 (piny 7 i 4) i anode (pin 12) pierwszej sekcji wyswietlacza, anody pozostalych wyswietlaczy wylaczone. ......

Dzieje sie to tak szybko ze oko ludzkie nie jest w stanie zauwazyc ze swieci sie tylko jedna cyfra, a pozostale cyfry sa wyloczone. Bezwladnosc oka powoduje ze masz wrazenie ze swieca sie wszystkie cztery sekcje wyswietlacza.

Prosze bardzo

Pozdrawiam

Kabelek

Dziękuję Wam wszystkim za bardzo szybką i profesjonalną reakcję. Cieszę się że ta grupa, a w związku z czym grupowicze, kierują się kulturą i wiedzą.

Jeszcze raz gorąco pozdrawiam w te deszczowe dni :)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required