Obsługa wyświetlacza 7-segmentowego: dekoder segmentów oraz transkoder z NKB na BCD dla liczb w zakresie 0-99 | ||
---|---|---|
Data wykonania: 09.01.2013 |
Łukasz Uszko Seweryn Kwieciński |
AGH WEAIiIB KANiUP |
3 EC | ||
2012/2013 | Lab. Podstaw Sterowania Logicznego |
Dekoder Wyświetlacza 7 segmentowego
Tabele Karnaugh’a dla poszczególnych segmentów:
Tworząc mapę Karnaugh dla poszczególnych wyjść sterownika, analizujemy wartość funkcji, określającej świecenie danego segmentu (kolumny od a do g) w obrazach tworzących cyfry od 0 do 9, dla pobudzeń x0 , x1 , x2 , x3 .
wyjście a:
wyjście b:
wyjście c:
wyjście d:
Wyjście e:
Wyjście f:
Wyjście g:
Po wykonaniu układu zamieniliśmy go w makro – do wykorzystania w kolejnych poleceniach.
Transkoder liczby 8-bitowej z naturalnego kodu binarnego na kod BCD.
„Odmiana +3”
Na początku zaprojektowaliśmy układ sprawdzający czy liczba podana na wejście jest większa lub równa 5. Blok na schemacie oznaczony: „ >=5 ? ”
Tabela karnough’a dla układu „ >=5 ? ”:
X3X2 X1X0 | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | 0 | 0 | 1 | 1 |
01 | 0 | 1 | 1 | 1 |
11 | 0 | 1 | 1 | 1 |
10 | 0 | 1 | 1 | 1 |
Stąd po zminimalizowaniu otrzymujemy funkcję wyjścia następującej postaci:
F(OUT) = X3 + X2X1 + X2X0
Gotowy układ aplikacyjny oraz bloczek (makro) wykorzystane dalej w budowie układu :
Kolejnym elementem użytym w budowie „Odmiany +3” transkodera jest układ oznaczony jako „ Cin +3” . Układ ten posiada jednobajtowe wejście danych oraz wejście Cin , a także jednobajtowe wyjście . Gdy na wejście Cin jest podane 0 (wejście to połączone jest z wyjściem układu „ >=5 ? ” ) , to na wyjścia przepisywana jest wartość z wejść in0…in7 . Natomiast gdy wejście Cin jest w stanie aktywnym ( wysokim) na wyjściach pojawia się wartość z wejść in0…in7 powiększona o wartość 3.
Układ ten składa się z sumatora 8 bitowego oraz z układu wykrywającego czy na wejściu Cin jest stan wysoki czy niski . Jako Sumator zastosowaliśmy gotowy układ z biblioteki programu „Digital Works”.
Oto struktura wewnętrzna układu oraz makro:
Ostatnim etapem budowy „Odmiany +3” transkodera liczby 8-bitowej z naturalnego kodu binarnego na kod BCD, było poskładanie wszystkich elementów ze sobą wedle podanego w instrukcji algorytmu. W celu wyświetlenia wyniku na wyjściu użyto 2 dekoderów wyświetlacza 7 segmentowego skonstruowanego wcześniej oraz 2 wyświetlaczy 7 segmentowych.
Schemat końcowy:
Jak widać układ działa poprawnie.
„Odmiana +6”:
Projektowanie tego układu przebiegało w podobny sposób jak poprzedniego. Poniżej przedstawię wykonywane po kolei kroki:
Pierwszym blokiem który skonstruowaliśmy był blok o nazwie „ NKB 2 BCD ”.
Blok ten podobnie jak powyżej zawiera w sobie sumator 8 bitowy z wbudowanym układem detekcji czy liczba podana na wejścia x0…x3 jest większa od 9 oraz układem sprawdzającym czy na wejściu C nie ma stanu aktywnego. Jeśli któryś warunek jest spełniony to do wartości wejściowej (z wejść x0…x7) dodawana jest cyfra 6 i wartość ta przepisywana jest na wyjście układu . Natomiast jeśli nie jest spełniona na wyjście przepisywana jest liczba z wejścia bez zmian.
Tabela karnough’a dla układu „ >9 lub C ”:
X3X2 X1X0 | 00 | 01 | 11 | 10 |
---|---|---|---|---|
00 | 0 | 0 | 1 | 0 |
01 | 0 | 1 | 1 | 0 |
11 | 0 | 1 | 1 | 0 |
10 | 0 | 0 | 1 | 0 |
Stąd po zminimalizowaniu otrzymujemy funkcję wyjścia następującej postaci:
F=x1x3+x3x4
Schemat wewnętrzny układu oraz blokowy:
Kolejnym blokiem wykorzystywanym w układzie jest blok o nazwie „INC A” . Zadaniem tego bloku jest inkrementacja liczby z wejść A0…A3 (oznaczającej numer stopnia) oraz jeśli numer stopnia (A0…A3) jest mniejszy od starszej połówki transkodowanej liczby na danym stopniu (B0…B3), wystawiany jest stan wysoki na wyjściu „A<B” (stan ten podawany jest na wejście C bloku „NKB 2 BCD”.
Poniżej schematy bloku „INC A”:
Użyty komparator 1 bitowy ma za zadanie porównać poszczególne bity wejść A0…A3
B0…B3 i jeśli liczba A<B wystawić na wyjściu A<B wartość logicznej „1”.
Schemat wewnętrzny komparatora (dokładny opis działania komparatora był opisywany w sprawozdaniu z bloków kombinacyjnych):
Po połączeniu zgodnie z algorytmem wszystkich bloków ze sobą , w celu prezentacji poprawnego działania układu transkodera „odmiany +6 ”, dodaliśmy dwa wyświetlacze 7-segmentowe sterowane za pomocą wcześniej utworzonego dekodera BCD->7SEG .
Końcowy schemat układu „Odmiany +6” transkodera liczby 8-bitowej z naturalnego kodu binarnego na kod BCD:
Jak widać układ działa poprawnie.
Wnioski:
Ćwiczenie pozwoliło nam na zapoznanie się z budową dekodera kodu BCD na kod wyświetlacza 7-segmentowego a także z metodami projektowania trans kodera kodu NKB na BCD dwoma metodami ( w dwóch odmianach) . Jako można było zauważyć algorytmy takiej konwersji są dość złożone i nie łatwe w realizacji .