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

(116 KB) Pobierz
Podstawy projektowania systemów mikroprocesorowych, część 6
K U  R S
Podstawy projektowania systemów
mikroprocesorowych, część 6
W†szÛstej czÍúci naszego cyklu przedstawiamy sposÛb
sterowania wyúwietlaczem alfanumerycznym zintegrowanym
ze sterownikiem HD44780 oraz podstawy sterowania za
pomoc¹ mikrokontrolera urz¹dzeniami duøej mocy.
CzÍsto do³¹czony do systemu
mikroprocesorowego wyúwietlacz
siedmiosegmentowy jest niewystar-
czaj¹cy z†punktu widzenia liczby
znakÛw moøliwych do wyúwietle-
nia oraz liczby wyúwietlanych po-
zycji. O†wiele wiÍksze moøliwoúci
daje zastosowanie wyúwietlacza
znakowego LCD/OLED lub VFD
zintegrowanego ze sterownikiem.
Wyúwietlacze takie (wykorzystuj¹ce
najczÍúciej sterownik HD44780 lub
znim kompatybilny) umoøliwiaj¹
wyúwietlenie - w†zaleønoúci od
modelu - od jednej linii szesnastu
znakÛw, do czterech linii po
czterdzieúci znakÛw. SposÛb do³¹-
czenia wyúwietlacza przedstawiono
na rys. 22 . Jak widaÊ, do stero-
wania wyúwietlacza znakowego
stosuje siÍ trzy sygna³y steruj¹ce
oraz magistralÍ danych, ktÛra mo-
øe mieÊ - w†zaleønoúci od konfi-
guracji - cztery lub
osiem (jak na rysunku)
linii danych. Duøe moø-
liwoúci wyúwietlacza s¹
okupione nieco bardziej skom-
plikowan¹ obs³ug¹ programow¹.
Pe³na dokumentacja techniczna ste-
rownika HD44780 jest dostÍpna na
stronie internetowej http://
www.ep.com.pl w†dziale Down-
load>Dokumentacje , w†artykule
przedstawimy jedynie ogÛln¹ zasa-
dÍ wspÛ³pracy wyúwietlacza z†mik-
rokontrolerem oraz zaprezentujemy
przyk³adowe podprogramy obs³ugi
takiego wyúwietlacza.
Jak juø wspomniano, oprÛcz
oúmio- lub czterobitowej magistrali
danych mikrokontroler jest sprzÍg-
niÍty z†wyúwietlaczem za poúred-
nictwem trzech linii steruj¹cych:
E†- linia sygna³u strobuj¹cego pod-
czas transmisji miÍdzy wyúwietla-
czem a†mikrokontrolerem, R/S - li-
nia informuj¹ca sterownik wyúwiet-
lacza o†tym, czy przesy³ana infor-
macja jest znakiem przeznaczonym
do wyúwietlenia, czy teø jednym
z†rozkazÛw konfiguracyjnych, R/W -
linia informuj¹ca o†kierunku trans-
misji (odczyt/zapis). Po w³¹czeniu
zasilania konieczne jest przes³anie
do wyúwietlacza odpowiedniej sek-
wencji rozkazÛw steruj¹cych usta-
laj¹cych parametry jego pracy.
Przyk³adowy program inicjuj¹cy za-
mieszczono na list. 6 (wykorzysty-
wano wyúwietlacz 1†linia x†16 zna-
kÛw).
Wyúwietlanie danych na wy-
úwietlaczu polega na przesy³aniu
do sterownika kodÛw ASCII zna-
kÛw przeznaczonych do wyúwietle-
nia. W†najprostszym przypadku
konfiguracyjnym, wyúwietlacz moøe
dzia³aÊ w†ten sposÛb, øe po prze-
s³aniu kolejnego znaku kursor (wi-
doczny lub niewidoczny) przesuwa-
ny jest automatycznie na nastÍpn¹
pozycjÍ. DziÍki temu zmiana wy-
úwietlanego tekstu wymaga wpisa-
nia ich kodÛw do pamiÍci sterow-
nika, reszt¹ zajmuje siÍ sterownik
bez øadnej ingerencji wspÛ³pracuj¹-
cego mikrokontrolera. Na list. 7
przedstawiono podprogram przesy³a-
j¹cy pojedynczy bajt (kod ASCII
znaku) do sterownika wyúwietlacza.
Wykorzystano w†nim przedstawiony
wczeúniej podprogram sprawdzania
zajÍtoúci.
Podobnie wygl¹da obs³uga pro-
gramowa wyúwietlacza znakowego
LCD pracuj¹cego z†magistral¹ 4-bi-
tow¹. Jedyn¹ rÛønic¹ jest sposÛb
przesy³ania danych: nastÍpuje
transmisja dwÛch s³Ûw czterobito-
wych, kaødorazowo strobowanych
sygna³em E. Jako pierwsza przesy-
³ana jest starsza po³Ûwka bajtu.
Magistrala danych ogranicza siÍ do
linii D4...D7, natomiast linie D0
do D3 pozostaj¹ nie pod³¹czone.
Oczywiúcie konieczne jest przepro-
wadzenie odpowiedniej inicjalizacji
wyúwietlacza przygotowuj¹cej go
do pracy z†czterobitow¹ magistral¹
danych.
Przedstawiony powyøej opis
jest jedynie zarysem problemu ob-
s³ugi wyúwietlacza znakowego
Rys. 22
Elektronika Praktyczna 8/2003
81
32642912.011.png 32642912.012.png
 
