obrazekobrazek
obrazek
obrazek

Kurs AVR-GCC cz.2

30.11.2008 ABXYZ

Pan jesteś zerem W pierwszym odcinku kursu zainstalowaliśmy pakiet programów WinAVR, nauczyliśmy się kompilować kody źródłowe programów oraz ładować programy do pamięci flash mikrokontrolera AVR. W tej części kursu zaczniemy pisać proste programy w języku C, poznamy w jaki sposób programować równoległe porty wejścia/wyjścia układów AVR. Zaczniemy od naprawdę prostych przykładów :), zupełnie od zera. Jeśli i tak coś w tekście będzie niezrozumiałe, to nie należy szybko się zniechęcać, w trakcie dalszej lektury kursu powinno się wyjaśnić.

Równoległe porty wejścia/wyjścia

Układ atmega8 w obudowie DIP28, na którym będziemy uruchamiać przykładowe programy, posiada 28 wyprowadzeń, z których 23 mogą służyć jako uniwersalne binarne wejścia/wyjścia. Linie we/wy atmega8 podzielone są na trzy grupy, nazwane: PORTB, PORTC i PORTD. Mikrokontrolery AVR w obudowach DIP40(atmega16, atmega32) posiadają cztery porty: A,B,C,D; natomiast attiny2313 w obudowie DIP20, posiada: PORTA (tylko PA0..PA2), PORTB i PORTD(PD0..PD6).

PORTB układu atemga8 posiada osiem linii we/wy (PB0..PB7), ale jeśli zamierzamy podłączyć do mikrokontrolera rezonator, to linie PB6 i PB7 odpadają. Z kolei wyprowadzenia: 17(PB3), 18(PB4) i 19(PB4) wykorzystywanie są przy programowaniu szeregowym ISP pamięci flash mikrokontrolera. PORTC uC atmaga8 posiada 7 linii we/wy (PC0..PC6), ale wyprowadzenie 1(PC6) normalnie pełni rolę wejścia sygnału reset mikroprocesora. Aby wykorzystywać wyprowadzenie 1(PC6) atmeg8 jako kolejną linię portu we/wy, potrzeba zaprogramować fuse-bit RSTDISBL (na temat fuse-bitów będę pisał), lecz w ten sposób pozbawimy się możliwości programowania szeregowego ISP pamięci FLASH mikrokontrolera. PORTD atmega8 posiada 8 linii we/wy (PD0..PD7).

obrazek
Rozkład wyprowadzeń mikrokontrolera ATmega8

Każda z wymienionych linii we/wy układu atmega8 może zostać indywidualnie skonfigurowana jako binarne wejście lub wyjście. Domyślnie wszystkie ustawione są wejściami z wyjątkiem wyprowadzenia 1 (RESET|PC6), które jest normalnie w atmega8 wejściem sygnału RESET mikroprocesora.

W dalszej części artykułu, znajdziesz szczegółowe opis następujących zagadnień:

Zapraszamy do zapoznania się z dalszą częścią artykułu.

Pytania? Komentarze? Zobacz forum!

Autor strony nie gwarantuje, że podawane tu informacje, porady, schematy oraz kody źródłowe programów są wolne od błędów i w żadnym wypadku nie może ponosić odpowiedzialności za jakiekolwiek szkody powstałe w wyniku ich wykorzystania.

© 2009 abxyz. Wszelkie prawa zastrzeżone mordka
Strona jest częścią wortalu forbot.pl
obrazekobrazek