logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zdekodować binarny kod na dwucyfrowy wyświetlacz 7-segmentowy?

25 Gru 2012 17:46 8253 40
Najlepsze odpowiedzi

Jak z jednego kodu binarnego zbudować dekoder na dwa wyświetlacze 7-segmentowe pokazujące wartości 0–15?

Nie ma w tej rozmowie jednej prostej kostki, która bezpośrednio zamieni binarne 0–15 na dwa wyświetlacze; zaproponowano raczej mały dekoder z bramek CMOS i driverów 7-segmentowych [#11695714] Wersja praktyczna opiera się na układzie 4511 albo 4056 do sterowania wyświetlaczem, a drugi wyświetlacz jest załączany przez tranzystor PNP po wykryciu wartości ≥10; do negacji można użyć 40106 lub bramek NOR/NAND, a całość ma się zmieścić w ok. 5 scalakach [#11700358][#11703337] Wspomniano też o gotowym sterowniku dwóch wyświetlaczy NTE2024, ale nie pozwala on na pokazanie 16 i może być trudno dostępny [#11699377]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA
  • #1 11695073
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 11695490
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #4 11695714
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Kolega zamierzał to zrobić na tranzystorach? To potrzebowało by nie wyobrażalnie dużo miejsca. Jeden dekoder 7447 zawiera w sobie tyle bramek: Jak zdekodować binarny kod na dwucyfrowy wyświetlacz 7-segmentowy? , na każdą bramkę wypada kilka tranzystorów. Jeśli znajdę chwile zaprojektuje koledze jakiś układ rozdzielający ten kod binarny na 2 sterowniki, bo użycie liczników 7490 itp zapewne odpada.

    Proszę oto projekt dekodera. Wymaga on 3 dodatkowych scalaków oraz 2 dekoderów lub 1 dekodera i 1 tranzystora. Oczywiście cały potrzebny układ można by zrealizować za pomocą jednego mikroprocesora ale trzeba by napisać kod i go zaprogramować. Jeśli kolega ma ochotę na zabawę bramkami to proszę bardzo.

    Jak zdekodować binarny kod na dwucyfrowy wyświetlacz 7-segmentowy?
  • #5 11695950
    Konto nie istnieje
    Poziom 1  
  • #6 11696339
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    7490 jest to licznik modulo 10 zdaje się. Chodziło o to, że zliczał byś jedności na jednym liczniku, dziesiątki na drugim. Założenie, nie masz kodu binarnego tylko impulsy - przebieg zegarowy. W ten sposób miałbyś binarnie (kod BCD) dane dla każdego wyświetlacza osobno.

    A może inaczej, skąd masz ten kod binarny? Do czego to ma być?
  • #7 11696404
    Konto nie istnieje
    Poziom 1  
  • #8 11696880
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Wszystko co będzie potrzebne to dwa układy 4026, i jedna negacja z układu 40106, który już jest w schemacie :) Wyświetlacze muszą być o wspólnej katodzie, proszę pamiętać o rezystorze ograniczającym prąd na każdy segment wyświetlaczy. Układy łączymy w szereg, podajemy na pierwszy sygnał zegarowy z nogi 2 układy 4520. Z drugiego układu bierzemy sygnał NOT 2 (noga 14) negujemy i na wejścia reset obu układów 4026 oraz układu 4520 (noga 7).
  • REKLAMA
  • #9 11697036
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #10 11697772
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Piny 2 układów IC12 i IC13 trzeba podłączyć do masy.
    Piny 3 układów IC12 i IC13 trzeba podłączyć do zasilania.
    Pin 5 układu IC12 połączyć z pinem 1 IC13.

    Resetowanie układu coś zjebałem, bo teraz to będzie liczyć do 19 i się resetować. Jak to działa?

    Zlicza impulsy i pokazuje ich ilość na wyświetlaczu. Po dojściu do maksymalnej liczby resetują się wyświetlacze oraz licznik wybierający program na DSP. Może się zdarzyć, że po włączeniu zasilania będzie uruchomiony inny program, niż pokazuje to wyświetlacz. Teraz aby ograniczyć liczenie wyświetlaczy do 15 trzeba użyć paru bramek. Chyba lepiej było by się cofnąć do pierwszej koncepcji, tylko zaraz podam ci inne numery ugładów (w CMOS, podane są teraz TTL).

    Moderowany przez Błażej:

    Ostrzeżenie.

  • #11 11698230
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #12 11699377
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Przy wykorzystaniu tych układów nie jest możliwe liczenie od 1. Zerowanie po 15 też jest ciężkie, wymagało by sprawdzania liczb na obu wyświetlaczach. Proponuje cofnięcie się do pierwszego schematu.

    Do liczenia od jeden potrzebowalibyśmy łącznie 4-5 scalaków, i znowu dochodzimy do opisanego wcześniej niebezpieczeństwa. Więc najlepszym rozwiązaniem liczenia od 1 było by dodanie jeszcze jednego scalaka do pierwszej wersji, który dodawał by 1 :)

    Bardzo polecam porzucenie mojej drugiej propozycji, bo chodź wydawała się idealnie prosta to taka nie jest i ma pewne wady, które mogą być kłopotliwe.

    Po chwili googlowania znalazłem sterownik 2 wyświetlaczy w jednej kostce. NTE2024 proszę sprawdzić czy jest u kolegi dostępny. Ale nie pozwoli on na wyświetlenie 16.
  • #13 11699467
    Konto nie istnieje
    Poziom 1  
  • #14 11699691
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Niebezpieczeństwo polegało na tym, że druga opcja nie używała linii adresowych kierowanych do DSP, ale miała swój własny licznik. Nie było układu, który po włączeniu zasilania zresetował by oba liczniki, aby zaczęły razem liczyć od 0. Po ich zasileniu jeden mógł mieć np. wartość 5 a drugi 14.

    Ale kolega potrzebuje innych scalaków niż wypisałem. CMOS a nie TTL.

    4070 lub (4030 - podobno przestarzały) zamiast 7486
    4011 zamiast 7400
    4001 zamiast 7402

    Ten tranzystor kolega wie jak wysterować?
  • #15 11699708
    Konto nie istnieje
    Poziom 1  
  • #16 11699735
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    On nie liczy, tylko wyświetla otrzymaną wartość binarną. 0 - 15. Aby zrobić 1 - 16 trzeba przeprojektować wszystko ;) Do wyświetlenia liczby 16 będzie potrzebna piąta szyna adresowa. Dojdą 2 układy 4008 i nie jestem teraz w stanie powiedzieć jak będzie wyglądał nowy układ kombinacyjny - te parę bramek NAND. Jeśli koledze bardzo na tym zależy, mogę znowu chwile poświęcić.
  • #17 11699809
    Konto nie istnieje
    Poziom 1  
  • #18 11699820
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Tak do wyjścia opisanego jako >10 przez negacje o której zapomniałem. Pojawia się tam (przynajmniej powinna) 1 gdy wprowadzona zostaje liczba większa równa 10.
  • #19 11699996
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #20 11700358
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    6 negacji jest w układzie 40106, ale oczywiście można użyć NORa.

    Schemat dekodera, pokazującego 1 - 16 :)
    Jak zdekodować binarny kod na dwucyfrowy wyświetlacz 7-segmentowy?
    Tylko 5 scalaków ;p Zamiast 4056 moze być 4511
  • #21 11700566
    Konto nie istnieje
    Poziom 1  
  • #22 11700604
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Przydaje się wiedza z Politechniki ;) Jak zasymulujesz wszystko to daj znać. I pamiętaj o rezystorze na kolektorze tranzystora.
  • #23 11700721
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #24 11703337
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Rezystory koniecznie, jak je wyliczyć kolega pewnie wie, jeśli nie to na forum nie raz na pewno była o tym mowa.

    Chciałbym abyś sięgał samodzielnie do dokumentacji układów i tam znajdował odpowiedzi na swoje pytania. Rozumiem, że nie każdy może znać sposoby tworzenia takich "bajerów" z bramek co to robią co mają robić ;p

    Układ 4056:
    Wyświetlacz wspólna anoda lub katoda, zależnie od wartości pinu DF.
    0 - Katoda
    1 - Anoda

    Drugi wyświetlacz niejako wymusza nam wspólną Anodę, ale można zastosować tranzystor PNP i magicznie możemy użyć wyświetlacza ze wspólną Katodą.

    Vee do masy, Strobe do zasilania.

    Układ 4511:
    EL do masy, BI oraz LT do zasilania.
    Wyświetlacz ze wspólną katodą.
  • #25 11703914
    Konto nie istnieje
    Poziom 1  
  • #26 11707070
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    No ma taki bajer, bo pozwala na sterowanie ekranami LCD. Taka myśl mnie naszła, że jeśli ułatwi koledze to prowadzenie ścieżek czy cokolwiek to zamiast NAND(2) można użyć NAND(3) łącząc nie używane wejście w parę z innym użytym z tej samej bramki, lub podając tam "1". Miało by to sens przy układzie generującym sygnał ≧10. Negacje też można zastąpić NANDem zwierając mu wejścia, jeśli to będzie wygodniejsze.
  • #27 11708804
    Konto nie istnieje
    Poziom 1  
  • #28 11735640
    Konto nie istnieje
    Poziom 1  
  • #29 11735741
    kokosoft
    Poziom 15  
    Posty: 99
    Pomógł: 8
    Ocena: 23
    Proszę się zainteresować układami 4029 oraz 4516. Napisz mi jakie bramki zostały nam wolne i coś wymyśle ;)
  • #30 11735853
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

✨ Użytkownik poszukiwał rozwiązania do dekodowania kodu binarnego na dwucyfrowy wyświetlacz 7-segmentowy, aby wyświetlać liczby od 0 do 15. W odpowiedziach zasugerowano użycie układów UCY7447 i UCY7490, a także układów 4026 i 40106. Wskazano na możliwość realizacji projektu z wykorzystaniem mikroprocesora, ale użytkownik preferował prostsze rozwiązania. Pojawiły się również propozycje dotyczące użycia układów CMOS oraz omówiono kwestie związane z zasilaniem i podłączeniem wyświetlaczy. Użytkownik rozważał również modyfikacje, aby umożliwić wyświetlanie liczb od 1 do 16, co wymagałoby dodatkowych układów. W końcu, użytkownik zadał pytanie o licznik do sterowania multiplekserem, co doprowadziło do dyskusji na temat układów 4029 i 4516.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA