Podstawy projektowania systemów mikroprocesorowych, cz. 7.pdf

(128 KB) Pobierz
Podstawy projektowania systemów mikroprocesorowych, część 7
K U  R S
Podstawy projektowania systemów
mikroprocesorowych, część 7
W†tym odcinku Kursu rozpoczniemy omawianie praktycznych
uk³adÛw steruj¹cych konkretnymi urz¹dzeniami
wykorzystywanymi w†systemach mikroprocesorowych. Zaczniemy
od urz¹dzeÒ wejúciowych, za poúrednictwem ktÛrych do
mikrokontrolera docieraj¹ sygna³y z†zewn¹trz i†bÍd¹c
odpowiednio interpretowane, wp³ywaj¹ na sposÛb
wykonywania programu.
Pod³¹czanie czujnikÛw do
mikrokontrolera
W†zaleønoúci od funkcji, jak¹ ma
spe³niaÊ projektowany system, niejed-
nokrotnie zachodzi potrzeba wyko-
rzystania w†nim rÛønego rodzaju
czujnikÛw. Ze wzglÍdu na specyfikÍ
dzia³ania uk³adÛw cyfrowych, bez
powaønych komplikacji uk³adowych
(np. w†postaci przetwornikÛw analo-
gowo/cyfrowych) moøna jedynie wy-
korzystaÊ czujniki daj¹ce na wyjúciu
sygna³ cyfrowy. Mimo takiego ogra-
niczenia, w†wielu zastosowaniach ta-
kie proste rozwi¹zania w†zupe³noúci
wystarczaj¹.
W†praktyce najczÍúciej korzysta siÍ
z†rÛønego rodzaju czujnikÛw styko-
wych. Zasada ich dzia³ania opiera siÍ
na mechanicznym zwarciu stykÛw
³¹cznika i†zamkniÍciu w†ten sposÛb
obwodu elektrycznego. Do tej grupy
czujnikÛw zaliczamy rÛønego rodzaju
przyciski i†prze³¹czniki, wy³¹czniki
kraÒcowe, czujniki kontaktronowe
i†styki przekaünikÛw. W†praktyce spo-
tyka siÍ dwie wersje takich elemen-
tÛw: normalnie rozwarte - wymusze-
nie dzia³aj¹ce na czujnik powoduje
zwarcie jego stykÛw oraz normalnie
zwarte - wymuszenie powoduje roz-
warcie stykÛw, ktÛre przez pozosta³y
czas s¹ zwarte.
RÛwnie czÍsto wykorzys-
tywanymi elementami s¹ rÛønego
rodzaju czujniki i†podzespo³y elektro-
niczne, daj¹ce na wyjúciu bezpoúredni
sygna³ cyfrowy zgodny ze standardem
TTL, ktÛrych obs³uga sprzÍtowa nie
stwarza øadnego problemu (bezpoúrednie
po³¹czenie z†liniami portÛw). CzÍsto sto-
suje siÍ takøe fotodetektory wykorzysty-
wane jako czujniki úwiat³a (jasno/cie-
mno) lub - w†po³¹czeniu z†jakimú ürÛd-
³em úwiat³a - mog¹ one tworzyÊ foto-
komÛrki zliczaj¹ce przedmioty, wykry-
waj¹ce kierunek ruchu itp.
Zwracaj¹c uwagÍ na zalety czujni-
kÛw optoelektronicznych, naleøy po-
wiedzieÊ, øe s¹ to elementy bardzo
szybkie i†praktycznie niezuøywaj¹ce siÍ
(w odrÛønieniu np. od czujnikÛw sty-
kowych). Zapewnienie odpowiedniego
ürÛd³a úwiat³a (najczÍúciej w†postaci
podczerwonej diody LED) pozwala na
wykorzystanie fotodetektorÛw w†wielu
aplikacjach, w†ktÛrych z†powodzeniem
zastÍpuj¹ mniej trwa³e i†bardziej za-
wodne elementy stykowe. Jako øe
czujniki optoelektroniczne stanowi¹
ìkrok naprzÛdî w†stosunku do elemen-
tÛw stykowych, to w³aúnie rozwi¹za-
nia uk³adowe wykorzystuj¹ce fotode-
tektory jako ürÛd³a sygna³u zostan¹
omÛwione jako pierwsze.
Na rys. 24 przedstawiono sposoby
do³¹czenia do mikrokontrolera popular-
nych fotodetektorÛw: fotodiody i†foto-
tranzystora. Na rys. 24a pokazano spo-
sÛb pod³¹czenia fotodiody. Ze wzglÍ-
du na niewielki pr¹d p³yn¹cy przez
ni¹ w†kierunku zaporowym, sygna³ ge-
nerowany przez fotodiodÍ musi zostaÊ
wzmocniony przez tranzystor. Jeøeli na
fotodiodÍ zacznie padaÊ úwiat³o, to
spowoduje to przep³yw pr¹du i†od³o-
øenie siÍ napiÍcia na rezystorze R1.
NapiÍcie to poprzez ograniczaj¹cy pr¹d
rezystor R2 podawane jest na bazÍ
tranzystora i†jeøeli wystarcza ono, aby
tranzystor zacz¹³ przewodziÊ, to wy-
prowadzenie mikrokontrolera zostaje
zwarte do masy - na linii portu po-
jawia siÍ stan niski. Czu³oúÊ tego
uk³adu moøna regulowaÊ w†doúÊ sze-
rokich granicach poprzez dobÛr rezys-
tora R1. ZwiÍkszaj¹c wartoúÊ tego re-
zystora, zwiÍkszamy rÛwnoczeúnie czu-
³oúÊ uk³adu. Nie naleøy jednak prze-
sadzaÊ ze zbytnim zwiÍkszaniem re-
zystancji, gdyø moøe zaistnieÊ sytua-
cja, øe uk³ad bÍdzie ca³y czas aktyw-
ny mimo ca³kowitej ciemnoúci (wsku-
tek pr¹du up³ywu diody). Duø¹ rolÍ
odgrywa tutaj takøe wzmocnienie za-
stosowanego tranzystora - im wiÍksze
wzmocnienie, tym oczywiúcie wiÍksza
czu³oúÊ. Jeøeli nie moøna w†ten spo-
sÛb osi¹gn¹Ê poø¹danej czu³oúci (przy
detekcji bardzo niewielkich natÍøeÒ
oúwietlenia), moøna zamiast fotodiody
zastosowaÊ fototranzystor (pod³¹czaj¹c
kolektor w†miejsce katody, a†emiter
w†miejsce anody).
Na rys. 24b przedstawiono uk³ad
z†fototranzystorem bÍd¹cym jednoczeú-
nie elementem detekcyjnym, jak i†ste-
ruj¹cym liniÍ portu mikrokontrolera.
Czu³oúÊ tego uk³adu moøe byÊ regulo-
wana za pomoc¹ rezystora R1 (duøa
rezystancja - duøa czu³oúÊ), maksymal-
n¹ czu³oúÊ moøna uzyskaÊ nie montu-
j¹c rezystora R1 (o ile wykorzystywa-
na linia portu posiada wewnÍtrzny re-
zystor podci¹gaj¹cy - dla linii P3.0
wykorzystanej na zamieszczonym sche-
macie warunek ten jest spe³niony).
W†zaleønoúci od typu zastosowanego
fototranzystora moøna osi¹gn¹Ê czu³oú-
ci lepsze niø w†uk³adzie z†fotodiod¹
i†tranzystorem. Pod wzglÍdem logicz-
nym uk³ad dzia³a tak samo jak po-
przedni - oúwietlenie fototranzystora
powoduje pojawienie siÍ stanu niskie-
go na wyprowadzeniu P3.0.
Rys. 24
Elektronika Praktyczna 9/2003
81
32645371.011.png 32645371.012.png 32645371.013.png 32645371.014.png
 