K U  R S
List. 6. Procedura inicjująca sterownik wyświetlacza LCD 1x16
INIC_WYS:
Sterowanie urz¹dzeniami
duøej mocy
Buduj¹c sterownik mikroproce-
sorowy czÍsto powierzamy mu za-
danie sterowania urz¹dzeniami du-
øej mocy i/lub urz¹dzeniami zasi-
lanymi bezpoúrednio z†sieci.
Z†oczywistych wzglÍdÛw nie moøe-
my obci¹øyÊ wyprowadzeÒ mikro-
kontrolera pr¹dami rzÍdu ampe-
rÛw, a†tym bardziej nie moøemy
pod³¹czyÊ do niego bezpoúrednio
napiÍcia sieciowego 220V. Najpros-
tszym sposobem sterowania urz¹-
dzeniami duøej mocy i†rÛwnoczeú-
nie metod¹ na zapewnienie sepa-
racji galwanicznej od sieci 220V
jest zastosowanie przekaünika.
Uk³ad sprzÍgniÍcia przekaünika
z†mikrokontrolerem pokazano na
rys. 23a ). Jako element poúredni-
cz¹cy zastosowano tranzystor NPN
z†linii portu mikrokontrolera. Za-
stosowanie rezystora R1 jest ko-
nieczne w†przypadku sterowania
duøych przekaünikÛw o†znacznym
pr¹dzie wzbudzenia - zwiÍksza on
pr¹d bazy tranzystora, dziÍki cze-
mu nie trzeba stosowaÊ elementu
o†bardzo duøym wzmocnieniu.
Oczywiúcie przekaünik nie musi
byÊ zasilany z†napiÍcia zasilaj¹ce-
go mikrokontroler (+5 V†na rysun-
ku) - moøna stosowaÊ przekaüniki
na dowolne napiÍcia jednak tylko
z†przedzia³u napiÍÊ tzw. bezpiecz-
nych (poniøej 50V) ze wzglÍdu na
brak separacji galwanicznej miÍdzy
obwodem cewki przekaünika
a†mikrokontrolerem (do ktÛrego
moøe byÊ pod³¹czona np. klawia-
tura). Dioda do³¹czona rÛwnolegle
do cewki przekaünika zabezpiecza
tranzystor przed przepiÍciami po-
wstaj¹cymi w†chwili wy³¹czania.
Zalet¹ tego uk³adu jest moøliwoúÊ
sterowania bardzo duøymi mocami
- w†praktyce ograniczeniem jest
tylko wytrzyma³oúÊ stykÛw zasto-
sowanego przekaünika. Wad¹ jest
natomiast stosunkowa powolnoúÊ
(nie od unikniÍcia w†uk³adach
z†elementami mechanicznymi -
czas potrzebny na zadzia³anie
przekaünika) oraz skoÒczona liczba
prze³¹czeÒ (zwi¹zana ze zuøywa-
niem siÍ zestykÛw).
Jeøeli zaleøy nam na sterowaniu
ca³kowicie elektronicznym, to
w†przypadku sterowania urz¹dzenia-
mi na napiÍcie sieciowe korzystne
bÍdzie zastosowanie optotriaka (do-
k³adniej transoptora z†optotriakiem
jako elementem úwiat³oczu³ym)
CLR P2.0
;wyzerowanie linii strobującej
MOV R7,#0FFH
OPLCD:
;realizacja opóźnienia koniecznego
MOV R6,#0FFH
;do wewnętrznej inicjalizacji wyświetlacza
DJNZ R6,$
;po włączeniu zasilania
DJNZ R7,OPLCD
CLR P2.1
;przesłanie rozkazu konfiguracyjnego
CLR P2.2
;(patrz specyfikacja HD44780)
MOV P1,#0FH
SETB P2.0
;impuls
CLR P2.0
;strobujący
LCALL CLR_LCD
;wywołanie procedury czyszczącej wyświetlacz
LCALL SPR_BUSY
;sprawdzenie zajętości wyświetlacza
CLR P2.1
CLR P2.2
MOV P1,#38H
;przesłanie kolejnego rozkazu konfiguracyjnego
SETB P2.0
CLR P2.0
LCALL SPR_BUSY
;sprawdzenie zajętości
CLR P2.1
;kolejny rozkaz konfiguracyjny
CLR P2.2
MOV P1,#0CH
SETB P2.0
CLR P2.0
RET
;powrót do programu głównego
SPR_BUSY:
;podprogram sprawdzający zajętość wyświetlacza
MOV P1,#0FFH
;ustawienie linii portu - praca jako wejście
CLR P2.1
;odczyt bajtu
SETB P2.2
;statusu wyświetlacza
SETB P2.0
MOV A,P1
;odczyt szyny danych
CLR P2.0
JB ACC.7,SPR_BUSY ;pozostanie w pętli jeśli zajęty
RET
;powrót do programu głównego
CLR_LCD:
;podprogram czyszczenia zawartości wyświetlacza
LCALL SPR_BUSY
;sprawdzenie czy zajęty
CLR P2.1
CLR P2.2
MOV P1,#01H
;wysłanie rozkazu zerowania
SETB P2.0
CLR P2.0
RET
;powrót do programu głównego
LCD. Przedstawienie pe³nej specy-
fikacji tego typu wyúwietlaczy
wykracza poza ramy tego artyku-
³u. Jest to zwi¹zane m.in. z†tym,
øe przedstawiony tutaj sposÛb ob-
s³ugi wyúwietlacza LCD moøe byÊ
nieskuteczny w†przypadku zastoso-
wania wyúwietlacza innego rodza-
ju (inna liczba znakÛw i†linii,
niekiedy wystarczy tylko inny
producent), co wi¹za³oby siÍ
z†przedstawieniem ogromnej liczby
procedur w†celu zapewnienia
wspÛ³pracy z†kaød¹ moøliw¹ kon-
figuracj¹. Wydaje siÍ jednak, øe
przedstawione tutaj informacje
w†po³¹czeniu z†not¹ katalogow¹
sterownika HD44780 pozwol¹
úrednio doúwiadczonemu progra-
miúcie opracowanie podprogramÛw
odpowiednich dla danego, uøywa-
nego przez niego, modelu.
List. 7.
;ZNAK - zmienna bajtowa przechowująca kod znaku do wyświetlenia
WYSW_ZNAK:
LCALL SPR_BUSY ;sprawdzenie zajętości
SETB P2.1
;tryb zapisu
CLR P2.2
;danej
MOV P1,ZNAK
;wysłanie kodu znaku na szynę danych
SETB P2.0
;impuls
CLR P2.0
;strobujący
RET
;powrót do programu głównego
82
Elektronika Praktyczna 8/2003
32642912.013.png
K U  R S
Rys. 23
stosowanie transoptora zapewnia
izolacjÍ galwaniczn¹ do napiÍcia
rzÍdu 5000 V†(w zaleønoúci od
producenta).
W†przypadku sterowania elektro-
nicznego urz¹dzeniami pracuj¹cymi
przy niskim napiÍciu sta³ym, naj-
lepiej jest zastosowaÊ w³¹czanie ob-
ci¹øenia przy pomocy tranzystora
MOSFET duøej mocy. SytuacjÍ ta-
k¹ przedstawiono na rys. 23c .
Tranzystor mocy MOS z†kana³em
N†sterowany jest tutaj przez
wzmacniacz operacyjny pracuj¹cy
w†uk³adzie komparatora. Jako na-
piÍcia wejúciowe do wzmacniacza
operacyjnego doprowadzono poten-
cja³ rÛwny po³owie napiÍcia zasi-
lania mikrokontrolera, wytworzony
za pomoc¹ rezystorÛw R2 i†R3 oraz
napiÍcie z†linii portu mikrokontro-
lera. Zasilanie wzmacniacza napiÍ-
ciem 12 V†jest niezbÍdne ze wzglÍ-
du na napiÍcie progowe tranzysto-
ra MOS, ktÛre dla elementÛw du-
øej mocy moøe siÍgaÊ nawet 8†V.
Sterowanie takiego elementu bezpo-
úrednio z†wyprowadzenia mikrokon-
trolera (napiÍcie steruj¹ce max. 5V)
doprowadzi³oby do znacznych strat
mocy na tranzystorze, wskutek nie-
pe³nego otwarcia jego kana³u. Za-
stosowany rezystor R1 ogranicza
pr¹d zwi¹zany z†prze³adowaniem
pojemnoúci bramki tranzystora MOS
(rzÍdu nawet 10 nF). W†prezento-
wanym uk³adzie wyst¹pienie jedyn-
ki logicznej na wyprowadzeniu
portu doprowadzi do za³¹czenia
tranzystora (napiÍcie wyjúciowe
wzmacniacza rÛwne napiÍciu zasi-
lania).
Pawe³ Hadam, AVT
pawel.hadam@ep.com.pl
wraz z†trakiem, w†uk³adzie jak na
rys. 23b ). Od strony mikrokontro-
lera sterowanie odbywa siÍ w†iden-
tyczny sposÛb jak sterowanie dio-
dy LED - moøna wykorzystaÊ prze-
znaczony do takich zastosowaÒ
port mikrokontrolera lub w†razie
potrzeby bufor z†tranzystorem. Od
strony wysokiego napiÍcia wystÍpu-
je triak mocy sterowany przez op-
totriak wbudowany do transoptora.
Na przedstawionym schemacie
umieszczono optotriak MOC3043,
ktÛry jest wyposaøony w†uk³ad wy-
krywania przejúcia przez zero na-
piÍcia sieci, co umoøliwia elimina-
cjÍ zak³ÛceÒ wnoszonych do sieci
przy w³¹czaniu triaka. Rezystory
R2 i†R3 polepszaj¹ warunki pracy
uk³adu wykrywania zera. Jeúli za-
stosujemy optotriak z†serii
MOC3023 (bez uk³adu wykrywania
zera), to powyøsze rezystory nie s¹
niezbÍdne. Warto jednak zostawiÊ
rezystor R2 - zabezpiecza on trans-
optor przed przeci¹øeniem w†przy-
padku uszkodzenia triaka g³Ûwnego
- wÛwczas ca³y pr¹d obci¹øenia
mÛg³by pop³yn¹Ê przez optotriak
i†spowodowaÊ jego zniszczenie. Za-
Elektronika Praktyczna 8/2003
83
32642912.001.png 32642912.002.png 32642912.003.png 32642912.004.png 32642912.005.png 32642912.006.png 32642912.007.png 32642912.008.png 32642912.009.png 32642912.010.png
Zgłoś jeśli naruszono regulamin