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