Konwersja z kodu dwójkowego na kod 8421(BCD)

Dyskusje ogólne na temat "cyfrówki" czyli wszystko o TTL/CMOS, językach VHDL i VERILOG, bramkach, rejestrach, przerzutnikach... Dobre miejsce na pytania odnośnie uniwersalnych programatorów (np. Willem) a także podłączania własnych peryferiów do komputera PC.
ODPOWIEDZ
polak27
Użytkownik
Posty: 101
Rejestracja: 05 gru 2011, 0:12
Lokalizacja: Białystok

Konwersja z kodu dwójkowego na kod 8421(BCD)

Post autor: polak27 » 05 gru 2011, 0:29

Witam. Jestem tu nowy:)

Mam taki problem. Należy przekonwertować liczbę binarną zapisaną na 8 bitach na liczbę w kodzie BCD(kod 8421 chyba też popularna nazwa), żeby potem ją wyświetlić. Jednym słowem jak z liczby typu 11001001 wyłuskać setki, dziesiątki i jedności, żeby potem je wyświetlić. Samo wyświetlenie to już oczywiście nie problem, tylko nie mogę wydumać jak z tych 8 bitów stworzyć trzy zestawy czwórek na 3 wyświetlacze? Czy to się przypadkiem nie robi z pomocą jakiegoś jeszcze 3ciego kodu może?

bugz_
-
Posty: 1
Rejestracja: 19 kwie 2011, 10:52
Lokalizacja: Kraków

Post autor: bugz_ » 05 gru 2011, 12:50

Na przykład tak Binary2BCD

Jony130
Moderator
Posty: 3148
Rejestracja: 11 sie 2005, 16:33
Lokalizacja: wrocław

Post autor: Jony130 » 05 gru 2011, 14:15

Produkuje się scalaki które zamieniając kod binarny na BCD
http://www.utm.edu/staff/leeb/DM74185.pdf

cinepi
-
Posty: 10
Rejestracja: 29 paź 2011, 16:48
Lokalizacja: Rybnik
Kontakt:

Post autor: cinepi » 05 gru 2011, 20:14

Jeśli chodzi o konwersję w uC, to z tego co pamiętam, to liczbę 8 bitową dzieliło się przez 100 - wynik to liczba setek, reszta z tego dzielenia dzielona przez 10 - wychodzi ilość dziesiątek. Reszta z drugiego dzielenia to ilość jedności - tak to kiedyś robiłem w asemblerze '51

polak27
Użytkownik
Posty: 101
Rejestracja: 05 gru 2011, 0:12
Lokalizacja: Białystok

Post autor: polak27 » 05 gru 2011, 23:55

Dzięki wielkie za obie stronki :) Jest tam to czego szukałem. Algorytm i narysowany układ cyfrowy. Po polsku nigdzie nie mogłem tego znaleźć. Sprawdziłem w Quartusie i dla 8 bitów działa jak należy. Elegancko wyświetla liczbę binarną na wyświetlaczu. Jeszcze nie skumałem do końca jak to jest rozwiązane na tych schematach cyfrowych(dlaczego tak schodkami akurat jest to podłączane i czy tablica prawdy dla poszczególnej komórki jest faktycznie taka sama jak na tej drugiej stronie bo tu nie mam pewności), ale przy chwili wolnego czasu myślę uda mi się to do końca rozgryźć:)

polak27
Użytkownik
Posty: 101
Rejestracja: 05 gru 2011, 0:12
Lokalizacja: Białystok

Post autor: polak27 » 09 gru 2011, 13:39

Czy potrafiłby ktoś wytłumaczyć dlaczego w taki sposób należy łączyć ze sobą te bloki 74185 i jak dokładnie działa poszczególny blok(tzn jaka jest dla niego tablica prawdy)? Próbowałem szukać informacji, ale kolejne które odnajduję są sprzeczne z poprzednim i nie mogę w efekcie zrozumieć istoty działania tego układu. Potrafiłbym oczywiście zrobić taką konwersję za pomocą tablic prawdy, ale dla większej liczby bitów byłoby to niezwykle pracochłonne bo musiałbym np. od 00000 do 111111 rozpatrywać każdy przypadek. A tu widzę ktoś znalazł sposób prostszy z zastosowaniem tych bloków 74185.

ODPOWIEDZ