K U R S
Podstawy projektowania systemów
mikroprocesorowych, część 3
W trzeciej czÍÅ›ci artykuÅ‚u przedstawiamy podstawowe zagadnienia
zwiÄ…zane z obsÅ‚ugÄ… programowanych portÛw wejśĘ-wyjśĘ
w mikrokontrolerach '51. Jak dowodzÄ… otrzymywane przez nas pytania,
tematyka ta jest sÅ‚abo znana i nie zawsze wystarczajÄ…co dogÅ‚Íbnie
poruszana w opisach naszych projektÛw. Zatem nadrabiamy!
WÅ‚aÅ›ciwoÅ›ci i sposÛb wy- tora PNP. Nie zachodzi tutaj koniecz-
korzystania portÛw przed- nośĘ stosowania rezystora podciÄ…gajÄ…ce-
stawimy na przykÅ‚adzie go liniÍ portu, gdyÅ‚ ustawienie linii
ìduÅ‚ychî mikrokontrolerÛw w stan wysoki powoduje w rzeczywistoÅ›-
Atmel, ktÛre zgodne sÄ… pod ci wejÅ›cie w stan wysokiej impedancji
wzglÍdem ich parametrÛw ze (brak rezystora podciÄ…gajÄ…cego) i przerwÍ
swoim protoplastą - oryginalnym mik- w obwodzie bazy tranzystora (jego wyłą-
rokontrolerem 80C51 firmy Intel. czenie). Rezystor R1 ogranicza prÄ…d ba-
Port P0 sprawia najczÍÅ›ciej duÅ‚o zy do wartoÅ›ci bezpiecznych zarÛwno
kłopotu początkującym projektantom (za- dla mikrokontrolera jak i dla tranzysto-
zwyczaj przy realizacji pierwszego pro- ra, i powinien byĘ dobrany w zalełności
Wykorzystanie portÛw we/wy jektu wykorzystujÄ…cego taki mikrokontro- od wzmocnienia uÅ‚ytego tranzystora
mikrokontrolera ler), gdył zapominają oni o bardzo wał- i spodziewanego prądu obciąłenia - aby
Nawet najdoskonalszy mikroprocesor nej rzeczy - linie portu P0 pracującego uzyskany prąd bazy wprowadził tranzys-
bÍdzie jedynie mniej lub bardziej sku- jako wejÅ›cie/wyjÅ›cie nie sÄ… wyposaÅ‚one tor w nasycenie. Rezystor R2 nie jest
tecznÄ… grzaÅ‚kÄ…, jeÅ›li nie podÅ‚Ä…czymy do w rezystory podciÄ…gajÄ…ce - sÄ… standardo- tutaj bezwzglÍdnie konieczny - przyspie-
niego Å‚adnych urzÄ…dzeÒ zewnÍtrznych, wymi wyjÅ›ciami typu otwarty dren. sza on wyjÅ›cie tranzystora z nasycenia
ktÛre umoÅ‚liwiÄ… uÅ‚ytkownikowi komu- CzÍsto winÄ… za niepowodzenie w prÛbie i szybsze jego wyÅ‚Ä…czenie, co moÅ‚e byĘ
nikacjÍ z ukÅ‚adem. W mikrokontrolerach wysyÅ‚ania lub odbioru danych z portu przydatne przy duÅ‚ych czÍstotliwoÅ›ciach
rodziny 51 do realizacji takich poÅ‚Ä…- P0 obarczany jest ìuszkodzonyî mikro- przeÅ‚Ä…czeÒ. JeÅ‚eli chcemy stosowaĘ ste-
czeÒ sÅ‚uÅ‚Ä… porty, ktÛre sÄ… wyprowadze- kontroler, gdy w rzeczywistoÅ›ci ukÅ‚ad rowanie z uÅ‚yciem tranzystorÛw NPN,
niami pogrupowanymi najczÍÅ›ciej po jest jak najbardziej sprawny, a jedynÄ… musimy zrealizowaĘ ukÅ‚ad z rys. 9b.
8 linii, mogÄ…cymi sÅ‚uÅ‚yĘ jako wejÅ›cia winÍ ponosi tutaj projektant, ktÛry nie Tutaj rezystor podciÄ…gajÄ…cy R1 jest nie-
lub wyjÅ›cia sygnaÅ‚Ûw cyfrowych. Mik- zadbaÅ‚ o prawidÅ‚owÄ… realizacjÍ ukÅ‚adu zbÍdny do podania wysokiego potencja-
rokontrolery AT89C5x posiadajÄ… cztery sprzÍtowego. Na rys. 9a pokazano spo- Å‚u na bazÍ tranzystora. Rezystor R2 nie
takie porty (o oznaczeniach od P0 do sÛb doÅ‚Ä…czenia do portu P0 obciÄ…Å‚enia jest konieczny, zabezpiecza on jednak
P3), natomiast mniejsze mikrokontrole- sterowanego za pośrednictwem tranzys- wyjście mikrokontrolera przed uszkodze-
ry AT89Cx051 posiadajÄ… dwa porty (P1
i P3). Kałde wyprowadzenie dowolnego
portu mołe byĘ traktowane jako poje-
dyncza linia - wtedy do oznaczenia
portu dodajemy numer linii: na przy-
kÅ‚ad P1.4 oznacza piÄ…tÄ… liniÍ (numera-
cja od zera) portu 1. Poza funkcjÄ…
standardowych linii wejścia/wyjścia nie-
ktÛre porty lub niektÛre ich wyprowa-
dzenia mogą pełniĘ alternatywne funk-
cje - zostanÄ… one omÛwione wraz
z wykorzystującymi je układami peryfe-
ryjnymi. NaleÅ‚y pamiÍtaĘ, Å‚e prawidÅ‚o-
wa praca portu lub pojedynczej linii
jako wejście jest mołliwa jedynie po
programowym ustawieniu danego portu
(linii) w stan 1 (np. uływając instrukcji
MOV P1,#0FFH lub SETB P1.2 - odpo-
wiednio dla całego portu P1 pracujące-
go jako wejście lub tylko jego pojedyn-
czej linii). Wszystkie linie ustawiane sÄ…
na ì1î w wyniku zerowania mikrokon-
trolera, jeÅ›li jednak bÍdziemy wykorzys-
tywaĘ danÄ… liniÍ zarÛwno jako wejÅ›cie
jak i wyjÅ›cie, to niezbÍdne jest prze-
strzeganie tej reguły i ustawienie odpo-
wiednich linii w trakcie wykorzystywa-
nia ich jako wejście. Rys. 9. Sposoby dołączania obciążeń różnego typu do wyjść mikrokontrolera
Elektronika Praktyczna 5/2003
85
K U R S
prÄ…dowych portÛw: zarÛwno linie portu
P1 jak i P3 mogÄ… w stanie niskim prze-
wodziĘ prąd do 20 mA, z tym, łe we-
dÅ‚ug zaleceÒ producenta, caÅ‚kowity prÄ…d
wpływający jednocześnie do wszystkich
wykorzystywanych linii portÛw nie po-
winien przekroczyĘ 80 mA - powyłej
tej wartości firma Atmel nie gwarantuje
deklarowanej wydajności prądowej. Pro-
ducent przewidział mołliwośĘ sterowa-
nia przez port P1 katodami wyświetla-
czy LED, jednak takłe port 3 mołe
z powodzeniem sterowaĘ diody LED pod
warunkiem zapewnienia sumarycznego
prÄ…du wszystkich wyprowadzeÒ P1 i P3
(bÍdÄ…cych w stanie niskim) na poziomie
nie przewyłszającym 80 mA. W stanie
wysokim porty mają wydajnośĘ taką jak
porty w ìduÅ‚ychî Atmelach. Dodatkowo
trzeba pamiÍtaĘ, Å‚e dwie linie portu P1:
Rys. 10. Różne możliwości sterowania wejść mikrokontrolera
P1.0 i P1.1 nie posiadajÄ… wewnÍtrznych
rezystorÛw podciÄ…gajÄ…cych, gdyÅ‚ zakÅ‚Û-
niem wskutek uszkodzenia tranzystora - kontrolera - w zaleÅ‚noÅ›ci od potrzeby caÅ‚yby one pracÍ wewnÍtrznego kompa-
zwarcie w tranzystorze w obwodzie ko- mołemy wywoływaĘ stan wysoki (SW1) ratora podłączonego to tych linii. Jełeli
lektor-baza spowoduje pojawienie siÍ na- lub niski (SW2). RezystorÛw podciÄ…gajÄ…- chcemy linie P1.0 i P1.1 wykorzystywaĘ
piÍcia zasilajÄ…cego obciÄ…Å‚enie na wypro- cych nie musimy stosowaĘ gdy ukÅ‚ad jako zwykÅ‚e we/wy cyfrowe, to naleÅ‚y
wadzeniu mikrokontrolera. NapiÍcie to wspÛÅ‚pracuje z elementami posiadajÄ…cymi stosowaĘ zasady doÅ‚Ä…czania zewnÍt-
moÅ‚e byĘ wyÅ‚sze od napiÍcia zasilania wyjÅ›cia komplementarne (ukÅ‚ady cyfro- rznych urzÄ…dzeÒ takie jak w przypadku
ukÅ‚adu mikrokontrolera, co moÅ‚e dopro- we, komparatory), co pokazano na ry- portu P0. W spisie wyprowadzeÒ ukÅ‚a-
wadziĘ do uszkodzenia napiÍciowego li- sunku 9b). Warto wspomnieĘ, Å‚e port dÛw AT89Cx051 nie znajdziemy linii
nii lub - jeÅ›li na danym wyprowadze- P0 pracujÄ…cy jako wejÅ›cie bez zastoso- P3.6 - linia ta jest wewnÍtrznie poÅ‚Ä…-
niu bÍdzie stan niski - moÅ‚e dojśĘ do wania rezystorÛw podciÄ…gajÄ…cych posia- czona z wyjÅ›ciem komparatora i moÅ‚e
przeciÄ…Å‚enia prÄ…dowego. Zastosowany re- da bardzo duÅ‚Ä… impedancjÍ wejÅ›ciowÄ… byĘ tylko odczytywana (stan odzwier-
zystor ograniczy ten prąd oraz działał (zbliłoną do impedancji tranzystora ciedla stan komparatora).
bÍdzie jak dzielnik i ograniczy napiÍcie MOS), co umoÅ‚liwia sterowanie ze ürÛ- Przedstawiony wyÅ‚ej problem stoso-
na wyprowadzeniu portu. Na rys. 9c deÅ‚ o bardzo maÅ‚ej wydajnoÅ›ci. wania rezystorÛw podciÄ…gajÄ…cych to tyl-
przedstawiono sposÛb sterowania wej- PozostaÅ‚e porty mikrokontrolera (P1 ko jeden z wielu moÅ‚liwych bÅ‚ÍdÛw po-
Å›ciami cyfrowych ukÅ‚adÛw scalonych. do P3) poza faktem posiadania wewnÍt- peÅ‚nianych przy podÅ‚Ä…czaniu do mikro-
Dla ukÅ‚adÛw CMOS rezystor podciÄ…gajÄ…- rznych rezystorÛw podciÄ…gajÄ…cych (w kontrolera ukÅ‚adÛw wspÛÅ‚pracujÄ…cych.
cy jest niezbÍdny, natomiast dla ukÅ‚a- rzeczywistoÅ›ci sÄ… to tranzystory MOS Na rys. 11, 12, 13 i 14 przedstawiono
dÛw TTL nie jest on konieczny, lecz pracujÄ…ce jako ürÛdÅ‚a prÄ…dowe - moÅ‚na najczÍÅ›ciej popeÅ‚niane bÅ‚Ídy konstrukcyj-
na pewno nie zaszkodzi (zwÅ‚aszcza, ze je traktowaĘ jako rezystory podciÄ…gajÄ…- ne, ktÛre uniemoÅ‚liwiajÄ… poprawnÄ… pra-
ktoÅ› w urzÄ…dzeniu moÅ‚e zastosowaĘ od- ce o wartoÅ›ci 50...100 k&!), posiadajÄ… cÍ ukÅ‚adu lub pogarszajÄ… jego pewnośĘ
powiednik układu wykonany w techno- takłe mniejszą wydajnośĘ prądową, od- działania. Rysunki oznaczone literami a
logii CMOS). Port P0 moÅ‚e wysterowaĘ powiadajÄ…cÄ… wysterowaniu czterech przedstawiajÄ… bÅ‚Ídnie zaprojektowany
wedÅ‚ug danych producenta do oÅ›miu wejśĘ ukÅ‚adÛw TTL (maksymalny prÄ…d ukÅ‚ad, a opisane jako b pokazujÄ… popra-
wejśĘ ukÅ‚adÛw TTL, co pozwala obciÄ…- w stanie niskim to okoÅ‚o 6,5 mA). wne rozwiÄ…zanie lub sposÛb naprawy
Å‚yĘ kaÅ‚dÄ… koÒcÛwkÍ w stanie niskim Schematy doÅ‚Ä…czeÒ ukÅ‚adÛw peryferyj- bÅ‚Ídnie zaprojektowanego ukÅ‚adu.
prÄ…dem okoÅ‚o 13 mA i z powodzeniem nych nie rÛÅ‚niÄ… siÍ od tych podanych Na rys. 11a przedstawiono ukÅ‚ad
wystarcza do sterowania diodą LED (jak dla portu P0 (rys. 9 i 10), za wyjątkiem sterowania tranzystorem PNP z wyjścia
np. na rys. 9d). braku konieczności stosowania rezysto- mikrokontrolera wyposałonego w awaryj-
WykorzystujÄ…c linie portu P0 jako rÛw podciÄ…gajÄ…cych. ny ukÅ‚ad zasilania. Po gÅ‚Íbszej analizie
wejÅ›cia musimy takÅ‚e rozwaÅ‚yĘ koniecz- AnalizujÄ…c wÅ‚aÅ›ciwoÅ›ci portÛw P1 Å‚atwo zauwaÅ‚yĘ, Å‚e ukÅ‚ad moÅ‚e dziaÅ‚aĘ
nośĘ zastosowania w razie potrzeby re- i P3, w ktÛre sÄ… wyposaÅ‚one mikrokont- niestabilnie, objawiajÄ…c siÍ niecaÅ‚kowi-
zystorÛw podciÄ…gajÄ…cych. Rezystory takie rolery AT89Cx051 naleÅ‚y przedstawiĘ tym wyÅ‚Ä…czeniem tranzystora. NastÍpo-
sÄ… niezbÍdne jeÅ‚eli do mikrokontrolera kilka istotnych rÛÅ‚nic wpÅ‚ywajÄ…cych na waÅ‚o to bÍdzie wskutek obecnoÅ›ci dio-
chcemy podpiąĘ elementy stykowe lub sposÛb ich wykorzystania do obsÅ‚ugi dy naleÅ‚Ä…cej do obwodu zasilania awa-
ukÅ‚ady cyfrowe (czy pojedyncze tranzys- urzÄ…dzeÒ zewnÍtrznych. Przede wszyst- ryjnego. Wskutek spadku napiÍcia na tej
tory) pracujÄ…ce z wyjÅ›ciem typu otwarty kim naleÅ‚y wspomnieĘ o wÅ‚aÅ›ciwoÅ›ciach diodzie, napiÍcie wyjÅ›ciowe w stanie
kolektor (dren). SytuacjÍ takÄ… przedsta-
wiono na rys. 10a). Wartości rezysto-
rÛw R1 i R2 powinny byĘ tak dobrane,
aby nie przeciąłaĘ wyjśĘ dołączonych
ukÅ‚adÛw. Zastosowany rezystor R4 za-
pewnia stan niski na wejściu P0.4 gdy
przycisk SW1 jest zwolniony, natomiast
rezystor R3 zabezpiecza mikrokontroler
przed przypadkowym zwarciem mogÄ…-
cym nastąpiĘ, gdyby linia P0.4 została
wyzerowana programowo. Jak widaĘ
wciÅ›niÍcie przyciskÛw SW1 i SW2 wy-
woÅ‚uje rÛÅ‚ne stany na wejÅ›ciach mikro- Rys. 11. PrzykÅ‚ady bÅ‚Ä™dnie zaprojektowanych wzmacniaczy wyjÅ›ciowych
Elektronika Praktyczna 5/2003
86
K U R S
mniej kilkukrotnie) nił rezystor R1. Ta-
kie rozwiÄ…zanie nie posiada wady jak
poprzednie, ale konieczny jest dodatko-
wy (choĘ tani) element. Problem moł-
na rozwiązaĘ jeszcze inaczej, stosując
układ z rys. 11d. Zastosowano tutaj
ukÅ‚ad z tranzystorem MOSFET, ktÛry
jest elementem sterowanym napiÍciowo
i wartośĘ rezystancji R1 nie odgrywa
tutaj znaczÄ…cej roli (przy maÅ‚ych czÍs-
totliwoÅ›ciach przeÅ‚Ä…czeÒ). Rezystor R1
peÅ‚ni tutaj funkcjÍ zabezpieczajÄ…cÄ… po-
dobnie jak na rys. 9b. WadÄ… takiego
rozwiązania jest nieco wyłsza nił
w przypadku tranzystorÛw unipolarnych
cena tranzystorÛw MOSFET oraz fakt
dośĘ wysokiego napiÍcia progowego
tranzystora, co praktycznie uniemołli-
wia stosowanie tego rozwiÄ…zania
w układach z zasilaniem mikrokontrole-
ra napiÍciem niÅ‚szym niÅ‚ 5 V.
Przy budowie nowych ukÅ‚adÛw
szczegÛlnÄ… uwagÍ projektanta powinien
zwrÛciĘ fakt doÅ‚Ä…czania do mikrokont-
rolera urzÄ…dzeÒ zasilanych innym (za-
zwyczaj wyÅ‚szym) napiÍciem. Niestety
takłe tutaj mołna popełniĘ podstawo-
Rys. 12. Kolejne przykłady błędnie zaprojektowanych obwodów wyjściowych
wy błąd uwidoczniony na rys. 13a.
wysokim nie bÍdzie miaÅ‚o wartoÅ›ci na- na wyprowadzeniu mikrokontrolera na- W ukÅ‚adzie tym wyjÅ›cie mikrokontrole-
piÍcia zasilania, lecz bÍdzie obniÅ‚one piÍcie o wartoÅ›ci ok. 2 V (z uwzglÍdnie- ra steruje ukÅ‚adem cyfrowym zasilanym
o 0,6...0,8 V, co moÅ‚e doprowadziĘ do niem napiÍcia baza-emiter) lub mniej- napiÍciem 12 V. UkÅ‚ad nie bÍdzie
przewodzenia zÅ‚Ä…cza baza-emiter tranzys- sze, co bÍdzie interpretowane jako stan dziaÅ‚aÅ‚ z bardzo prostego powodu -
tora i jego otwarcie. Przy maÅ‚ych prÄ…- ì0î - czyli wciÅ›niÍcie przycisku. Prob- w ukÅ‚adach cyfrowych CMOS prÛg
dach obciÄ…Å‚enia wystarczy to zapewne lem rozwiÄ…zaĘ moÅ‚na dobierajÄ…c duÅ‚Ä… przeÅ‚Ä…czania znajduje siÍ mniej wiÍcej
do nasycenia tranzystora i sytuacji, wartośĘ rezystora R1 - powyÅ‚ej 100 w poÅ‚owie wartoÅ›ci napiÍcia zasilania,
w ktÛrej nie bÍdzie moÅ‚na wyÅ‚Ä…czyĘ k&!, co wraz z napiÍciem baza-emiter co dla przedstawionego ukÅ‚adu wynie-
programowo sterowanego w ten sposÛb tranzystora powinno daĘ na wyprowa- sie 6 V, czyli wiÍcej niÅ‚ napiÍcie zasi-
urzÄ…dzenia. RozwiÄ…zanie problemu moÅ‚e dzeniu mikrokontrolera napiÍcie okoÅ‚o lania mikrokontrolera. Wskutek tego do-
przynieśĘ zamiana diody krzemowej na 3 V, ktÛre powinno byĘ zinterpretowa- wolny stan logiczny poprawny z punk-
diodÍ Schottky ego (mniejszy spadek ne jako ì1î (rys. 12b). WadÄ… takiego tu widzenia napiÍĘ zasilania na pozio-
napiÍcia), lepiej jednak zastosowaĘ do- rozwiÄ…zania jest koniecznośĘ zastosowa- mie 5 V bÍdzie przez wejÅ›cie bramki
datkowy rezystor R2 o wartości mniej- nia tranzystora o dułym wzmocnieniu rozpoznawany stale jako stan niski. Pu-
szej od R1, polaryzujÄ…cy bazÍ tranzysto- (jeÅ‚eli chcemy uzyskaĘ znaczny prÄ…d Å‚apkÄ… czyhajÄ…cÄ… na projektanta jest fakt,
ra. UkÅ‚ad taki przedstawiono na rys. obciÄ…Å‚enia). Na rys. 12c przedstawiono Å‚e taki sam ukÅ‚ad, w ktÛrym zamiast
11b. Rezystory R1 i R2 bÍdÄ… tworzyÅ‚y lepsze rozwiÄ…zanie - zastosowanie do- 12 V zastosujemy zasilanie np. 9 V mo-
dzielnik napiÍcia obniÅ‚ajÄ…c o poÅ‚owÍ datkowego rezystora podciÄ…gajÄ…cego R2 Å‚e dziaÅ‚aĘ - nie bÍdzie to jednak dzia-
(lub wiÍcej) napiÍcie na bazie tranzys- o wartoÅ›ci znacznie mniejszej (przynaj- Å‚anie pewne i rozwiÄ…zanie to moÅ‚e
tora i nie dopuszczÄ… do jego przewodze-
nia wskutek rÛÅ‚nicy napiÍĘ wywoÅ‚ywa-
nych spadkiem na diodzie.
Na rys. 12a przedstawiono układ,
ktÛry wedÅ‚ug zaÅ‚oÅ‚enia powinien dzia-
Å‚aĘ nastÍpujÄ…co: mikrokontroler steruje
tranzystorem włączając i wyłączając ja-
kieś urządzenie. Jeśli urządzenie jest
wÅ‚Ä…czone, to naciÅ›niÍcie przycisku ma
je wyÅ‚Ä…czyĘ. UkÅ‚ad jednak nie bÍdzie
działał zgodnie z załołeniami. Jełeli
mikrokontroler wyzeruje liniÍ P3.1, to
jasne jest, łe urządzenie zostanie wyłą-
czone. Jełeli natomiast na wyjściu P3.1
pojawi siÍ stan ì1î, to tranzystor zacz-
nie przewodziĘ i włączy urządzenie -
tak układ działałby, gdyby program nie
wykrywaÅ‚ wciÅ›niÍcia przycisku. W ukÅ‚a-
dzie jak na rysunku mikrokontroler wy-
łączy urządzenie natychmiast po włą-
czeniu. BÍdzie to spowodowane faktem,
Å‚e wewnÍtrzny rezystor podciÄ…gajÄ…cy
ma dośĘ dułą wartośĘ (50...100 k&!)
i bÍdzie tworzyÅ‚ z rezystorem w obwo-
Rys. 13. Współpraca mikrokontrolera z układami zasilanymi napięciem o innej
dzie bazy tranzystora dzielnik dajÄ…cy
wartości
Elektronika Praktyczna 5/2003
87
K U R S
utrzymuje siÍ rÛwnieÅ‚ JB P1.2,etykieta
stan wysoki wskutek ;wykonanie skoku warunkowego, gdy
wbudowanego (lub w ra- ;na linii P1.2 panuje stan wysoki
zie konieczności dołączo-
nego) rezystora podciąga- Te instrukcje nie stanowią pełnego
jÄ…cego. Stan niski na zbioru rozkazÛw odwoÅ‚aÒ do portÛw.
wyjÅ›ciu ukÅ‚adu wspÛÅ‚pra- NajogÛlniej moÅ‚na powiedzieĘ, Å‚e do
cujÄ…cego powoduje pola- obsÅ‚ugi portÛw moÅ‚na uÅ‚yĘ wszystkich
ryzacjÍ diody w kierunku rozkazÛw mogÄ…cych wykonywaĘ opera-
przewodzenia i przepływ cje na adresowanej bezpośrednio ko-
prÄ…du - napiÍcie pojawia- mÛrce pamiÍci lub pojedynczym bicie.
jÄ…ce siÍ na wyprowadze- Specyficzne dziaÅ‚anie w stosunku do
niu mikrokontrolera ma portÛw posiada pewna liczba rozkazÛw
wartośĘ napiÍcia wyjÅ›cio- okreÅ›lanych jako instrukcje typu od-
wego ukÅ‚adu wspÛÅ‚pracu- czyt-modyfikacja-zapis. SÄ… to:
jÄ…cego powiÍkszonego
o napiÍcie przewodzenia ANL - iloczyn logiczny,
diody (warto tutaj zasto- ORL - suma logiczna,
Rys. 14. Sterowanie wejść mikrokontrolera z wyjść
sowaĘ diodÍ Schottky XRL - suma modulo 2,
układów zasilanych wyższym napięciem
ego ze wzglÍdu na niÅ‚- JBC - skok warunkowy i wyzerowanie
przysporzyĘ sporych kÅ‚opotÛw podczas szy spadek napiÍcia). Problem moÅ‚na bitu,
uruchamiania ukÅ‚adu (okresy poprawne- oczywiÅ›cie rozwiÄ…zaĘ w inny sposÛb, na CPL - negacja bitu,
go i bÅ‚Ídnego dziaÅ‚ania zaleÅ‚ne od tem- przykÅ‚ad stosujÄ…c omÛwiony wyÅ‚ej INC - inkrementacja,
peratury, poziomu zakÅ‚ÛceÒ itp.). Popra- ukÅ‚ad z tranzystorem - ukÅ‚ad z diodÄ… DEC - dekrementacja,
wiony układ przedstawiono na rys. jest jednak najprostszy. DJNZ - dekrementacja bajtu i skok jeśli
13b). Problem został rozwiązany przez nie zero,
zastosowanie układu inwertera z tran- Porty mikrokontrolera od MOV P_._,C - przesłanie zawartości
zystorem NPN Å‚Ä…czÄ…cym obydwa obwo- strony programowej wskaünika C na dowolnÄ… liniÍ portu,
dy. UkÅ‚ad gwarantuje poprawnÄ… pracÍ, Odpowiednie poÅ‚Ä…czenie elektryczne CLR P_._ - zerowanie linii portu,
naleÅ‚y jedynie zwrÛciĘ uwagÍ, Å‚e ne- wyprowadzeÒ portÛw to nie wszystko - SETB P_._ - ustawianie linii portu.
guje on podawany na bramkÍ sygnaÅ‚, konieczna jest jeszcze odpowiednia ob-
co naleÅ‚y uwzglÍdniĘ przy pisaniu op- sÅ‚uga programowa. Przede wszystkim na- Instrukcje te dziaÅ‚ajÄ… w nastÍpujÄ…cy
rogramowania. Innym rozwiÄ…zaniem jest leÅ‚y zwrÛciĘ uwagÍ na fakt, Å‚e porty sposÛb: najpierw odczytywany jest we-
zastosowanie wzmacniacza operacyjnego mikrokontrolera sÄ… obsÅ‚ugiwane w spo- wnÍtrzny stan rejestrÛw odpowiedzial-
(komparatora), na ktÛrego wejÅ›cie nie- sÛb synchroniczny - tzn. odczyt danych nych za stany na wyprowadzeniach
odwracajÄ…ce podajemy sygnaÅ‚ z mikro- z portu czy zapis do niego odbywa siÍ portÛw, potem nastÍpuje modyfikacja
kontrolera, a na wejÅ›cie odwracajÄ…ce zgodnie z czÍstotliwoÅ›ciÄ… cykli maszyno- odczytanej zawartoÅ›ci, a na koÒcu na-
wartośĘ napiÍcia progowego - w tym wych mikrokontrolera (pod warunkiem stÍpuje zapis nowej wartoÅ›ci do por-
wypadku zgodnie ze standardem wykonywania rozkazÛw zapisu/odczytu tu. NaleÅ‚y zwrÛciĘ uwagÍ, Å‚e odczyt
CMOS-5V jest to napiÍcie 2,5 V utwo- portu). Dlatego mikrokontroler nie jest rejestru portu nie ma nic wspÛlnego
rzone przez dzielnik R1 i R2 (rys. 13c). w stanie wykryĘ impulsÛw wejÅ›ciowych ze stanami na liniach zewnÍtrznych -
NaleÅ‚y pamiÍtaĘ, Å‚e wzmacniacz krÛtszych niÅ‚ 1 cykl maszynowy (w jest to wartośĘ jaka zostaÅ‚a wpisana
operacyjny musi byĘ zasilany z tego przypadku niektÛrych rozkazÛw sÄ… to tam programowo, np. dla linii wyko-
samego ürÛdÅ‚a (o takim samym napiÍ- 2 cykle) oraz sam nie jest w stanie ge- rzystywanych jako wejÅ›cia powyÅ‚sze
ciu) co sterowana nim bramka. ZaletÄ… nerowaĘ przebiegÛw o stanach krÛtszych instrukcje bÍdÄ… odczytywaÅ‚y stan ì1î
tego układu jest fakt, łe nie odwraca nił 1 cykl (fzegara/12). niezalełnie od panującego na linii na-
on fazy sygnaÅ‚u, naleÅ‚y jednak pamiÍ- Dla programisty zapis czy odczyt piÍcia. BÍdzie to spowodowane tym,
taĘ o ograniczonym zakresie czÍstotli- portu nie rÛÅ‚ni siÍ od zapisu czy od- Å‚e chcÄ…c korzystaĘ z linii jako wejÅ›cie
woÅ›ciowym wzmacniacza operacyjnego czytu wewnÍtrznej pamiÍci danych. programista musiaÅ‚ wczeÅ›niej wpisaĘ
(ukÅ‚ady z pojedynczymi tranzystorami MoÅ‚liwy jest takÅ‚e zapis lub odczyt do odpowiedniego rejestru jedynkÍ i to
w tej konkurencji wygrywajÄ… - sÄ… duÅ‚o pojedynczych linii portÛw z wykorzys- wÅ‚aÅ›nie ona bÍdzie odczytywana.
szybsze). taniem adresowania bitowego. NajczÍÅ›- SzczegÛlnÄ… ostroÅ‚nośĘ naleÅ‚y zachowaĘ
Podobnych zasad naleły przestrze- ciej wykonywane instrukcje odwołujące w przypadku nieprzemyślanego zastoso-
gaĘ, gdy do wejÅ›cia mikrokontrolera siÍ do portÛw to: wania instrukcji JBC P_._,etykieta. Tak-
doÅ‚Ä…czamy zasilany wyÅ‚szym napiÍciem MOV P1,#0F0H Å‚e tutaj skok i wyzerowanie podanego
komparator lub inny układ z wyjściem ;jednoczesny zapis ośmiu linii bitu (pojedynczej linii portu) nastąpi
komplementarnym (nie dotyczy ukÅ‚adÛw ;portu (np. 4 starsze ustawione na jeÅ›li w rejestrze portu bÍdzie na danej
z wyjÅ›ciem typu otwarty kolektor/dren). ; 1 , 4 mÅ‚odsze wyzerowane. pozycji stan ì1î, niezaleÅ‚nie od fak-
Na rys. 14a przedstawiono bÅ‚Ídny tycznego stanu wystÍpujÄ…cego na wy-
ukÅ‚ad - poÅ‚Ä…czenie bezpoÅ›rednie, w wy- MOV P1,A prowadzeniu mikrokontrolera (w odrÛÅ‚-
niku ktÛrego w najgorszym przypadku ;wysÅ‚anie do portu P1 zawartoÅ›ci nieniu od instrukcji JB, JNB i CJNE -
moÅ‚e dojśĘ do uszkodzenia wejÅ›cia ;akumulatora one odczytujÄ… stany linii zewnÍt-
mikrokontrolera i/lub wyjścia układu rznych). Nieprzemyślane wykonanie in-
sterujÄ…cego. Na rys. 14b przedstawiono MOV A,P1 strukcji typu odczyt-modyfikacja-zapis
najprostszy sposÛb rozwiÄ…zania proble- ;odczytanie zawartoÅ›ci linii portu czÍsto prowadzi do trudnych do zlo-
mu - zastosowanie diody blokujÄ…cej po- ;P1 i wpisanie jej do akumulatora kalizowania bÅ‚ÍdÛw programowych. Mi-
jawienie siÍ wysokiego napiÍcia na mo tego nie naleÅ‚y siÍ baĘ i rezygno-
wejściu mikrokontrolera. Kiedy układ SETB P1.1 waĘ z tych instrukcji - są one bardzo
wspÛÅ‚pracujÄ…cy z mikrokontrolerem jest ;ustawienie 1 na linii P1.1 przydatne, naleÅ‚y jednak stosowaĘ je
w stanie wysokim, to dioda zostaje w sposÛb Å›wiadomy i zdawaĘ sobie
spolaryzowana zaporowo - nie przewo- CLR P1.1 sprawÍ ze sposobu ich dziaÅ‚ania.
dzi prądu. Na wejściu mikrokontrolera ;wyzerowanie linii P1.1 Paweł Hadam
Elektronika Praktyczna 5/2003
88
Wyszukiwarka
Podobne podstrony:
Podstawy projektowania systemów mikroprocesorowych, cz 8Podstawy projektowania systemów mikroprocesorowych, cz 2Podstawy projektowania systemów mikroprocesorowych, cz 9Podstawy projektowania systemów mikroprocesorowych, cz 7Podstawy projektowania systemów mikroprocesorowych, cz 5projektowanie systemow informatycznychPodstawy projektowania i implementacji?z?nychPodstawy projektowania linii kolejowychzarzadzanie projektami systemowymi,6więcej podobnych podstron