K U  R S
List. 8.
;KIERUNEK - etykieta zmiennej bitowej, określającej kierunek: 1-lewo, 0-prawo
;OBIEKT - etykieta zmiennej bitowej określająca, czy obiekt znajduje się na
czujniku
;
1 - jest na czujniku
elementu stykowego, czasami moøna
spotkaÊ siÍ z†opini¹, iø jest to po³¹-
czenie b³Ídne. Uk³ad jest jednak jak
najbardziej prawid³owy, choÊ posiada
pewne cechy, ktÛrych zlekcewaøenie
moøe doprowadziÊ do b³Ídnego dzia-
³ania mikrokontrolera. Element styko-
wy jest tutaj w³¹czony pomiÍdzy plus
zasilania a†wyprowadzenie portu. Jeúli
styk jest rozwarty, to na wyprowadze-
niu portu bÍdzie utrzymywa³ siÍ stan
niski wymuszony przez rezystor R1
o†wartoúci niewielkiej w†porÛwnaniu
z†wewnÍtrznym rezystorem podci¹gaj¹-
cym mikrokontrolera. Zwarcie styku
spowoduje podanie na wyprowadzenie
portu pe³nego napiÍcia zasilania, ktÛre
oczywiúcie bÍdzie zinterpretowane ja-
ko stan ì1î. Wad¹ tego uk³adu jest
stosunkowo duøy pobÛr pr¹du zwi¹za-
ny z†koniecznoúci¹ zapewnienia ma³ej
wartoúci rezystancji R1 - jednak mimo
wszystko przy podanych wartoúciach
rezystancji nie przekroczy on 50 mA.
O†wiele groüniejszy w†skutkach moøe
byÊ b³¹d programisty polegaj¹cy na
wyzerowaniu programowym linii portu
- jeøeli nast¹pi to w†momencie, gdy
styk jest zwarty, to powstanie zwarcie
napiÍcia zasilania do masy (przez li-
niÍ portu) mog¹ce doprowadziÊ do
uszkodzenia mikrokontrolera (sytuacja
podobna jak na rys. 24c) - mog¹ca
byÊ rÛwnieø w†taki sam sposÛb roz-
wi¹zana).
Kolejny uk³ad, bÍd¹cy chyba naj-
bardziej klasycznym, przedstawiono na
rys. 25b. Tutaj element stykowy zwie-
ra wyprowadzenie portu do masy za-
silania - zwarcie styku oznacza stan
ì0î, a†rozwarcie stan ì1î. Dodatkowy
rezystor podci¹gaj¹cy R1 nie jest ko-
nieczny (do poprawnej pracy wystar-
cza rezystor wbudowany w†mikrokont-
roler), pozwala natomiast na ustawie-
nie optymalnego pr¹du pracy dla ele-
mentu stykowego, gwarantuj¹cego jego
samooczyszczanie (dotyczy zw³aszcza
elementÛw o†niewielkiej sile nacisku
stykÛw, np. kontaktronÛw lub ma³ych
przekaünikÛw). Niekiedy zachodzi ko-
niecznoúÊ podania na element styko-
wy napiÍcia wyøszego niø napiÍcie za-
silaj¹ce mikrokontroler (np. gdy styk
jest elementem wyjúciowym jakiegoú
obwodu elektronicznego zasilanego
z†wyøszego napiÍcia i†nie moøe byÊ
od tego napiÍcia odseparowany).
Z†wiadomych nam powodÛw (patrz po-
;(program główny - blok inicjowania wartości zmiennych)
INICJUJ:
CLR KIERUNEK ;zerowanie
CLR OBIEKT
;zmiennych
...
...
;(podprogram wyznaczający kierunek ruchu, wywołanie przez LCALL KIERUNEK)
KIERUNEK:
MOV C,P3.0 ;oba fototranzystory oświetlone
ANL C,P3.1 ;(stan 1 na obu liniach),
JC BRAK_OBIEKTU ;czyli brak obiektu na czujniku
JB OBIEKT,CZEKAJ_NA_ZEJSCIE ;jeżeli obiekt na czujniku, to czekaj, aż
;opuści czujnik
;jeżeli nie było obiektu na czujniku
;to znaczy, że zarejestrowano nowy obiekt
MOV C,P3.1 ;stan 1 na P3.1 oznacza, że jedzie w lewo
MOV KIERUNEK,C ;wiec kopiujemy P3.1 do KIERUNEK
SETB OBIEKT
;i ustawiamy zmienną OBIEKT, aby
;poczekać na zjechanie z czujnika
RET
;(czekamy na stan wysoki na P3.0 i P3.1)
BRAK_OBIEKTU:
CLR OBIEKT
CZEKAJ_NA_ZEJSCIE:
RET
Na rys. 14c przedstawiono typowy
uk³ad wykorzystywany do wykrywania
kierunku poruszania siÍ obiektÛw. Wy-
korzystuje on podwÛjny fototranzystor
umieszczony w†trÛjkoÒcÛwkowej obudo-
wie (po³¹czone kolektory). Oúwietlenie
ktÛregoú z†fototranzystorÛw powoduje
przep³yw pr¹du poprzez odpowiedni
rezystor i†wzrost napiÍcia na wypro-
wadzeniu portu - oúwietleniu fototran-
zystora odpowiada stan wysoki linii.
Jeúli fototranzystory nie przewodz¹,
stan na liniach portu jest interpreto-
wany jako niski, gdyø rezystory R1
i†R2 maj¹ rezystancjÍ kilkadziesi¹t ra-
zy mniejsz¹ niø wbudowane rezystory
podci¹gaj¹ce. Jeúli wymagane by³oby
znaczne zwiÍkszenie czu³oúci uk³adu,
naleøy tutaj zastosowaÊ tranzystory po-
úrednicz¹ce tak jak pokazano na uk³a-
dzie z†rys. 14a - uk³ad taki wprowa-
dzi negacjÍ konieczn¹ do uwzglÍdnie-
nia przy pisaniu programu (oúwietle-
nie fototranzystora wywo³a stan niski
na linii portu). ZwiÍkszanie wartoúci
rezystancji R1 i†R2 zwiÍkszy nieco
czu³oúÊ, jednak ³atwo jest osi¹gn¹Ê
stan, w†ktÛrym nie bÍdzie moøna roz-
poznaÊ na liniach portu faktu zatka-
nia ktÛregoú z†fototranzystorÛw - war-
toúÊ rezystancji R1 i†R2 stanie siÍ po-
rÛwnywalna z†wartoúci¹ rezystancji re-
zystorÛw podci¹gaj¹cych i†nie bÍdzie
moøliwe uzyskanie na wyprowadze-
niach napiÍcia odpowiadaj¹cego stano-
wi niskiemu. Naleøy rÛwnieø pamiÍ-
taÊ, aby nigdy programowo nie zero-
waÊ wyprowadzeÒ portu, gdyø moøe
to doprowadziÊ do uszkodzenia foto-
tranzystorÛw lub mikrokontrolera. Roz-
wi¹zaniem problemu jest zastosowanie
uk³adu z†tranzystorem poúrednicz¹cym
lub doprowadzenie sygna³u do wypro-
wadzeÒ mikrokontrolera przez rezysto-
ry o†wartoúci oko³o 1†k
W†takim uk³adzie rozrÛønianie kie-
runku ruchu jest moøliwe przez
sprawdzanie stanÛw obu linii i†odpo-
wiedni¹ ich interpretacjÍ. Wykrycie
faktu zas³oniÍcia jednego z†fototranzys-
torÛw w†sytuacji, gdy drugi pozostaje
oúwietlony, informuje nas o†kierunku
ruchu - np. stan niski na linii P3.0
i†wysoki na P3.1 informuje o†ruchu
w†lewo, a†sytuacja gdy P3.1=0 i†P3.0=1
úwiadczy o†ruchu w†prawo. Moøna to
zrealizowaÊ za pomoc¹ programu po-
kazanego na list. 8 .
Przedstawiony podprogram wykry-
wa ruch obiektu i†przechowuje infor-
macjÍ o†kierunku w†zmiennej KIERU-
NEK do czasu pojawienia siÍ nastÍp-
nego obiektu. Naleøy zwrÛciÊ uwagÍ
na prÍdkoúÊ przemieszczaj¹cych siÍ
przed czujnikiem obiektÛw i†odpowied-
nie czÍste wywo³ywanie procedury,
aby nie wyst¹pi³o zjawisko ìgubieniaî
przejúÊ wskutek zbyt rzadkiego spraw-
dzania stanu czujnika.
ZwrÛÊmy teraz uwagÍ na zasady
postÍpowania przy projektowaniu urz¹-
dzeÒ z†wykorzystaniem elementÛw sty-
kowych. Na rys. 25 przedstawiono kil-
ka sposobÛw pod³¹czenia elementÛw
stykowych do portÛw mikrokontrolera.
Na rys. 25a pokazano bardzo rzadko
wykorzystywan¹ konfiguracjÍ po³¹czeÒ
.
Rys. 25
82
Elektronika Praktyczna 9/2003
32645371.001.png 32645371.002.png 32645371.003.png 32645371.004.png 32645371.005.png 32645371.006.png
K U  R S
przednie odcinki kursu) nie moøna ta-
kiego uk³adu pod³¹czyÊ bezpoúrednio -
stosuje siÍ zatem pod³¹czenie za po-
úrednictwem diody, jak w†uk³adzie
z†rys. 25c). ChoÊ po³¹czenie to by³o
juø omÛwione przy wspÛ³pracy z†ele-
mentami elektronicznymi, warto pamiÍ-
taÊ, øe moøe byÊ wykorzystane rÛw-
nieø tutaj.
CzÍsto zachodzi potrzeba doprowa-
dzenia sygna³u do mikrokontrolera
z†elementu oddalonego o†kilka...kilka-
naúcie czy nawet kilkadziesi¹t metrÛw.
Naleøy wÛwczas zadbaÊ, aby dostar-
czony do mikrokontrolera sygna³ by³
odpowiedniej jakoúci i†pozbawiony za-
k³ÛceÒ. SytuacjÍ tak¹ pokazano na rys.
26a (jest to rozwiniÍcie uk³adu z†rys.
25b). Pokazano tutaj, jak zabezpieczyÊ
siÍ przed zak³Ûceniami w†przypadku
stosowania d³ugich przewodÛw po³¹-
czeniowych. Zastosowane kondensatory
C1 i†C2 zwieraj¹ liniÍ sygna³ow¹ dla
przebiegÛw o†wysokich czÍstotliwoú-
ciach, natomiast niewielka rezystancja
rezystora podci¹gaj¹cego R1 wymusza
przep³yw znacznego pr¹du w†linii, co
dodatkowo podnosi odpornoúÊ na za-
k³Ûcenia. Trzecim elementem zabezpie-
czaj¹cym jest obwÛd ca³kuj¹cy, przez
ktÛry sygna³ trafia na wyprowadzenie
portu. ChoÊ takie rozwi¹zanie przypo-
mina uk³ady stosowane w†technice
sygna³Ûw analogowych, w†przypadku
sygna³Ûw cyfrowych sprawuje siÍ rÛw-
nieø bardzo dobrze. Dodatkowym ele-
mentem zabezpieczaj¹cym przed prze-
piÍciami w†linii s¹ diody D1 i†D2
niepozwalaj¹ce na przekroczenie napiÍ-
cia linii poza przedzia³ napiÍÊ zasila-
nia. W†tym uk³adzie warto rozwaøyÊ
jeszcze moøliwoúÊ pojawienia siÍ na
wejúciu linii krÛtkich impulsÛw wyso-
konapiÍciowych (zw³aszcza indukowa-
nych od pobliskich wy³adowaÒ atmos-
ferycznych, itp.). DoúÊ skutecznie
przed uszkodzeniem uk³adu wskutek
dzia³ania wysokiego napiÍcia moøna
siÍ zabezpieczyÊ przez w³¹czenie rÛw-
nolegle do C2 warystora metalowo-
tlenkowego (elementy takie s¹ po-
wszechnie stosowane w†instalacjach te-
lekomunikacyjnych i†aparatach telefo-
nicznych oraz w†profesjonalnych ste-
rownikach przemys³owych), ktÛry za-
bezpiecza przed przekroczeniem okreú-
lonego napiÍcia na linii oraz jest ele-
mentem duøo szybszym i†skuteczniej-
szym niø zastosowane diody. Wyko-
rzystywany warystor powinien mieÊ
nominalne napiÍcie pracy nieco wiÍk-
sze od napiÍcia zasilania mikrokontro-
lera - zastosowanie elementu o†zbyt
wysokim napiÍciu pracy spowoduje sy-
tuacjÍ, øe warystor nie zadzia³a, mi-
mo iø napiÍcie na wejúciu uk³adu
przekroczy wartoúÊ bezpieczn¹ dla
mikrokontrolera.
Ca³kowite rozwi¹zanie problemu
przepiÍÊ mog¹cych uszkodziÊ uk³ad
sterownika mikroprocesorowego przed-
stawiono na rys. 26b. Wykorzystano
tutaj oddzielne zasilanie obwodu czuj-
nika wyøszym napiÍciem (wiÍksza od-
pornoúÊ na zak³Ûcenia) wraz z†separa-
cj¹ galwaniczn¹ obwodÛw czujnika
i†linii sygna³owej od obwodÛw mikro-
kontrolera. Wykorzystanie transoptora
zabezpiecza nas przed przepiÍciami in-
dukowanymi w†linii oraz przed b³Ída-
mi instalatora (podanie zbyt wysokie-
go napiÍcia na wejúcie uk³adu co naj-
wyøej uszkodzi tylko transoptor).
Uk³ad zachowuje logikÍ zgodn¹ z†uk³a-
dem z†rys. 26a (zwarcie styku ozna-
cza stan ì0î). Rezystor R2 zmniejsza
czu³oúÊ obwodu detekcyjnego transop-
tora (koniecznoúÊ silniejszego oúwietle-
nia fototranzystora w†celu osi¹gniÍcia
przep³ywu pr¹du wystarczaj¹cego do
spadku napiÍcia do poziomu stanu
ì0î), a†co za tym idzie zwiÍksza od-
pornoúÊ na zak³Ûcenia.
Uwaøny Czytelnik zapewne zauwa-
øy, øe przy przedstawianiu uk³adÛw
z†elementami stykowymi ani razu nie
zwrÛcono uwagi na problem drgania
stykÛw, ani teø na problem wolnego
narastania napiÍcia wskutek stosowania
kondensatorÛw filtruj¹cych. Powodem,
dla ktÛrego mÛwimy o†tym dopiero te-
raz, jest fakt, øe w†systemach mikro-
procesorowych problemy zwi¹zane
z†tymi zjawiskami za³atwia siÍ na dro-
dze programowej, d¹ø¹c do jak naj-
wiÍkszej prostoty sprzÍtu.
ZarÛwno zjawisko drgania stykÛw,
jak i†zjawisko powolnego narastania
napiÍcia jest wstÍpnie eliminowane juø
wskutek sposobu stosowanego przez
mikrokontroler do sprawdzania stanÛw
na liniach portÛw. Stany te s¹ spraw-
dzane w†kaødym cyklu maszynowym
w†okreúlonym takcie zegara, natomiast
przez pozosta³y czas zmiana stanu na
liniach portÛw nie wp³ywa w†øaden
sposÛb na stan mikrokontrolera. Pier-
wszym elementem filtruj¹cym jest za-
tem czÍstotliwoúÊ cykli maszynowych
(1/12 czÍstotliwoúci zegarowej w†przy-
padku omawianych mikrokontrolerÛw
rodziny 51), od ktÛrej zaleøy elimi-
nowanie stanÛw przejúciowych krÛt-
szych niø jeden cykl maszynowy. Za-
zwyczaj przy wspÛ³pracy z†rÛønego ro-
dzaju elementami stykowymi ten pod-
stawowy stopieÒ filtracji nie jest wy-
starczaj¹cy - stosuje siÍ wÛwczas
opÛünienie programowe. Program, ktÛ-
rego dzia³anie zaleøy od stanu okreú-
lonej linii, sprawdza w†tym przypadku
wartoúÊ pomocniczego bitu, natomiast
faktyczny stan linii odczytuje proce-
dura wywo³ywana co okreúlony czas
(np. wskutek wyst¹pienia przerwania
z†ktÛregoú z†licznikÛw) zapisuj¹ca stan
linii do tego pomocniczego bitu. Przy-
k³adowe rozwi¹zanie przedstawiono na
list. 9 .
Stosuj¹c powyøsze rozwi¹zanie, na-
leøy pamiÍtaÊ o†odpowiednim zapro-
gramowaniu (w³¹czeniu) uk³adu prze-
rwaÒ oraz o†dobraniu liczby cykli zli-
czanych przez licznik w†celu uzyska-
nia poø¹danego opÛünienia.
Jak juø wspomniano wczeúniej,
uk³ady stykowe mog¹ pracowaÊ
w†dwÛch konfiguracjach - jako styki
normalnie zwarte lub normalnie roz-
warte. Z†punktu widzenia sprzÍtowego
rozwi¹zania pod³¹czenia do systemu
mikroprocesorowego rodzaj stykÛw nie
ma øadnego znaczenia, jedynie podczas
pisania programu naleøy uwzglÍdniaÊ
negacjÍ powstaj¹c¹ pomiÍdzy oboma ro-
dzajami stykÛw (okreúlenie stanu ak-
tywnego linii). Konfiguracja stykÛw jest
natomiast bardzo waøna z†uwagi na
bezpieczeÒstwo i†pewnoúÊ dzia³ania
urz¹dzenia. Naleøy pamiÍtaÊ, øe stoso-
wanie stykÛw normalnie zwartych
umoøliwia wykrycie przerwy w†linii ³¹-
cz¹cej taki styk z†systemem mikropro-
cesorowym. £atwo sobie wyobraziÊ co
mog³oby siÍ staÊ w†przypadku awarii
linii ³¹cz¹cej uk³ad z†wy³¹cznikiem bez-
pieczeÒstwa lub innym elementem od-
powiadaj¹cym za awaryjne wy³¹czenie
uk³adu. Przy zastosowaniu stykÛw
w†konfiguracji normalnie otwartej urz¹-
dzenie nie zadzia³a w†przypadku
Rys. 26
Elektronika Praktyczna 9/2003
83
32645371.007.png 32645371.008.png 32645371.009.png
K U  R S
List. 9.
;STAN - pomocnicza zmienna bitowa przechowująca stan linii portu
dzeniami wspÛ³pracuj¹cymi z†systemem
mikroprocesorowym, natomiast elemen-
ty ze stykami normalnie zwartymi sto-
sujemy w†obwodach wy³¹czaj¹cych i†ob-
wodach bezpieczeÒstwa.
Powyøsze rozwaøania dotycz¹ za-
stosowania dwÛch przyk³adowych grup
urz¹dzeÒ jako ürÛd³a sygna³Ûw w†sys-
temie mikroprocesorowym. Chociaø za-
pewne najczÍúciej stosowane s¹ uk³a-
dy z†elementami stykowymi, to w†ta-
kim systemie mog¹ byÊ zastosowane
rÛwnieø innego rodzaju elementy czuj-
nikowe czy inne ürÛd³a sygna³Ûw, za-
sadniczo nie zmieni siÍ jednak spo-
sÛb ich sprzÍgniÍcia z†mikrokontrole-
rem. Naleøy pamiÍtaÊ tylko o†paramet-
rach uøywanych elementÛw i†w†razie
potrzeby zadbaÊ o†dopasowanie pozio-
mÛw elektrycznych, na co zwrÛcono
uwagÍ przy omawianiu ogÛlnych zasad
wykorzystywania portÛw jako wejúcia.
Bardzo waøn¹ spraw¹ jest takøe zad-
banie o†minimalizacjÍ zak³ÛceÒ przy
zastosowaniu d³ugich przewodÛw po-
³¹czeniowych oraz zwrÛcenie uwagi na
ewentualne niebezpieczeÒstwa zwi¹za-
ne z†rÛønego rodzaju przepiÍciami mo-
g¹cymi zak³ÛcaÊ pracÍ uk³adu lub na-
wet doprowadziÊ do jego uszkodzenia.
Pawe³ Hadam, AVT
pawel.hadam@ep.com.pl
;(program główny)
...
...
JB STAN, ETYKIETA ;reakcja programu na stan linii portu (tutaj skok)
...
...
ETYKIETA:
...
;(koniec programu)
PRZERWANIE_T0:
;procedura obsługi przerwania od odpowiednio
;zaprogramowanego licznika T0
...
;(inne rozkazy, np. przeładowanie licznika)
...
MOV C,P3.0
;sprawdzamy stan linii P3.0
MOV STAN,C
;i kopiujemy go do pomocniczej zmiennej
...
...
RETI
;koniec obsługi przerwania
uszkodzenia przewodu ³¹cz¹cego. Jeúli
natomiast zastosujemy styki normalnie
zwarte, to uszkodzenie przewodu (naj-
czÍúciej jest to przerwanie ci¹g³oúci ob-
wodu) spowoduje reakcjÍ uk³adu tak¹
sam¹ jak w†przypadku zadzia³ania da-
nego urz¹dzenia (np. wciúniÍcia przy-
cisku) i†praca systemu zostanie wstrzy-
mana. Podobne zalety moøna przedsta-
wiÊ w†stosunku do stykÛw normalnie
rozwartych - stosuje siÍ je w†uk³adach,
w†ktÛrych przerwa w†po³¹czeniu nie
wywo³a øadnych groünych nastÍpstw,
a†zastosowanie stykÛw normalnie zwar-
tych mog³oby wywo³aÊ niekontrolowa-
ne dzia³anie urz¹dzenia w†razie awarii
okablowania (np. w³¹czanie jakiegoú
urz¹dzenia w†chwili wciúniÍcia przycis-
ku). NajogÛlniej mÛwi¹c, naleøy prze-
strzegaÊ zasady, øe elementy (przycis-
ki, przekaüniki, kraÒcÛwki i†inne) ze
stykami normalnie rozwartymi stosuje-
my w†obwodach odpowiadaj¹cych za
uruchamianie i†sterowanie jakimiú urz¹-
84
Elektronika Praktyczna 9/2003
32645371.010.png
Zgłoś jeśli naruszono regulamin