Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Dwustopniowy wyświetlacz 7-segmentowy w programie EWB

17 Kwi 2018 18:27 765 22
  • Poziom 3  
    Chciałem stworzyć obwód, który po wpisaniu liczby w kodzie NKB w zakresie od 1 do 99 zamieni ją na kod BCD i poda na wejście wyświetlacza siedmiosegmentowego z funkcją wygaszania zera nieznaczącego. Przygotowałem jego fragment, jednak nie działa on prawidłowo. Czy ktoś mógłby sprawdzić go i ewentualnie wskazać błędy? Z góry wielkie dzięki :).
  • Użytkownik usunął konto  
  • Poziom 37  
    Witam,
    Janusz athashtshgfza napisał:
    jednak na wyjściu nic się nie dzieje pomimo zmiany liczb na wejściu

    Zastosowane dekodery mają wyjścia typu "otwarty kolektor", musisz zmodyfikować schemat z postu #1.
    Musisz zasilić wspólne anody wyświetlaczy.
    Musisz zastosować szeregowe rezystory (razem 14 sztuk) od wyjść dekoderów do wejść katod wyświetlaczy, rezystory te służą do ustalenia prądu poszczególnych segmentów wyświetlaczy.
    Ponadto, układy te przeznaczone są do zasilania napięciem 5 V, jeżeli zasiliłeś je napięciem 12 V (jak na Twoim schemacie), prawdopodobnie uległy uszkodzeniu.

    Pozdrawiam
  • Użytkownik usunął konto  
  • Użytkownik usunął konto  
  • Poziom 37  
    Bez urazy, Twoje pytania są nieco ogólnikowe, nie bardzo wiadomo, co dokładnie chcesz zrobić.
    Janusz athashtshgfza napisał:
    co zrobić aby za pomocą liczby podanej na 8 bitach sterować jednocześnie dwiema bramkami 7447 np. podam na wejście 8 bitowe liczbę 21(ale jak to zrobić czy jest jakiś scalak?

    Skąd chcesz "wziąć" tę 8 bitową liczbę ?
    Jeżeli chcesz coś zliczać od 0 do 99 i odwrotnie - zastosuj dwa liczniki dziesiętne połączone kaskadowo i zliczaj.
    Jeżeli chcesz używać jakiegoś mikrokontrolera oraz
    Janusz athashtshgfza napisał:
    a można jakiś scalak zamiast rezystorów?

    to możesz dekodować liczbę programowo i użyć któregoś z driverów:
    https://www.tme.eu/pl/katalog/drivery-led_112...1088%2C2613%2C2900&used_params=383%3A24792%3B
    które nie wymagają żadnych rezystorów ponieważ mają na wyjściach regulowane źródła prądowe.
    Szczerze mówiąc nie wiem czy istnieje jakiś scalony dekoder 8 bitowej liczby na dwie cyfry dziesiętne.
  • Użytkownik usunął konto  
  • Poziom 3  
    Dobra dałem dekodery bcd 7 i wszystko działa jak trzeba bez rezystorów.
    Pozostało mi jeszcze dobrać jakiś układ 74 itd. aby móc na wejście podawać cyfrę na 8 bitach w NKB a na wyjściu mieć to w kodzie BCD albo może ktoś z was ma uproszczoną funkcję dla zależności liczb w obu kodach (zakres liczb od 0 do99). Przepraszam że czasami trochę niezrozumiale piszę o problemie.

    Dodano po 1 [minuty]:

    Układy bo wiem że jeden nie wystarczy
  • Użytkownik usunął konto  
  • Poziom 36  
    Nie ma prostego układu ani scalaka aby liczbę 0-99 ( czyli 00000000-01100011) przekształcić na dwie liczby w kodzie BCD do, wtedy już bezproblemowego, sterowania dekodera/sterownika wyświetlacza siedmiosegmentowego.
  • Użytkownik usunął konto  
  • Poziom 40  
    Janusz athashtshgfza napisał:
    Chciałem stworzyć obwód, który po otrzymaniu słowa wejściowego na wyjściu układu będzie wyświetlał liczby od 0 do 99
    Warto zastanowić się nad użyciem, np. CD4511 + 4029, zamiast TTL 7447 + 74192.
    Można również, zastanowić się nad układem CD4026 (dwa w jednym).
    Niski pobór prądu, szeroki zakres zasilania (3 - 18V).
    Pozdrawiam

    Edit:

    Janusz athashtshgfza napisał:
    Czy mógłby ktoś mógłby sprawdzić mój układ i ewentualnie wskazać błędy lub naprowadzić w jakiś sposób
    Jak już koledzy pisali, w przypadku układów TTL, napięcie: Uz 12V jest dla nich: "zabójcze".
    Poza tym, równoległe połączenie wejść ABCD tych, dwóch układów (7447), oraz podłączenie ich do GND, będzie skutkowało wyświetlaniem tych samych cyfr
  • Poziom 40  
    Janusz athashtshgfza napisał:
    Ten program jest o tyle śmieszny że możesz podać999999V itd.. i nic się nie psuje
    Ups.
    Sądziłem, że piszesz o praktycznym wykorzystaniu 7447 a nie o symulacji tego układu w "jakimś" programie.
    Pozdrawiam
  • Poziom 36  
    Jeszcze raz napiszę bo chyba nie wszyscy wiedza o co chodzi: nie ma prostego układu ani scalaka aby liczbę 0-99 ( czyli 00000000-01100011) przekształcić na dwie liczby w kodzie BCD do, wtedy już bezproblemowego, sterowania dekodera/sterownika wyświetlacza siedmiosegmentowego. 2x4 bity w kodzie BCD wysterują prawidłowo dwa dekodery 7447 (to wiedzą nawet przedszkolacy) ale nie da rady słowa ośmiobitowego binarnego(czyli 0-255 max) w prosty sposób podłączyć do tych dekoderów aby otrzymać prawidłowy wynik z zakresu 0-99.
  • Użytkownik usunął konto  
  • Poziom 40  
    @Christophorus wszelkie porady, dotyczące praktycznego zastosowania układu 7447 nie mają sensu, tym bardziej, że Autor tematu, rozważa swój problem, typowo hipotetycznie (symulator).
    Janusz athashtshgfza napisał:
    dwustopniowy wyświetlacz 7 segmentowy w programie ewb

    Pozdrawiam
  • Poziom 36  
    Musisz po prostu, skoro NIE MA gotowych, stworzyć własny dedykowany dekoder, sprawa jest w zasadzie prosta. Potrzebny układ EPROM nawet ,,najmniejszy'' np. 2716 (nie EEPROM), na wejścia adresowe poddajesz swoją liczbę binarną kolejno z zakresu 0-99 (czyli binarnie od 00000000 do 01100011), ustawiasz EPROM w pozycji zapis (i tu drobne ale, ręcznie w zasadzie, bo na upartego można ale to już tylko tytułem ciekawostki, tego nie zrobisz potrzebny programator EPROM), zapisujesz dane (słowa ośmiobitowe) kolejno do pamięci ale ponieważ chcesz sterować dwa dekodery np. 7447 to wpisujesz kolejno 0-99 w kodzie BCD (2x4bit). Reasumując: tak zaprogramowany EPROM, któremu na wejścia adresowe podasz liczbę binarną z zakresu 0-99 (ręcznie lub np. z licznika dwójkowego) wysteruje z wyjść danych dwa dekodery np. 7447 dwiema liczbami z zakresu 0-99 kodem BCD, dalej to już jak sam piszesz sprawa oczywista. Kiedyś tak się bawiliśmy, dziś niestety nie mam programatora EPROM.
  • Admin grupy audio
    Jest jeszcze prostsza metoda - napisać program dla jakiegokolwiek mikroprocesora i wówczas cały ten TTL-owy dobytek nie będzie potrzeby.
    Budowanie takich układów "na piechotę" w dzisiejszych czasach nie ma praktycznego sensu - jedynie cel edukacyjny jeśli ktoś uczy się podstaw techniki cyfrowej.