Ćwiczenie - bramki logiczne

Transkrypt

Ćwiczenie - bramki logiczne
Zespół Szkół Technicznych
i Ogólnokształcących Programowalne układy mikroprocesorowe
w Jarosławiu
stosowane
w elektronice i telekomunikacji
W ZAWODZIE TECHNIK
elektronik i telekomunikacji
Specjalizacja
Klasa: IV TE
Ćwiczenie nr
Temat: Bramki logiczne.
Napisz program który będzie realizował funkcje bramek logicznych NOT, AND, NAND, OR,
NOR, EX-OR, EX-NOR. Stany wejściowe zadawaj przyciskami S1 i S2, a jako wyjście
bramki zaświecaj cały jeden wybrany wyświetlacz. Stany przycisków reprezentuj za pomocą
zmiennych typu Bit. Do wykonywania operacji uŜyj operatorów logicznych not, and, or, xor,
do wykonania operacji NAND, NOR, EX-NOR wykorzystaj kombinację operatorów
logicznych.
AND
A
B
Y
0
0
0
0
1
0
1
0
0
1
1
1
NOR
A
B
Y
0
0
1
0
1
0
1
0
0
1
1
0
A
0
0
1
1
NAND
B
0
1
0
1
A
0
0
1
1
EX-OR
B
0
1
0
1
OR
B
0
1
0
1
Y
1
1
1
0
A
0
0
1
1
Y
0
1
1
0
EX-NOR
A
B
Y
0
0
1
0
1
0
1
0
0
1
1
1
Y
0
1
1
1
Przycisk wciśnięty – 1, przycisk puszczony – 0; wyświetlacz LED świeci – 1, nie świeci – 0,
Dlatego wejścia są zanegowane (polecenie not; wejścia w stanie spoczynku mają stan 1), a
stanem aktywnym wyjścia jest 0 -> wyświetlacz świeci (takŜe trzeba zanegować).
Przykładowe programy:
Bramka AND
$regfile = "m162def.dat"
$crystal = 8000000
‘definicja biblioteki procesora
‘ definicja częstotliwości taktowania
Config Portd.2 = Output
Set Portd.2
Config Portb = Output
Reset Portb
‘PORTD.2 jako wyjście
‘ustawienie PORTD.2 na wyjście
‘ustawienie PORTB jako wyjście
‘ustawienie PORTB w stan niski
Config Porte.0 = Input
Config Porte.2 = Input
‘ustawienie PORTE.0 jako wejście
‘ustawienie PORTE.2 jako wejście
Set Porte.0
Set Porte.2
‘podciągnięcie portu do „1”
‘podciągnięcie portu do „1”
Dim A As Bit
Dim B As Bit
Dim Y As Bit
‘deklaracja zmiennej A typu Bit
‘deklaracja zmiennej B typu Bit
‘deklaracja zmiennej Y typu Bit
Do
A = Not Pine.0
B = Not Pine.2
Y = A And B
Portd.2 = Not Y
‘początek pętli głównej
‘zapisanie do A stanu przycisku z PORTE.0
‘zapisanie do B stanu przycisku z PORTE.2
‘zapisanie do Y wyniku operacji A and B
‘wpisanie wyniku operacji na port
Loop
End
‘koniec pętli głównej
‘koniec programu
Bramka NAND
$regfile = "m162def.dat"
$crystal = 8000000
‘definicja biblioteki procesora
‘ definicja częstotliwości taktowania
Config Portd.2 = Output
Set Portd.2
Config Portb = Output
Reset Portb
‘PORTD.2 jako wyjście
‘ustawienie PORTD.2 na wyjście
‘ustawienie PORTB jako wyjście
‘ustawienie PORTB w stan niski
Config Porte.0 = Input
Config Porte.2 = Input
‘ustawienie PORTE.0 jako wejście
‘ustawienie PORTE.2 jako wejście
Set Porte.0
Set Porte.2
‘podciągnięcie portu do „1”
‘podciągnięcie portu do „1”
Dim A As Bit
Dim B As Bit
Dim Y As Bit
‘deklaracja zmiennej A typu Bit
‘deklaracja zmiennej B typu Bit
‘deklaracja zmiennej Y typu Bit
Do
A = Not Pine.0
B = Not Pine.2
Y = A And B
Portd.2 = Y
‘początek pętli głównej
‘zapisanie do A stanu przycisku z PORTE.0
‘zapisanie do B stanu przycisku z PORTE.2
‘zapisanie do Y wyniku operacji A and B
‘wpisanie wyniku operacji na port; not not
daje proste przypisanie;
‘koniec pętli głównej
‘koniec programu
Loop
End
Bramka OR
$regfile = "m162def.dat"
$crystal = 8000000
‘definicja biblioteki procesora
‘ definicja częstotliwości taktowania
Config Portd.2 = Output
Set Portd.2
Config Portb = Output
Reset Portb
‘PORTD.2 jako wyjście
‘ustawienie PORTD.2 na wyjście
‘ustawienie PORTB jako wyjście
‘ustawienie PORTB w stan niski
Config Porte.0 = Input
Config Porte.2 = Input
‘ustawienie PORTE.0 jako wejście
‘ustawienie PORTE.2 jako wejście
Set Porte.0
Set Porte.2
‘podciągnięcie portu do „1”
‘podciągnięcie portu do „1”
Dim A As Bit
Dim B As Bit
Dim Y As Bit
‘deklaracja zmiennej A typu Bit
‘deklaracja zmiennej B typu Bit
‘deklaracja zmiennej Y typu Bit
Do
A = Not Pine.0
B = Not Pine.2
Y = A Or B
Portd.2 = Not Y
‘początek pętli głównej
‘zapisanie do A stanu przycisku z PORTE.0
‘zapisanie do B stanu przycisku z PORTE.2
‘zapisanie do Y wyniku operacji A or B
‘wpisanie wyniku operacji na port
Loop
End
‘koniec pętli głównej
‘koniec programu
Bramka NOR
$regfile = "m162def.dat"
$crystal = 8000000
‘definicja biblioteki procesora
‘ definicja częstotliwości taktowania
Config Portd.2 = Output
Set Portd.2
Config Portb = Output
Reset Portb
‘PORTD.2 jako wyjście
‘ustawienie PORTD.2 na wyjście
‘ustawienie PORTB jako wyjście
‘ustawienie PORTB w stan niski
Config Porte.0 = Input
Config Porte.2 = Input
‘ustawienie PORTE.0 jako wejście
‘ustawienie PORTE.2 jako wejście
Set Porte.0
Set Porte.2
‘podciągnięcie portu do „1”
‘podciągnięcie portu do „1”
Dim A As Bit
Dim B As Bit
Dim Y As Bit
‘deklaracja zmiennej A typu Bit
‘deklaracja zmiennej B typu Bit
‘deklaracja zmiennej Y typu Bit
Do
A = Not Pine.0
B = Not Pine.2
Y = A Or B
Portd.2 = Y
‘początek pętli głównej
‘zapisanie do A stanu przycisku z PORTE.0
‘zapisanie do B stanu przycisku z PORTE.2
‘zapisanie do Y wyniku operacji A or B
‘wpisanie wyniku operacji na port; not not
daje proste przypisanie;
‘koniec pętli głównej
‘koniec programu
Loop
End
Bramka EX-OR
$regfile = "m162def.dat"
$crystal = 8000000
‘definicja biblioteki procesora
‘ definicja częstotliwości taktowania
Config Portd.2 = Output
Set Portd.2
Config Portb = Output
Reset Portb
‘PORTD.2 jako wyjście
‘ustawienie PORTD.2 na wyjście
‘ustawienie PORTB jako wyjście
‘ustawienie PORTB w stan niski
Config Porte.0 = Input
Config Porte.2 = Input
‘ustawienie PORTE.0 jako wejście
‘ustawienie PORTE.2 jako wejście
Set Porte.0
Set Porte.2
‘podciągnięcie portu do „1”
‘podciągnięcie portu do „1”
Dim A As Bit
Dim B As Bit
Dim Y As Bit
‘deklaracja zmiennej A typu Bit
‘deklaracja zmiennej B typu Bit
‘deklaracja zmiennej Y typu Bit
Do
A = Not Pine.0
B = Not Pine.2
Y = A Xor B
Portd.2 = Not Y
‘początek pętli głównej
‘zapisanie do A stanu przycisku z PORTE.0
‘zapisanie do B stanu przycisku z PORTE.2
‘zapisanie do Y wyniku operacji A xor B
‘wpisanie wyniku operacji na port
Loop
End
‘koniec pętli głównej
‘koniec programu
Bramka EX-NOR
$regfile = "m162def.dat"
$crystal = 8000000
‘definicja biblioteki procesora
‘ definicja częstotliwości taktowania
Config Portd.2 = Output
Set Portd.2
Config Portb = Output
Reset Portb
‘PORTD.2 jako wyjście
‘ustawienie PORTD.2 na wyjście
‘ustawienie PORTB jako wyjście
‘ustawienie PORTB w stan niski
Config Porte.0 = Input
Config Porte.2 = Input
‘ustawienie PORTE.0 jako wejście
‘ustawienie PORTE.2 jako wejście
Set Porte.0
Set Porte.2
‘podciągnięcie portu do „1”
‘podciągnięcie portu do „1”
Dim A As Bit
Dim B As Bit
Dim Y As Bit
‘deklaracja zmiennej A typu Bit
‘deklaracja zmiennej B typu Bit
‘deklaracja zmiennej Y typu Bit
Do
A = Not Pine.0
B = Not Pine.2
Y = A Xor B
Portd.2 = Y
‘początek pętli głównej
‘zapisanie do A stanu przycisku z PORTE.0
‘zapisanie do B stanu przycisku z PORTE.2
‘zapisanie do Y wyniku operacji A xor B
‘wpisanie wyniku operacji na port; not not
daje proste przypisanie;
‘koniec pętli głównej
‘koniec programu
Loop
End

Podobne dokumenty