Mikrokontrolery cz17.pdf

(763 KB) Pobierz
1128256 UNPDF
Też to potrafisz
Dzisiejszy odcinek cyklu o mikrokon−
trolerach rodziny 8051 poświęcimy
układom peryferyjnym I/O, czyli tzw.
wejścia−wyjścia (ang. "Input/Output).
Omówione zostaną typy układów,
najciekawsze rozwiązania konstruk−
cyjne, od tych najprostszych do
nieco bardziej skomplikowanych.
Aby jednak zachować związek z
cyklem o mikroprocesorach ,
wszyskie przedstawione w artykule
układy będą w 100% kompatybilne
z komputerkiem edukacyjnym AVT−
2250, z którym wielu z Was, drodzy
Czytelnicy pracuje już od kilku
miesięcy. Zapoznamy się z kilkoma
rozwiązaniami praktycznymi, a ana−
liza przykładowych procedur obsługi
tych układów pozwoli na zrozumie−
nie zasady ich działania oraz nauczy
każdego elastycznie dołączać
dodatkowe urządzenia wejścia−wyjś−
cia do dowolnego układu mikropro−
cesorowego, opartego o procesory
serii '51, a także podobne.
Mikrokontrolery?
To takie proste...
Część 17
Peryferyjne układy wejścia−wyjścia
Co to są właściwie te układy wejścia/wyjścia i do czego służą?.
Najprostszą odpowiedzią na to pytanie niech będzie przykład, kiedy to
za pomocą mikroprocesora (pracującego np. w układzie komputerka
edukacyjnego − z zewnętrzną magistralą danych) chcemy wysterować
wiele (np. 20) żarówek, zapalając je na przemian, tak jak to się dzieje w
przypadku popularnych węży świetlnych. Każdy w tym miejscu powie,
że do tego potrzebne będą układy pośredniczące (tzw. mocy), bowiem
jak wiemy obciążalność prądowa wyjść portów procesora jest niewiel−
ka, zresztą żarówki pracują w większym zakresie napięć, toteż dołącze−
nie ich bezpośrednio do mikrokontrolera z pewnością przyczyniło by się
do jego uszkodzenia. Jest to prawdą, ale czy do końca? Odpowiedź z
pewnością znajdziecie w niniejszym artykule.
PROSTE UKŁADY WYJŚCIOWE
Na rys.1 pokazano przykładowe dołączenie 8−miu niskonapięciowych
żarówek do jedynego, wolnego portu procesora 8051, pracującego z
zewnętrzną pamięcią programu − tak jak nasz komputerek edukacyjny.
Jak widać w naszym przykładzie zastosowano, jako bufor mocy popu−
larny układ ULN2803, który jest ośmiokrotnym buforem mocy,
dodatkowo zabezpieczony diodami zwrotnymi przed przepięciami.
Zamiast takiego układu, można np. posłużyć się bramkami TTL z
otwartym kolektorem i wyjściami wysokonapięciowymi. Do takich
układów należą np.:
7406 − 6−krotny inwerter z wysokonapięciowym wyjściem (do +30V)
typu otwarty kolektor. Ociążalność każdej bramki wynosi dodatkowo 10
wejść TTL.
7407 − 6−krotny wzmacniacz, bufor, z wysokonapięciowym wyjściem
(do +30V) typu otwarty kolektor.
Obciążalność każdej bramki wynosi
25 wejśc TTL.
7438 − 4 dwuwejściowe braki
NAND typu otwarty kolektor ze
zwiększoną obciążalnością do 30
wejść TTL.
Nie będę tu przytaczał
schematów wewnętrznych tych
układów, wszystkie one mniej lub
bardziej dokładnie zostały
omówione w cyklu artykułów
"Pierwsze kroki w cyfrówce" w
EdW. Na rys.2 przedstawiono
sposób na zwiększenie
obciążalności wyjść procesora za
pomocą jednego z w/w układów
do sterowania sekcją 6−ciu
przekaźników. Do tego celu
zaprzęgnięto 1 układ 7407.
Dodatkowo każdą cewkę
przekaźnika zbocznikowano diodą
małosygnałową w celu tłumienia
przepięć tworzących się w cewce
podczas zdejmowania napięcia z jej
zacisków.
Rys. 1 Dołączenie sekcji żarówek do procesora 8051
E LEKTRONIKA DLA WSZYSTKICH 10/98
37
1128256.036.png 1128256.037.png 1128256.038.png 1128256.039.png
Też to potrafisz
Rys.2 Sterowanie przekaźnikami za pomocą portu P1 procesora.
impedancji, co dla bramek TTL jest po pros−
tu jedynką. Dlatego w takiej sytuacji
przekaźniki pozostaną wyłączone.
Dlatego w tak prostych układach
sterowania, np. przekaźnikami nie zaleca się
stosowania bramek np. 7406.
Wspominałem o tym już w pierwszych
dwóch numerach klasy mikroprocesorowej
ponad rok temu.
Przedstawione powyżej przypadki to
najprostsze z możliwych przykłady urządzeń
wyjścia (ang. "Output") w układach mikro−
procesorowych. I nie są to bynajmniej
wspominane żarówki, czy przekaźniki oraz
towarzyszące im elementy, ale "to co nimi
steruje". W tym przypadku jest to port P1
procesora − to on był właśnie układem wyjś−
cia, wyposażone dodatkowo w bufory
zwiększające jego obciążalność.
PROSTE UKŁADY
WEJŚCIOWE
Często zachodzi potrzeba monitorowania
stanów logicznych na kilku liniach jed−
nocześnie i podejmowania w związku z tym
określonych działań. Najprostszym
przykładem jest "obserwacja" przez procesor
linii dozorowych w systemie alarmowym. Na
rys.3 pokazano uzbrojone wejścia portu P1, jako najprostszy układ
wejściowy procesora. Rolę buforów wejściowych pełnią bramki zabez−
pieczone dodatkowo na wejściach przez przepięciami diodami
małosygnałowymi lub transilami. Te ostatnie to nowoczesne elementy
potrafiące "gasić" przepięcia sięgające kilkuset woltów i trwające
mikrosekundy − a więc bardzo krótko, wystarczająco jednak długo aby
zniszczyć bramkę, a co za tym idzie cały układ scalony. Oczywiście nie
muszę w tym miejscu przestrzegać przez bezpośrednim dołączaniem
wysokonapięciowych linii zewnętrznych do wejść procesora, może
mieć to bowiem złe skutki i spowodować awarię całego systemu.
W układzie w celu wyeliminowania stanów przejściowych zas−
tosowano bramki Schmitta zawarte w popularnym układzie 74132. Taki
system pozwala na monitorowanie sygnałów cyfrowych
nadchodzących np. ze znacznej (jak na układy cyfrowe) odległości, czyli
już od 50 cm w górę nawet do kilku metrów. Układy wejściowe dos−
tosowane do większych napięć przedstawimy przy innej okazji, już teraz
można jednak stosować chociażby np. proste dzielniki napięcia
dodatkowo transilami lub diodami.
Odczyyt stanu na danym wejściu możliwy jest podobnie jak w przy−
padku wyjść. Można więc odczytać cały port na raz np. za pomocą
instrukcji:
MOV A, P1
a potem analizować poszczególne bity akumulatora, lub monitorować
każdy pin portu oddzielnie. Nie należy jednak zapomnieć, aby przedtem
zainicjować końcówkę portu jako wejście wpisując do rejestru tego
portu logiczną jedynkę, za pomocą instrukcji:
SETB
Aby zilustrować sterowanie taką sekcją przekaźników posłużmy się
przykładem. Otóż aby załączyć np. tylko wyjścia OUT1, OUT2 i OUT5,
należy wykonać instrukcję:
MOV P1, #101100b ;wyzerowanie bitów − końcówek
0, 1 i 4 portu P1
Wyzerowanie odpowiednich końcówek portu P1 spowoduje "otwar−
cie" wyjścia odpowiedniej bramki i załączenie przekaźnika. Te przekaźni−
ki, które mają pozostać wyłączone, powinny mieć ustawione odpowied−
nie bity rejestru portu P1. W naszym przykładzie są to bity 2, 3 i 5 (bity
numeruje się od zera), co odpowiada przekaźnikom OUT3, OUT4 i
OUT6.
Można także włączyć lub wyłączyć dowolny przekaźnik oddzielnie,
jaką instrukcją, to zapewne już wiecie, ano chociażby włączenie
przekaźnika OUT4 realizowane jest za pomocą polecenia:
CLR P1.3
;włączenie przekaźnika OUT4
a wyłączenie
SETB P1.3 ;wyłączenie przekaźnika OUT4
Zauważmy że takie sterowanie przekaźnikami "od plusa" zasilania
(kiedy cewka znajduje się po stronie dodatniego napięcia a nie masy) w
układach procesorowych dodatkowo zabezpiecza przekaźniki, przed
przypadkowym, krótkotrwałym włączeniem w przypadku, kiedy
uruchamiamy cały układ. Jak bowiem wiecie z poprzednich odcinków
klasy mikroprocesorowej, procesor po włączeniu zasilania "zeruje się" i
na wszystkich jego portach wstępnie ustawiają się stany wysokiej
Rys.3 Najprostszy sposób na bezpieczny monitorowanie sygnałów niskonapięciowych z zakresu −0,5...
+5,5V.
P1.x
gdzie x − oznacza numer końcówki
portu P1. Sytuacja taka jest konieczna
tylko wtedy, kiedy od momentu uru−
chomienia (zasilenia) procesora, port
P1 (lub niektóre jego piny) były wyko−
rzystywane jako wyjścia pracujące w
stanie logicznego "0".
Toteż jeżeli przedtem użyłeś
polecenia np.
CLR P1.5 ;ustawienie stanu
logicznego "0" na
końcówce 6
procesora
zerowałeś jakieś piny portu P1
poleceniem
MOV P1, xx
38
E LEKTRONIKA DLA WSZYSTKICH 10/98
1128256.001.png 1128256.002.png 1128256.003.png 1128256.004.png 1128256.005.png 1128256.006.png 1128256.007.png 1128256.008.png 1128256.009.png 1128256.010.png 1128256.011.png
Też to potrafisz
Rys.4 Dołączenie zewnętrznego portu wyjściowego
podanie wysokiego poziomu
logicznego na wejście C (pin
11) układu 74LS573 powoduje
przeniesienie stanów log−
icznych panujących na wejści−
ach D1...D8 tego układu
odpowiednio na wyjścia
Q1...Q8. Wejście OC steruje
trójstanowymi wyjściami
Q1...Q8. Podanie stanu
niskiego na tę końcówkę
powoduje odblokowanie wyjść
Q1...Q8, dzięki czemu zatrza−
śnięte z wejść D1...D8 stany
logiczne pojawią się na wyjści−
ach układu U1.
Utrzymywanie tej końcówki
w stanie logicznej "1" powodu−
je ustawienie wszystkich
wyjść w stan wysokiej imped−
ancji.
W tabeli 1 przypominam
zasadę działania układu 74573.
Znaczenie symboli jest
następujące:
gdzie xx to albo stała albo rejestr zawierający liczbę z wyzerowanymi
bitami
powinieneś, przed użyciem tego pinu jako wejścia, ustawić w
rejestrze portu P1 jego bit, np. poleceniem:
SETB P1.5
tylko raz, a potem odczytywać stan końcówki, gdy zajdzie potrzeba
przy pomocy instrukcji np.
MOV C, P1.5
lub testować końcówkę portu wprost za pomocą instrukcji np.
skoków warunkowych
JB
Z – stan wysokiej impedancji
H – stan wysoki (logiczny)
L – stan niski (logiczny)
x – stan nieistotny (dowolny)
Tabela 1
wejścia
wyjścia
OC
C
D
Q
H
x
x
Z
L
L
x
bez zmian
P1.5, ustawiony
L
H
L
L
...... ; instrukcje, gdy stan na pinie 5 portu P1 jest niski
ustawiony:
......
L
H
H
H
; instrukcje, gdy stan na tej końcówce jest wysoki
Ponieważ w naszym przykładzie układ U1 pracuje jako wyjściowy,
końcówkę OC dołączyliśmy do masy, tak aby na wyjściach panował
stan − zatrzaśnięty z wejść D1...D8 podczas opadającego zbocza
sygnału na wejściu "C" (pin 11).
Nie wchodząc na początku w szczegóły powiem, że układ z rys.4
pozwala na zapamiętanie stanów cyfrowych na ośmiu wyjściach
(Q1...Q8) układu U1 za pomocą instrukcji:
MOV
... ZA MAŁO..., ODWIECZNY PROBLEM
W praktyce, kiedy mamy do czynienia z procesorami 8051
pracującymi z zewnętrzną pamięcią programu, do wykorzystania
pozostaje jedynie port P1 oraz niektóre końcówki portu P3. Porty P0 i
P2 są zajęte generowaniem sygnałów na szynie adresowej w celu
odczytu kolejnych instrukcji z pamięci programu − EPROM, lub
odczytem / zapisem danych do zewnętrznej pamięci danych (SRAM).
Wtedy w najlepszej sytuacji mamy do wykorzystania wolne piny:
− P1.0... P1.7 − 8 końcówek
DPTR, #IO4
MOV
A, #10101010b
− P3.2 (INT0), P3.3 (INT1), P3.4 (T0), P3.5 (T1), P3.0 (RXD), P3.1 (TXD) −
4 końcówki
MOVX @DPTR, A
W przykładzie tym wykonanie instrukcji spowoduje ustawienie na
przemian stanów logicznych wysokich i niskich na końcówkach Q1...Q8
portu U1. Stanie się tak za sprawą zapisania liczby 10101010b pod
adres w zewnętrznej przestrzeni adresowej od adresu IO4 (A000h).
Przeanalizujmy zapis do układu U1. Procesor wykonując instrukcję
MOVX,... powoduje pojawienie się stanu niskiego na końcówce IO4
złącza komputerka w przypadku kiedy w rejestrze DPTR znajdzie się
dowolny adres z zakresu A000h...BFFFh. Równocześnie w momencie
zapisu do rejestru procesor podaje stan niski na linię /WR, co w efekcie
powoduje powstanie stanu wysokiego na wyjściu braki 74LS02 (rys.4),
która realizuje negację sumy logicznej sygnałów /WR i /IO4. Wysoki
stan na wyjściu tej bramki powoduje zapisanie danych D0...D7 z szyny
danych procesora 8051 do rejestru U1, a dzięki temu, że wejście /OC
U1 jest zwarte do masy, dane te pojawią się natychmiast na wyjściach
Q1...Q8 zatrzasku U1.
W ten sposób za pomocą jednej bramki logicznej, jednego układu
scalonego (U1) oraz trzech instrukcji zrealizowaliśmy prosty układ portu
wyjściowego o ośmiu wyjściach. Wyjścia tse, podobnie jak opisy−
wanego wcześniej portu P1, można teraz wykorzystać do dowolnych
celów, np.. do sterowania układami wykonawczymi dowolnych
urządzeń, np. 8−kanałowego węża świetlnego.
− P3.6 (WR) i P3.7 (RD) − dodatkowo 2 końcówki, jeżeli nie korzystamy
z zewnętrznej pamięci danych
W sumie więc mamy do dyspozycji 16 uniwersalnych końcówek
wejścia/wyjścia (I/O). Niestety często okazuje się że to stanowczo za
mało. Wtedy z pomocą może nam przyjść rozbudowanie układów wejś−
cia/wyjścia za pomocą dodatkowych układów cyfrowych (np. serii TTL),
dołączonych do magistrali procesora.
Dzięki takim układom oraz za pomocą instrukcji odwołujących się do
zewnętrznej pamięci danych (MOVX.....) możliwe jest "ustawianie" lub
odczytywanie większej − praktycznie dowolnej ilości końcówek
cyfrowych.
Na rys.4 przedstawiony jest dobudowany do magistrali komputerka
edukacyjnego prosty układy wyjściowy. BUS_2250 to złącze − magis−
trala komputerka znajdująca się na płytce bazowej w postaci 2−rzę−
dowego 40−pinowego złącza, na jej krawędzi.
Zastosowano układ scalony, 74LS573, który jest 8−bitowym latch'em,
znanym z konstrukcji komputerka AVT−2250, gdzie pełnił rolę zatrzasku
młodszej części 16−bitowego adresu. Dla przypomnienia powiem, że
E LEKTRONIKA DLA WSZYSTKICH 10/98
39
1128256.012.png
Też to potrafisz
MOV A, # 11001100b
Rys.5 Jeden ze sposobów na rozbudowanie ilości układów I/O procesora.
MOVX @DPTR, A
wcześniej należy jednak umieścić deklarację
opisującą zapis: IO4_U3, tzn.
IO4_U3 equ A002h
;bo IO4=A000h +2 (ofset U3)
Można także zapisać adres od razu do rejestru
DPTR, instrukcją:
MOV DPTR, #A002h
a efekt będzie ten sam.
W układzie z rys.5 sygnały /IO4 i /WR zostały
dołączone do dwóch wejść zezwalających
dekodera U9, dzięki czemu w momencie gdy
jeden i drugi przyjmuje stan "0" dekoder zostaje
odblokowany i uaktywnione zostaje (stanem
niskim) jedno z 8−miu wyjść układu U9, zależnie
od stanu linii adresowych A2...A0.
Stan niski z wyjścia dekodera U9 zostaje zane−
gowany przez dołączoną do niego bramkę
negacji (NOT) a następnie w postaci dodatniego
impulsu (zapisu) powoduje zatrzaśnięcie danych
D0...D7 z magistrali komputerka w jednym z
rejestrów 74LS573. Reasumując aby "wys−
terować" poszczególne rejestry, i każde z ich 8−
miu wyjść, należy do DPTR wpisać ich
odpowiednie adresy, i tak:
dla U1 − MOV DPTR, #0A000h
Zapisując dowolne, zależne od sytuacji wartości za pomocą instrukcji
podanych w ostatnim przykładzie (w miejsce #10101010b) możemy
wpływać na stany 8−miu wyjść portu U1, a dzięki temu sterować
maksymalnie 8−moma urządzeniami zewnętrznymi.
Na rys.5 przedstawiłem sposób na powiększenie ilości układów wyjś−
ciowych. Jak widać do tego celu wykorzystano dodatkowy układ
dekodera 74LS138 (U9). Dzięki takiemu rozwiązaniu, za pomocą 1
dekodera '138 możliwe jest zaadresowanie maksymalnie 8−miu
rejestrów typu 74LS573. Aby zrozumieć schemat ideowy najlepiej jest
znaleźć podobieństwa z rys.4. W tym przypadku dekoder U9 dekoduje
3 najmłodsze linie adresowe magistrali procesora: A2,A1 i A0. Dzięki
temu każdy z rejestrów 74LS573 może być zapisany oddzielnie, za
pomocą sekwencji instrukcji podanych w poprzednim przykładzie, z
tym że inne będą wartości wpisywane do rejestru DPTR. I tak aby np.
zaadresować (zapisać) rejestr U3 należy posłużyć się instrukcjami:
MOV
dla U2
− MOV DPTR, #0A001h
dla U3 − MOV DPTR, #0A002h
dla U8 − MOV DPTR, #0A007h
a następnie wykonać zapis do akumulatora stanu 8−miu wyjść
danego rejestru, np. :
MOV A, 11111110b
;tylko wyjście Q8 w stanie "0", reszta "1"
DPTR, #IO4_U3
i wykonać zapis
MOVX @DPTR, A
i to wszystko, prawda że proste!
Na rys.5 nie pokazano, ze względu na oszczędność miejsca
dołączenia pozostałych 5−ciu rejestrów U4...U8, ale sposób sterowania
i podłączenia do dekodera jest identyczny jak w przypadku U1...U3,
czyli do wyjść dekodera U9 poprzez
bramki negacji.
We wszystkich pokazanych
przykładach można używać układów w
wersjach CMOS, np. 74HCT138,
74HCT04, 74HCT573, itp., należy jed−
nak pamiętać aby uwzględnić mniejszą
obciążalność wyjść tych ostatnich przy
dołączaniu dodatkowych układów wyjś−
ciowych. Uwaga ta będzie dotyczyć
także pozostałych przedstawionych w
artykule przykładów.
No dobrze, układy wyjściowe,
umożliwiające sterowanie zewnętrzny−
mi urządzeniami mamy w zasadzie
omówione, no przynajmniej te najprost−
sze rozwiązania. Pora przejść do
układów, które umożliwią odczyt
zewnętrznych stanów logicznych przez
procesor, krótko mówiąc "badanie"
cyfrowych sygnałów dochodzących z
zewnątrz do układu komputerka.
Rysunek 6 przedstawia prosty
sposób na sterowanie zapisem i
odczytem 8−miu zewnętrznych linii
cyfrowych. Spójrzmy przez chwilę
jedynie na zastosowanych tu nowy
układ scalony U2 – 74LS541.
Jest to 8−mio bitowa "brama", dzięki
które możliwy jest transfer danych z jej
Rys.6 Sposób na wykorzystanie tego samego adresu do sterowania zapisem (U1) i odczytem (U2)
sygnałów cyfrowych.
40
E LEKTRONIKA DLA WSZYSTKICH 10/98
1128256.013.png 1128256.014.png 1128256.015.png 1128256.016.png 1128256.017.png 1128256.018.png 1128256.019.png 1128256.020.png 1128256.021.png 1128256.022.png 1128256.023.png 1128256.024.png 1128256.025.png
Też to potrafisz
wejść (A1...A8) na wyjścia (Y1...Y8) w momencie,
kiedy oba sygnały sterujące G1, G2 znajdują się w
stanie niskim. Innymi słowy, kiedy podamy na
wejścia G1, G2 stan niski, to "to" co pojawi się na
wejściu (np. A1) pojawi się także na wyjściu Y1.
W przeciwnym przypadku, gdy jedno (lub oba)
wejścia znajdują się w stanie wysokim, wszystkie
wyjścia Y1...Y8, znajdują się z stanie wysokiej
impedancji. Dzięki temu m.in. możliwe jest zas−
tosowanie tych układów w systemach mikropro−
cesorowych, takich jak komputerek edukacyjny.
Tabela 2 opisuje działanie układu.
Tabela 2
wejścia
wyjścia
G1
G2
A
Y
H
x
x
Z
x
H
x
Z
Rys.7 Zastosowanie układu demultipleksera jako dekodera adresów
L
L
L
L
W tym miejscu bardziej wnikliwi czytelnicy mogą dostrzec problem,
który może pojawić się jeżeli w obszarze adresowym dekodowanym
przez sygnał IO4 pojawi się inny układ, np. pamięć (lub jej część) staty−
czna SRAM. Wtedy odczytując port U2 (adres 0A000h) odczytana może
zostać komórka w pamięci SRAM. W przypadku gdy obie dane
pochodzące z portu i pamięci nie będą zgodne nastąpi efekt iloczynu
montażowego, który w najbardziej niekorzystnym przypadku (przy
użyciu układów serii LS) może spowodować uszkodzenie pamięci lub
portu U2. Dlatego w przykładach omawianych w niniejszym artykule,
należy sprawdzić, aby pamięć SRAM w komputerku miała pojemność
8kB (typ 6264). W przypadku gdy posiadasz pamięć 62256 (32kB),
należy przełączyć zworę JP3 na płytce bazowej komputerka na adres
C000h a programy testujące porty I/O opisane w artykule, kompilować
oczywiście z dyrektywą:
ORG C000h
Na rys.7 przedstawiono sposób na zwiększenie liczby sygnałów
wyboru I/O do 16−tu za pomocą zwykłego układu demultipleksera
74LS154. Dzięki takiemu dołączeniu linii adresowych oraz sygnału /IO4
komputerka do układu U1, w prosty sposób uzyskujemy dodatkowe
linie sterujące dowolnymi urządzeniami np. I/O, takimi jakie opisałem
wcześniej. W układzie z rys.7 poszczególne wyjścia IO5...IO20
odpowiadają następującym adresom:
L
L
H
H
Popatrzmy na tę część schematu, która odnosi się do układu U2,
bowiem sposób podłączenia U1 i bramki NOR został już omówiony.
Podobnie jak w przypadku układu wyjściowego (U1) podłączony został
bufor wejściowy U2. W tym przypadku obyło się jednak bez korzysta−
nia z dodatkowej bramki sumy logicznej, bowiem, wykorzystano dwa
wejścia zezwalające G1 i G2 układu 74LS541. Jedno z tych wejść
dołączono do sygnału /RD procesora, a drugie do sygnału /IO4, który jak
wiemy przyjmuje stan niski w momencie adresowania obszaru
A000h...BFFFh procesora. W ten prosty sposób, kiedy np. chcemy
odczytać stany wejść A1...A8 układu U2, możemy to zrobić za pomocą
instrukcji:
MOV
DPTR, #IO4
MOVX A, @DPTR
i to wszystko. W akumulatorze znajdzie się liczba, której
poszczególne bity odpowiadają stanom na wejściach A1...A8 w
momencie odczytu (tzn. kiedy sygnał /RD przyjmuje stan niski) przez
mikroprocesor portu U2.
IO5, adres A000h
IO6, adres A001h
IO7, adres A002h
IO8, adres A003h
IO9, adres A004h
IO10, adres A005h
IO11, adres A006h
IO12, adres A007h
IO13, adres A008h
IO14, adres A009h
IO15, adres A00Ah
IO16, adres A00Bh
IO17, adres A00Ch
IO18, adres A00Dh
IO19, adres A00Eh
IO20, adres A00Fh
Na kolejnym rysunku 8 pokazany jest
sposób na generowanie wielu sygnałów
wyboru I/O za pomocą kaskadowo
połączonych dekoderów 74138. Jak widać,
dzięki układowi U1 możliwe jest wys−
terowanie kolejnych dekoderów U2...U9 i w
efekcie uzyskanie 64 sygnałów wyboru.
Analizując powyższy schemat należy zwró−
cić uwagę na sposób dołączania poszczegól−
nych linii adresowych do wejść A,B i C
dekoderów 74138.
Zrozumienie zasady łączenia wejść
adresowych pozwoli na samodzielne,
dowolne organizowanie przestrzeni
adresowej procesora. Kolejne przykłady
przybliżą Ci to, drogi Czytelniku.
Rys.8 Sposób na kaskadowe łączenie dekoderów 74138
E LEKTRONIKA DLA WSZYSTKICH 10/98
41
1128256.026.png 1128256.027.png 1128256.028.png 1128256.029.png 1128256.030.png 1128256.031.png 1128256.032.png 1128256.033.png 1128256.034.png 1128256.035.png
Zgłoś jeśli naruszono regulamin