Laboratorium Systemów wbudowanych Ćwiczenie nr 2 Podstawy

Transkrypt

Laboratorium Systemów wbudowanych Ćwiczenie nr 2 Podstawy
Laboratorium Systemów wbudowanych
Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie
Ćwiczenie nr 2
Podstawy programowania mikrokontrolerów rodziny AVR8
opracował dr inż. Wojciech Zaborowski
Plan ćwiczenia:
Ćwiczenie wykonywane jest z wykorzystaniem zestawu uruchomieniowego ZL15AVR
firmy Kamami. Zestaw uruchomieniowy zbudowany jest w oparciu o mikrokontroler
ATMEL Atmega32. Szczegółowe informacje na temat budowy zestawu można uzyskać
z jego dokumentacji (http://www.kamami.pl/dl/zl15avr.pdf). Do programowania
mikrokontrolera wykorzystany zostanie pakiet oprogramowania AVR Studio 4 wraz
z pakietem WinAVR. Połączenie tych dwóch pakietów pozwala w prosty sposób
programować mikrokontrolery rodziny AVR z poziomu języka C z wykorzystaniem
graficznego interfejsu użytkownika.
Zestaw jest zasilany z portu USB komputera. Dodatkowo do programowania
mikrokontrolera wykorzystuje się dedykowany programator z interfejsem JTAG
(ZL15PRG) podłączony do drugiego portu USB.
1 Komunikacja z komputerem PC poprzez łącze RS232
Przeanalizować i uruchomić przykładowy projekt znajdujący się w archiwum uart.zip
Konfiguracja zestawu ZL15AVR przewiduje wykorzystanie do komunikacji linii RxD oraz
TxD złącza Con7 (nie korzysta z sygnałów TxU, RxU)
Przykładowy projekt realizuje komunikację z komputerem PC przez interfejs RS232.
Interfejs ten występuje w komputerach PC najczęściej pod nazwą pot COM1÷COM4. Do
obsługi komunikacji przez to złącze wykorzystać można standardowo dostępny w
systemie operacyjnym Windows program Hyper Terminal lub programu Bray Terminal
(odpowiednie skróty znajdują się na pulpicie).
Standardowo zestaw ZL15AVR łączy się z komputerem PC poprzez port COM1. Do
nawiązania poprawnej komunikacji pomiędzy płytą ZL15AVR a komputerem PC należy
odpowiednio skonfigurować port komunikacyjny COMx (zwykle jest to COM1) – jeśli
Hyper Terminal został uruchomiony poprzez skrót umieszczony na pulpicie jest już on
odpowiednio skonfigurowany by poprawnie odbierać znaki od mikrokontrolera
zaprogramowanego przykładowym projektem.
Prędkość transmisji, z jaką dane są wysyłane z mikrokontrolera ATmega32 definiuje się
przy pomocy stałej BAUD, w trakcie inicjalizacji USART mikrokontrolera (należy
odszukać odpowiedni fragment w udostępnionym kodzie źródłowym i taką samą
wartość wybrać w trakcie konfiguracji połączenia programu Hyper Terminal, w polu
Baud rate – Liczba bitów na sekundę).
Pozostałe parametry transmisji konfiguruje się następująco: bity danych: 8, parzystość :
Brak, Bity stopu: 1, sterowanie przepływem: Brak.
Wersja z dnia 2010-12-16 11:44
1
Po zaprogramowaniu mikrokontrolera i poprawnej konfiguracji programu Hyper
Terminal, na ekranie komputera i na wyświetlaczu LCD zestawu ZL15AVR pojawi się
stosowny komunikat.
Wpisując w oknie Hyper Terminala dowolny ciąg znaków zakończony naciśnięciem
klawisza ENTER powinien się on pojawić na wyświetlaczu LCD zestawu.
Zmieniając odpowiednio prędkość transmisji, przetestować maksymalną możliwą do
uzyskania prędkość przesyłu danych pomiędzy mikrokontrolerem a komputerem PC.
UWAGA ! – aby transmisja przebiegała poprawnie ta sam prędkość transmisji musi być
ustawiona zarówno na komputerze PC (HyperTerminal) jak i w programie działającym
na mikrokontrolerze
2 Zegar czasu rzeczywistego
Na płycie ZL15AVR dostępny jest układ zegara czasu rzeczywistego M41T00 [1].
Mikrokontroler z zegarem komunikuje się poprzez interfejs I2C. Od strony
mikrokontrolera do komunikacji wykorzystany zostanie sprzętowy interfejs TWI
(zgodny ze standardem I2C).
W układzie połączeń pozostawić podłączony wyświetlacz LCD. Oraz połączenia RxD
i TxD interfejsu RS232.
Wykonać dodatkowe połączenia linii SDA i SCL zgodnie z opisem w kodzie źródłowym.
2.1 Zadanie 1
Uruchomić przykładowy projekt (znajdujący się w archiwum rtc.rar). Wyniki działania
programu można obserwować w oknie terminala.
Na podstawie dostępnej dokumentacji do układu zegara oraz analizy przykładowego
projektu należy doprowadzić do sytuacji, aby zegar wskazywał aktualny czas.
2.2 Zadanie 2
Kolejnym krokiem będzie zmodyfikowanie programu dla mikrokontrolera aby aktualny
czas był wyświetlany na ekranie wyświetlacza LCD. Można w tym celu użyć procedur
znajdujących się w wykorzystywanej już wcześniej bibliotekę obsługi wyświetlacza LCD.
3 Literatura
[1]
STMicroelectronics: M41T00 serial real-time clock. Rev 9. 05.2008. Dostępna
online: http://www.st.com/stonline/books/pdf/docs/6100.pdf
[2]

Podobne dokumenty