Suplement do ćwiczeń z mikrokontrolerami AVR

Transkrypt

Suplement do ćwiczeń z mikrokontrolerami AVR
Materiały pomocnicze:
Uruchamianie wyświetlacza LCD na mikrokontrolerach AVR
taktowanych częstotliwością 8 MHz
1. Konfiguracja mikrokontrolera do pracy z częstotliwością 8 MHz
Na niektórych egzemplarzach zestawów uruchomieniowych ZL3AVR nie moŜna uzyskać
prawidłowej pracy wyświetlacza LCD ze sterownikiem HD44780 pomimo napisania poprawnego
programu. Wynika to z rozrzutu parametrów wyświetlaczy - niektóre z nich nie chcą poprawnie
pracować przy częstotliwości taktowania mikrokontrolera równej 16 MHz.
Na
podstawie
przeprowadzonych prób stwierdzono, Ŝe dla częstotliwości 8 MHz wspomniany efekt nie
występuje.
W celu uzyskania właśnie takiej częstotliwości naleŜy odpowiednio skorygować plik
makefile i plik programu dla mikrokontrolera. W pierwszym przypadku naleŜy zmienić linie:
# Processor frequency.
F_CPU = 16000000
na:
# Processor frequency.
F_CPU = 8000000
W tekście programu dla mikrokontrolera naleŜy zmienić treść makra:
#define F_CPU 16000000
na
#define F_CPU 8000000
Liczby występujące powyŜej to częstotliwość taktowania mikrokontrolera w [Hz].
2. Ustawianie bitów konfiguracyjnych mikrokontrolera
Za pomocą programu Kammami AVR programmer naleŜy odpowiednio zaprogramować bity
konfiguracyjne mikrokontrolera (zakładka Fuse bits). Częstotliwość taktowania konfiguruje się za
pomocą bitów CKSEL/SUT. Domyślnie procesor jest taktowany zewnętrznym rezonatorem
kwarcowym 16 MHz - rys. 1. NaleŜy wybrać z dostępnych moŜliwości opcję wewnętrzny oscylator
RC 8 MHz (Int. RC Osc. 8 MHz; …) – rys. 2. Ustawienia naleŜy zatwierdzić wciskając przycisk
Write. Mikrokontroler jest przygotowany do pracy z częstotliwością 8 MHz.
3. Transmisja danych portem szeregowym przy częstotliwości 8 MHz
Częstotliwość taktowania mikrokontrolera i szybkość transmisji danych poprzez port
szeregowy są ze sobą związane. Przy obniŜeniu tego pierwszego parametru naleŜy równieŜ
skorygować szybkość transmisji danych.
2
Rys. 1. Okno programu Kammami AVR programmer, zakładka Fuse bits
CKSEL/SUT - Zewnętrzny rezonator kwarcowy o wysokiej częstotliwości
Rys. 2. Okno programu Kammami AVR programmer, zakładka Fuse bits
CKSEL/SUT - Zewnętrzny rezonator kwarcowy o wysokiej częstotliwości
W pliku konfiguracyjnym części sprzętowej naleŜy zmienić linie:
#define UART_BAUD
19200
// prędkość transmisji danych
3
na
#define UART_BAUD
9600
// prędkość transmisji danych
Wersja z dn. 11.04.2011 r.