Instrukcja - IME

Transkrypt

Instrukcja - IME
PODSTAWY TECHNIKI MIKROPROCESOROWEJ
Laboratorium
Elektrotechnika, studia stacjonarne pierwszego stopnia
Temat: Pomiar temperatury z wykorzystaniem układu LM35 oraz
przetwornika analogowo-cyfrowego
imei
Instytut Metrologii,
Elektroniki i Informatyki
Ćwiczenie 6
Opracowanie instrukcji: dr inż. Mirosław Kozioł
Cel ćwiczenia
Celem ćwiczenia jest zapoznanie studentów z obsługą przetwornika analogowo-cyfrowego
dołączonego do magistrali systemowej systemu mikroprocesorowego, bazującego na
mikrokontrolerze rodziny MCS-51, oraz scalonego czujnika temperatury LM35. Ćwiczenie ma również
na celu rozwinięcie umiejętności programowania strukturalnego.
Przygotowanie do ćwiczenia
Przed przystąpieniem do ćwiczenia należy przygotować odpowiedzi na poniższe pytania.
1. Za pomocą jakich działań arytmetycznych można określić wartość cyfry setek, dziesiątek
i jedności 8-bitowej liczby?
2. Jak z poziomu języka C używając kompilatora SDCC dla mikrokontrolerów rodziny MCS-51
dokonać zapisu/odczytu informacji do/z komórki zewnętrznej pamięci danych
mikrokontrolera o konkretnym adresie?
3. W jaki sposób na makiecie dydaktycznej IME-LabTM realizowany jest dostęp do przetwornika
analogowo-cyfrowego?
4. W jaki sposób dokonuje się ustalenia trybu pracy dla określonego kanału multipleksera
przetwornika analogowo-cyfrowego znajdującego się na makiecie dydaktycznej
wykorzystywanej w ćwiczeniu?
5. W jaki sposób dokonać startu przetwornika analogowo-cyfrowego, znajdującego się na
makiecie dydaktycznej wykorzystywanej w ćwiczeniu, do konwersji w określonym kanale?
6. W jaki sposób stwierdzić koniec przeprowadzania konwersji przez przetwornik analogowocyfrowy znajdujący się na makiecie dydaktycznej wykorzystywanej w ćwiczeniu?
7. W jaki sposób można odczytać z przetwornika analogowo-cyfrowego, znajdującego się na
makiecie dydaktycznej wykorzystywanej w ćwiczeniu, wynik przeprowadzonej konwersji?
8. Podaj zależność, według której można dokonać przeliczenia kodu odczytanego
z przetwornika analogowo-cyfrowego znajdującego się na makiecie IME-LabTM na napięcie.
9. Podaj zależność pozwalającą na przeliczenie napięcie wyjściowego z układu LM35 na wartość
temperatury wyrażoną w stopniach Celsjusz z uwzględnieniem wzmacniacza znajdującego się
między tym układem a wejściem analogowym przetwornika analogowo-cyfrowego.
Program ćwiczenia
Wykorzystując makietę dydaktyczną IME-LabTM pracującą pod kontrolą programu monitora
PAULMON2 napisz program w języku C implementując kolejno przedstawione poniżej zadania.
Podczas pisania programów zastosuj zasady programowania strukturalnego.
32
Zadanie 1
a) Napisz program, który z 8-bitowej wartości podanej przez prowadzącego wydzieli cyfrę setek,
dziesiątek i jedności, uzyskane cyfry zamieni na ich kody zapisując je do zmiennej będącej
ciągiem znakowym, a następnie ciąg ten zaprezentuje na wyświetlaczu LCD. Pisząc program,
wymienione zadanie zrealizuj w postaci jednej funkcji, której parametrem wejściowym jest
wartość do zaprezentowania na wyświetlaczu. Przy obsłudze wyświetlacza LCD skorzystaj
z kodu napisanego podczas realizacji ćwiczenia 5.
b) Sprawdź poprawność działania programu uruchamiając go na makiecie IME-LabTM.
W przypadku nieprawidłowego działania programu zlokalizuj i usuń błędy, które takie
działanie powodują. Poprawnie działający program zaprezentuj prowadzącemu zajęcia.
Zadanie 2
a) Rozwiń program o obsługę kanału 5 przetwornika analogowo-cyfrowego, do którego
podłączony jest zadajnik napięcia zrealizowany na potencjometrze R48. Uruchamiając
przetwornik do konwersji ustaw kanał 5 do pracy w trybie niesymetrycznym. Wykrycie końca
konwersji zrealizuj na zasadzie pollingu. Odczytaną z przetwornika wartość zaprezentuj na
ośmiu diodach LED (elementy D3 do D10) znajdujących się na makiecie IME-LabTM.
b) Wykonaj działania wymienione w punkcie b) zadania 1 w stosunku do bieżącej wersji
programu.
Zadanie 3
a) Zmodyfikuj program w taki sposób, aby zamiast obsługi kanału 5 przetwornika analogowocyfrowego realizować obsługę kanału 6, do którego podłączony jest czujnik temperatury
LM35. Uruchamiając przetwornik do konwersji ustaw kanał 6 do pracy w trybie
niesymetrycznym. Wykrycie końca konwersji zrealizuj na zasadzie pollingu. Odczytaną z
przetwornika wartość zaprezentuj na wyświetlaczu LCD wykorzystując funkcję napisaną w
punkcie 1 tego ćwiczenia.
b) Wykonaj działania wymienione w punkcie b) zadania 1 w stosunku do bieżącej wersji
programu.
c) Korzystając z informacji przedstawionych w punkcie 4.4.3 instrukcji do makiety IME-LabTM za
pomocą kalkulatora dokonaj przeliczenia odczytanego z przetwornika kodu na temperaturę.
Obliczenia i ich wynik przedstaw prowadzącemu zajęcia.
Zadanie 4
a) W tworzonym programie dodaj funkcję, która będzie automatycznie dokonywała przeliczenia
kodu odczytanego z kanału 6-tego przetwornika analogowo-cyfrowego na temperaturę.
Wynik konwersji zaprezentuj na wyświetlaczu LCD według wzoru przedstawionego poniżej.
Temperatura
23,5°C
b) Wykonaj działania wymienione w punkcie b) zadania 1 w stosunku bieżącej wersji programu.
Zadanie 5
a) Zamień obsługę wykrycia końca konwersji kanału 6 przetwornika analogowo-cyfrowego na
przerwania zewnętrzne przyjmowane na linii INT0.
33
b) Wykonaj działania wymienione w punkcie b) zadania 1 w stosunku do bieżącej wersji
programu.
Sprawozdanie z ćwiczenia
Sprawozdanie z ćwiczenia powinno być dostarczone prowadzącemu zajęcia w określonej przez
niego formie (pisemnej lub elektronicznej) i zawierać:
• algorytm działania i opatrzony komentarzami kod źródłowy ostatniej wersji zrealizowanego
programu,
• opis słowny wyjaśniający działania podjęte podczas realizacji kolejnych zadań.
Informacje dotyczące komentowania kodu programu oraz tworzenia schematów blokowych
algorytmów pracy programów znajdują się w instrukcji do ćwiczenia 3.
Literatura
[1] Instrukcja do makiety dydaktycznej IME-LabTM.
[2] Wykłady do przedmiotu.
[3] Baranowski R.: „Wyświetlacze graficzne i alfanumeryczne w systemach mikroprocesorowych”.
Wydawnictwo BTC, Legionowo 2008.
[4] Bogusz J.: „Programowanie mikrokontrolerów 8051 w języku C w praktyce”. Wydawnictwo BTC,
Warszawa 2005.
[5] Kernighan W., Ritchie D.M.: „ANSI C”. WNT, Warszawa 1992.
[6] Kulka Z., Libura A., Nadachowski M.: „Przetworniki analogowo-cyfrowe i cyfrowo-analogowe”.
WKiŁ, Warszawa 1987.
[7] van de Plassche R.: „Scalone przetworniki analogowo-cyfrowe i cyfrowo-analogowe”. WKŁ,
Warszawa 1997.
[8] Rydzewski A.: „Mikrokomputery jednoukładowe rodziny MCS-51”. WNT, Warszawa 1992.
[9] Starecki T.: „Mikrokontrolery jednoukładowe rodziny 51”. Wydawnictwo NOZOMI, Warszawa
1996.
[10] Starecki T.: „Mikrokontrolery 8051 w praktyce”. Wydawnictwo BTC, Warszawa 2003.
[11] Majewski J.: „Programowanie mikrokontrolerów 8051 w języku C, pierwsze kroki”. Wydawnictwo
BTC, Warszawa 2005.
34

Podobne dokumenty