8508


Podstawy elektroniki i techniki cyfrowej.

Ćwiczenie nr 9: Podstawy syntezy kombinacyjnych układów logicznych.

Kodery i dekodery.

  1. Projekt alarmu.

Należy zaprojektować obwód spełniający funkcję: zadanie włączenia alarmu, kiedy otwarte są którekolwiek z drzwi, a kierowca siedzi na swoim miejscu. Wejścia oznaczamy: L - lewe drzwi, P - prawe drzwi, S - kierowca, a wyjście jako Y. Alarm pobudzany jest stanem wysokim na tym wyjściu.

a) przyjmujemy, że czujniki generują stan logiczny 1 (H) gdy drzwi są otwarte /
kierowca siedzi

Alarm ma być włączany w przypadku, gdy kierowca siedzi na miejscu, a którekolwiek z drzwi zostały otwarte. Na podstawie tych informacji tworzymy tabelę:

L

P

S

Alarm

0

0

0

0

0

0

1

0

0

1

0

0

1

0

0

0

0

1

1

1

1

0

1

1

1

1

0

0

1

1

1

1

A = (~L ∧ P ∧ S) ∨ (L ∧ ~P ∧ S) ∨ (L ∧ P ∧ S)

Aby zminimalizować otrzymaną funkcję A użyjemy tablicy Karnaugha:

S \ LP

00

01

11

10

0

0

0

0

0

1

0

0x08 graphic
1

0x08 graphic
1

1

Otrzymujemy znacznie prostszą postać funkcji:
A = (P ∧ S) ∨ (L ∧ S)

Stąd: A = S ∧ (P ∨ L)

Do zbudowania układu potrzebne będą więc tylko 2 bramki: AND i OR.

Gotowy układ wygląda następująco i działa zgodnie z założeniami:

0x01 graphic

b) przyjmujemy, że czujniki generują stan logiczny 0 (L) gdy drzwi są otwarte /
kierowca siedzi

Ponownie dane o układzie gromadzimy w tablicy Karnaugha:

0x08 graphic
S \ LP

0x08 graphic
00

01

11

0x08 graphic
0x08 graphic
10

0

1

1

0

1

1

0

0

0

0

Funkcja wynikowa wygląda następująco: A = (~S ∧ ~L) ∨ (~P ∧ ~S)

A = ~S ∧ (~L ∧ ~P) A = ~S ∧ ~(L ∧ P)

Stąd: A = ~(S ∨ (L ∧ P))

Do budowy układu użyliśmy 2 bramek: AND i NOR:

0x01 graphic

  1. Transkoder kodu BCD na kod wskaźnika 7-segmentowego.

Naszym zadaniem jest zbudowanie układu sterującego 7-segmentowym wyświetlaczem.

0x08 graphic

Wyświetlacz ma 7 wejść - każde odpowiada ze zapalenie kolejnego segmentu (a-g). Dany segment jest załączony, gdy na jego wejście
podany jest stan logiczny 0 (L).

Dla uproszczenia bieremy pod uwagę tylko liczby od 0 do 7.
Wtedy do reprezentacji binarnej każdej z liczb wystarczą tylko 3 bity.

W poniższej tabeli umieszczone są dane o stanie wszystkich segmentów w zależności
od syganłów podanych na wejścia A, B, C.

liczba

segmenty wyświetlacza

dec.

kod BCD

A

B

C

a

b

c

d

e

f

g

0

0

0

0

1

1

1

1

1

1

0

1

0

0

1

0

1

1

0

0

0

0

2

0

1

0

1

1

0

1

1

0

1

3

0

1

1

1

1

1

1

0

0

1

4

1

0

0

0

1

1

0

0

1

1

5

1

0

1

1

0

1

1

0

1

1

6

1

1

0

1

0

1

1

1

1

1

7

1

1

1

1

1

1

0

0

0

0

Dla każdego segmentu wyznaczamy funkcję określającą jego stan przy użyciu tablic Karnaugha:

Segment „a”

C \ AB

00

01

11

0x08 graphic
10

0

0x08 graphic
0

0

0

1

1

1

0

0

0

a= (~A ∧ ~B ∧ C) ∨ (A∧ ~B ∧ ~C) = ~B ∧ ((~A ∧ C) ∨ (A ∧ ~C))

Segment „b”

C \ AB

00

01

0x08 graphic
11

10

0

0

0

1

0x08 graphic
0

1

0

0

0

1

b= (A ∧ B ∧ ~C) ∨ (A ∧ ~B ∧ C) = A ∧ ((B ∧ ~C) ∨ (~B ∧ C))

Segment „c”

C \ AB

00

0x08 graphic
01

11

10

0

0

1

0

0

1

0

0

0

0

c= ~A ∧ B ∧ ~C = ~(A ∨ C) ∧ B

Segment „d”

C \ AB

00

01

11

0x08 graphic
10

0

0x08 graphic
0

0

0x08 graphic
0

1

1

1

0

1

0

d= (~A ∧ ~B ∧ C) ∨ (A ∧ B ∧ C) ∨ (A ∧ ~B ∧ ~C) =

C ∧ (~(A ∨ B) ∨ (A ∧ B)) ∨ (A ∧ ~(B ∨ C))

Segment „e”

C \ AB

00

01

11

0x08 graphic
10

0

0x08 graphic
0

0

0

1

1

1

1

1

1

e= C ∨ (A ∧ ~B)

Segment „f”

C \ AB

00

01

11

10

0

0x08 graphic
0

0x08 graphic
0x08 graphic
1

0

0

1

1

1

1

0

f= (~A ∧ C) ∨ (~A ∧ B) ∨ (B ∧ C) = (~A ∧ (C ∨ B)) ∨ (B ∧ C)

Segment „g”

C \ AB

0x08 graphic
00

01

11

10

0

1

0

0x08 graphic
0

0

1

1

0

1

0

g= (~A ∧ ~B) ∨ (A ∧ B ∧ C) = ~(A ∨ B) ∨ (A ∧ B ∧ C)

Mając te dane możemy już skonstruować układ sterujący wyświetlaczem:

0x01 graphic

Liczby w kodzie BCD podajemy na 3 wejścia używając generatora słów. Na wyświetlaczu obserwujemy zmieniające się od 0 do 7 liczby.

strona 1/5



Wyszukiwarka