LABORATORIUM MIKROPROCESORÓW I MIKROKONTROLERÓW
9
wiczenie nr
1
Sterowanie linii wej !/wyj !
mikrokontrolera
Kraków 2006
Copyright ukasz Zelek
LABORATORIUM MIKROPROCESORÓW I MIKROKONTROLERÓW
10
I
NFORMACJE WST
PNE
Temat
!wiczenia
Tematem !wiczenia jest sterowanie linii wej"!/wyj"! mikrokontrolera AduC812, czyli
bitowe adresowanie portów mikrokontrolera, przy wpisywaniu i czytaniu stanów
logicznych z wybranych linii portów.
Zakres obowi
"zuj"cego materia#u
!"
Podstawy programowania w j#zyku asemblera 8051.
!"
Mnemonika rozkazów mikrokontrolerów rodziny 8051.
!"
Adresacja portów i nó$ek mikrokontrolera AduC812.
!"
Budowa portów mikroprocesorów przy czytaniu i pisaniu do portu.
!"
Cz#stotliwo"! pracy mikrokontrolerów w zale$no"ci od do%&czonego rezonatora
kwarcowego.
!"
Cykl zegarowy a cykl maszynowy mikrokontrolera AduC812.
!"
Czas wykonywania rozkazów.
!"
Kompilacja plików *.ASM do postaci *.HEX.
!"
'adowanie i uruchamianie programu na mikroprocesorze.
Cel
!wiczenia
Celem tego !wiczenia jest zapoznanie wykonuj&cego !wiczenie z podstawami
programowania linii portów mikrokontrolerów rodziny 8051. wiczenie wprowadza w
podstawy prostego sterowania urz&dze( do%&czonych do portów mikrokontrolera, jak
równie$ odczytywania informacji pojawiaj&cych si# na portach z zewn&trz i wykorzystania
ich do sterowania urz&dze(.
Kraków 2006
Copyright ukasz Zelek
LABORATORIUM MIKROPROCESORÓW I MIKROKONTROLERÓW
11
P
RZEBIEG
$WICZENIA
Do ka$dego zadania zosta% napisany program w asemblerze 8051. Przed uruchomieniem
ka$dego programu nale$y si# zapozna! z plikiem )ród%owym (rozszerzenie *.ASM), a
nast#pnie skompilowa! plik do postaci *.HEX. Jest to plik programu wykonywany przez
mikroprocesor. Po skompilowaniu nale$y za%adowa! program do mikrokontrolera
odpowiednim programem %aduj&cym.
Zadanie 1 – Zapalenie diody
Program ten po uruchomieniu zapala diod# pod%&czon& do linii portu. Zapalenie diody
nast#puje po wpisaniu na lini# portu stanu niskiego.
Zadanie 2 – W
#"czanie diody switchem
Program ten ma na celu zapala! diod# wtedy gdy jest naci"ni#ty odpowiedni przycisk.
Dzia%anie programu polega na przeniesieniu stanu z linii portu do którego jest do%&czony
switch na port do którego do%&czona jest dioda.
Zadanie 3 – Mruganie diod
"
W programie tym jest zrealizowane programowe w%&czanie i wy%&czanie diody co pewien
okre"lony przedzia% czasu.
Opó)nienie czasowe jest realizowane na zasadzie powtarzania rozkazów (rozkaz DJNZ)
przez pewien odcinek czasu okre"lony przez zawarto"! komórki pami#ci.
Zadanie 4 – Próbkowanie switch’a
Próbkowanie switch’a polega na sprawdzeniu stanu na switch’u co pewien czas. Przedzia%
czasu musi by! taki $eby eliminowa% drgania mechaniczne klawiatury które wyst#puj& przy
naci"ni#ciu przycisku i powoduj& generacj# kilku impulsów zamiast jednego ustalonego
stanu.
Program powoduje zmian# stanu na diodzie przy ka$dym naci"ni#ciu switch’a. Opó)nienie
czasowe realizowane jest poprzez wywo%anie podprogramu z opó)nieniem.
Zadanie 5 – Wykonanie w
#asnego programu
Nale$y uruchomi! program napisany przez siebie. Zasad# dzia%ania programu mo$e poda!
prowadz&cy !wiczenia, b&d) mo$e by! to jedna z propozycji z nast#pnego rozdzia%u.
Kraków 2006
Copyright ukasz Zelek
LABORATORIUM MIKROPROCESORÓW I MIKROKONTROLERÓW
12
P
ROPOZYCJE ZADA
% DO SAMODZIELNEJ REALIZACJI
Propozycja 1
Do linii portów pod%&czone s& ró$ne switch’e, oraz brz#czek. Nale$y napisa! program który
jednym switch’em zapala diod#, a drugim w%&cza brz#czek. Do tego celu mo$na
zmodyfikowa! zadanie nr 2.
Propozycja 2
Nale$y napisa! program który po kilku mrugni#ciach diody za%&cza brz#czek, a po
nast#pnych kilku wy%&cza go. Do tego celu mo$na wykorzysta! zadanie nr 4 z opó)nieniem
czasowym.
Propozycja 3
Po zrealizowaniu dwóch poprzednich propozycji, nale$y je tak po%&czy! w jeden program
aby jeden switch w%&cza% diod#, a drugi brz#czek. Ponowne wci"ni#cie wybranego switch’a
ma wy%&czy! odpowiednio diod# lub brz#czek. Stan w%&czenia diody lub switch’a polega
na zmianie stanu na danym urz&dzeniu co pewien okre"lony przedzia% czasu, z tym $e,
cz#stotliwo"ci mrugania diody i w%&czania brz#czka maja by! ró$ne od siebie.
Kraków 2006
Copyright ukasz Zelek