PANSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLAGU

INSTYTUT INFORMATYKI STOSOWANEJ

LABORATORIUM ELEKTRONIKI I MIERNICTWA

Grupa dziekańska /

podgrupa ćwiczeniowa: VI / III

Tytuł ćwiczenia: 9. Układy cyfrowe kombinacyjne

Skład grupy:

Data wykonania

/data oddania:

Ocena:

SPRAWOZDANIE Z LABORATORIUM ELEKTRONIKI I MIERNICTWA

ćwiczenie nr 9

Układy cyfrowe kombinacyjne

  1. Wykaz i dane znamionowe elementów i przyrządów użytych w ćwiczeniu:

• Zasilacz stabilizowany HY3010

• Bramka NAND 7400

• Bramka XOR 7486

• Demultiplekser „1 z 8” 74138

Rys.1. Schemat do badania tablicy prawdy bramki NAND

0x01 graphic

Rys.2. Schemat do badania tablicy prawdy bramki XOR

0x01 graphic

Rys.3. Schemat do badania tablicy prawdy demultipleksera

0x01 graphic

  1. Przebieg ćwiczenia:

Po podłączeniu bramek NAND i XOR oraz demultipleksera do zasilacza stabilizowanego zaczęliśmy określać tablice prawdy dla poszczególnych bramek oraz sprawdzaliśmy sprawność działania demultipleksera. Określiliśmy jakimi stanami aktywowane są poszczególne urządzenia cyfrowe.

TABELE POMIAROWE

Bramka NAND

A

B

Q

Q

[bin]

[dec]

0

0

1

0

0

1

1

1

1

0

1

2

1

1

0

3

Bramka XOR

A

B

Q

Q

[bin]

[dec]

0

0

0

0

0

1

1

1

1

0

1

2

1

1

0

3

Demultiplekser

Wejścia adresowe

Wyjścia „1 z 8”

Q

A1

A2

A3

0

1

2

3

4

5

6

7

[dec]

0

0

0

1

0

0

0

0

0

0

0

128

0

0

1

0

0

0

0

1

0

0

0

8

0

1

0

0

0

1

0

0

0

0

0

32

0

1

1

0

0

0

0

0

0

1

0

2

1

0

0

0

1

0

0

0

0

0

0

64

1

0

1

0

0

0

0

0

1

0

0

4

1

1

0

0

0

0

1

0

0

0

0

16

1

1

1

0

0

0

0

0

0

0

1

1

  1. Kody programów do określania stanu bramek i demultipleksera:

Bramka NAND:

#include <stdio.h>

#include <conio.h>

void main()

{

int a,b,Q;

printf("BRAMKA NAND\n\n");

printf("Podaj A: ");

scanf("%d",&a);

printf("\nPodaj B: ");

scanf("%d",&b);

Q=2*a+1*b;

if ( Q==0 || Q==1 || Q==2 )

{

printf("\nWyjscie bramki jest w stanie wysokim");

}

else

{

if (Q==3)

{

printf("\nWyjscie bramki jest w stanie niskim");

}

else

{

printf("\nPodano zle wartosci logiczne");

}

}

getch();

}

Bramka XOR:

#include <stdio.h>

#include <conio.h>

void main()

{

int a,b,Q;

printf("BRAMKA XOR\n\n");

printf("Podaj A: ");

scanf("%d",&a);

printf("\nPodaj B: ");

scanf("%d",&b);

Q=2*a+1*b;

if ( Q==1 || Q==2 )

{

printf("\nWyjscie bramki jest w stanie wysokim");

}

else

{

if (Q==0 || Q==3)

{

printf("\nWyjscie bramki jest w stanie niskim");

}

else

{

printf("\nPodano zle wartosci logiczne");

}

}

getch();

}

Demultiplekser:

#include <stdio.h>

#include <conio.h>

void main()

{

int A,B,C,Q;

printf("Wartosci logiczne dla Demultipleksera 1 z 8\n\n");

printf("\nPodaj wartosc A: ");

scanf("%d",&A);

printf("\nPodaj wartosc B: ");

scanf("%d",&B);

printf("\nPodaj wartosc C: ");

scanf("%d",&C);

Q=4*A+2*B+1*C;

switch (Q)

{

case 0:

printf("Wartosc logiczna dla wyjscia 0 wynosi 1");

break;

case 1:

printf("Wartosc logiczna dla wyjscia 4 wynosi 1");

break;

case 2:

printf("Wartosc logiczna dla wyjscia 2 wynosi 1");

break;

case 3:

printf("Wartosc logiczna dla wyjscia 6 wynosi 1");

break;

case 4:

printf("Wartosc logiczna dla wyjscia 1 wynosi 1");

break;

case 5:

printf("Wartosc logiczna dla wyjscia 5 wynosi 1");

break;

case 6:

printf("Wartosc logiczna dla wyjscia 3 wynosi 1");

break;

case 7:

printf("Wartosc logiczna dla wyjscia 7 wynosi 1");

break;

default:

printf("Podano zle wartosci logiczne");

break;

}

getch();

}

  1. Spostrzeżenia i wnioski z ćwiczenia:

W ćwiczeniu tym porównywaliśmy naszą wiedzę teoretyczną na temat bramek NAND i XOR oraz demultipleksera „8 w 1”. Wszystkie zmiany stanów wejść odpowiadały naszej wiedzy na temat stanów wyjść. Dla przykładu, gdy obydwa wejścia bramki XOR były w stanie niskim, również wyjście tej bramki posiadało stan niski. W przypadku demultipleksera, którego używa się m.in. w telewizji przemysłowej, albo w wideokonferencjach, można było zauważyć przełączanie sygnałów z jednego wejścia na określone wyjście. I tak przy stanie wysokim trzech wejść, sygnał skierowany został na wyjście siódme. Zauważyliśmy również, że demultiplekser posiada działanie odwrotne do multipleksera.

Załączniki: - Załącznik nr 1 (Tabele pomiarowe)

Źródła:

„Elektrotechnika i elektronika dla nieelektryków” Hempowicz Paweł

„Elektronika dla elektryków” Opolski Andrzej

„Sztuka elektroniki” Paul Horowitz, Winfield Hill

2005-09-26