Kompletny poradnik programowania ATtiny2313 w Bascom dla początkujących

Kompletny poradnik programowania ATtiny2313 w Bascom dla początkujących
Autor Tomasz Krzyśko
Tomasz Krzyśko2 listopada 2024 | 7 min

Mikrokontroler ATtiny2313 to zaawansowany układ elektroniczny z rodziny AVR, który mimo niewielkich rozmiarów oferuje imponujące możliwości. Wyposażony w 2 KB pamięci Flash, 128 bajtów EEPROM i SRAM, sprawdza się doskonale w prostych projektach elektronicznych. Programowanie w środowisku BASCOM otwiera przed użytkownikami szerokie spektrum zastosowań. Ten niewielki, ale wydajny chip pracuje z częstotliwością do 20 MHz. Ma 20 pinów. Działa na napięciu od 2.7V do 5.5V.

Środowisko BASCOM, choć wymaga pewnej konfiguracji, pozwala na szybkie rozpoczęcie pracy z ATtiny2313. Najnowsze wersje oferują pełne wsparcie dla tego mikrokontrolera. Starsze mogą wymagać dodatkowych plików definicyjnych.

Najważniejsze informacje:
  • ATtiny2313 to 8-bitowy mikrokontroler z rodziny AVR
  • Posiada 2 KB pamięci Flash do programowania
  • Obsługuje interfejsy UART, SPI i I2C
  • Wspiera PWM na wybranych pinach
  • Programowanie możliwe przez środowisko BASCOM
  • Wymaga podstawowej konfiguracji przed rozpoczęciem pracy
  • Idealny do projektów edukacyjnych i prostych aplikacji
  • Najnowsze wersje BASCOM mają wbudowane wsparcie dla układu

Wymagania przed rozpoczęciem programowania ATtiny2313

Do rozpoczęcia przygody z programowaniem ATtiny2313 potrzebny jest podstawowy zestaw narzędzi sprzętowych i programowych. Programator AVR to kluczowy element wyposażenia, który pozwoli wgrać kod do mikrokontrolera. Środowisko BASCOM wymaga systemu Windows oraz minimum 2GB RAM.

Przed instalacją BASCOM warto przygotować stanowisko pracy z odpowiednim zasilaniem i multimetrem do weryfikacji połączeń. Płytka prototypowa ułatwi pierwsze eksperymenty. Dobra dokumentacja techniczna to podstawa szybkiej nauki.

  • Programator AVR (np. USBasp lub AVRISP)
  • Komputer z systemem Windows
  • Środowisko BASCOM-AVR
  • Mikrokontroler ATtiny2313
  • Płytka prototypowa
  • Zasilacz 5V lub konwerter USB-UART
  • Podstawowe elementy elektroniczne (LED, rezystory)
  • Multimetr do diagnostyki

Specyfikacja techniczna mikrokontrolera ATtiny2313

ATtiny2313 to kompaktowy mikrokontroler 8-bitowy z rodziny AVR. Układ oferuje świetny balans między możliwościami a ceną. Sprawdzi się idealnie w projektach edukacyjnych i amatorskich.

Rodzina AVR ATtiny
Pamięć Flash 2 KB
Pamięć SRAM 128 bajtów
Pamięć EEPROM 128 bajtów
Zasilanie 2.7V - 5.5V
Interfejsy UART, SPI, I2C (USI)
Częstotliwość 0 - 20 MHz

Instalacja i konfiguracja środowiska BASCOM

Instalacja środowiska BASCOM-AVR rozpoczyna się od pobrania odpowiedniej wersji ze strony producenta. Najnowsza wersja zawiera już wbudowane wsparcie dla ATtiny2313. Program instalujemy krok po kroku według kreatora.

Po instalacji konieczne jest skonfigurowanie ścieżek dostępu do kompilatora i programatora. W menu Options > Programmer wybieramy nasz model programatora. Warto też sprawdzić ustawienia portów COM.

Ostatnim krokiem jest weryfikacja poprawności instalacji poprzez kompilację przykładowego programu. BASCOM powinien rozpoznać wszystkie biblioteki i pliki konfiguracyjne dla ATtiny2313.

Porada: Jeśli używasz starszej wersji BASCOM-AVR, może być konieczne ręczne dodanie pliku definicyjnego attiny2313.dat do katalogu DAT. Plik można pobrać ze strony producenta lub nowszej wersji programu.

Pierwsze uruchomienie i konfiguracja projektu

Po pierwszym uruchomieniu BASCOM tworzymy nowy projekt dedykowany dla ATtiny2313. Wybieramy odpowiedni mikrokontroler z listy dostępnych układów. Program automatycznie załaduje podstawowe ustawienia.

Konfiguracja projektu wymaga ustawienia częstotliwości taktowania i typu programatora. Wszystkie opcje dostępne są w menu Project > Project Options. Warto zapisać projekt w dedykowanym katalogu.

```basic $regfile = "attiny2313.dat" 'definicja mikrokontrolera $crystal = 4000000 'częstotliwość 4MHz $hwstack = 32 'rozmiar stosu sprzętowego $swstack = 10 'rozmiar stosu programowego ```

Podstawy programowania pinów w ATtiny2313

ATtiny2313 oferuje 18 programowalnych linii I/O. Każdy pin może być skonfigurowany jako wejście lub wyjście cyfrowe. Konfiguracja odbywa się przez odpowiednie rejestry DDRx.

Rejestry PORTx służą do ustawiania stanów wyjściowych i rezystorów podciągających. Odczyt stanu pinów realizowany jest przez rejestry PINx.

```basic Config Portb = Output 'cały port B jako wyjście Config Pind = Input 'cały port D jako wejście ```

```basic Config Portb.0 = Output 'pojedynczy pin jako wyjście Config Portd.2 = Input 'pojedynczy pin jako wejście ```

Jak skonfigurować piny jako wejścia i wyjścia?

Konfiguracja pinów w ATtiny2313 wymaga znajomości podstawowych komend BASCOM-AVR. Każdy pin może pracować w trybie wejścia lub wyjścia. Wybór trybu determinuje sposób komunikacji z pinem.

Dla pinów wejściowych możemy aktywować wewnętrzne rezystory podciągające. Jest to szczególnie przydatne przy podłączaniu przycisków. W przypadku wyjść, możemy sterować stanem wysokim lub niskim.

Dla bezpieczeństwa układu, nieużywane piny powinny mieć zdefiniowany stan. Zapobiega to przypadkowym zmianom i zakłóceniom.

```basic Config Portb.1 = Output 'LED na pinie PB1 Config Portb.2 = Output 'LED na pinie PB2 Config Portd.4 = Input 'Przycisk na pinie PD4 Portd.4 = 1 'Włączenie rezystora podciągającego ```

Tworzenie pierwszego programu

Pierwszy program w środowisku BASCOM dla ATtiny2313 zwykle koncentruje się na obsłudze LED i przycisków. To pozwala szybko zweryfikować poprawność konfiguracji. Zacznijmy od migającej diody LED.

Program powinien zawierać pętlę główną reagującą na zdarzenia. Warto dodać opóźnienia między zmianami stanu, aby efekty były widoczne dla oka.

```basic Do If Pind.4 = 0 Then 'Jeśli przycisk wciśnięty Set Portb.1 'Zapal LED1 Wait 1 'Czekaj 1 sekundę Reset Portb.1 'Zgaś LED1 End If If Pind.5 = 0 Then 'Sprawdź drugi przycisk Toggle Portb.2 'Zmień stan LED2 Waitms 500 'Czekaj 500ms End If Loop ```

Powyższy kod realizuje dwie funkcje: pierwsza dioda miga po wciśnięciu przycisku, druga zmienia stan na przeciwny. Opóźnienia zapobiegają efektowi drgań styków.

Testowanie i debugowanie programu

Testowanie programu rozpoczynamy od kompilacji kodu w środowisku BASCOM-AVR. Kompilator wskaże ewentualne błędy składniowe. Warto korzystać z opcji debugowania krokowego.

Po wgraniu programu do ATtiny2313, sprawdzamy działanie każdej funkcji osobno. Najczęstsze problemy dotyczą nieprawidłowej konfiguracji pinów lub błędnych połączeń.

W przypadku problemów z działaniem układu, pomocny będzie multimetr do weryfikacji poziomów napięć na pinach.

  • Brak reakcji na przycisk - sprawdź rezystory podciągające
  • LED nie świeci - zweryfikuj polaryzację i rezystory szeregowe
  • Program się nie kompiluje - sprawdź składnię i konfigurację
  • Błędy podczas programowania - sprawdź połączenia programatora
  • Niestabilne działanie - zweryfikuj zasilanie układu

Rozwiązywanie typowych problemów

Początkujący programiści ATtiny2313 często napotykają problemy z konfiguracją środowiska. Najczęstsze trudności dotyczą ustawień fusebitów i częstotliwości taktowania. Warto zacząć od sprawdzenia podstawowych połączeń.

Problem z wgrywaniem programu może wynikać z nieprawidłowej konfiguracji programatora w BASCOM-AVR. Sprawdź ustawienia w menu Options > Programmer. Upewnij się, że wybrany jest właściwy typ programatora.

Niestabilna praca układu często wynika z problemów z zasilaniem. ATtiny2313 wymaga stabilnego napięcia w zakresie 2.7V-5.5V. Użyj kondensatorów filtrujących przy zasilaniu.

Błędy kompilacji mogą być spowodowane brakiem plików definicyjnych dla ATtiny2313. W starszych wersjach BASCOM konieczne może być ręczne dodanie tych plików do katalogu DAT.

Problem Przyczyna Rozwiązanie
Program się nie kompiluje Brak plików definicyjnych Dodaj plik attiny2313.dat do katalogu DAT
Błąd programowania Złe ustawienia programatora Sprawdź konfigurację w Options > Programmer
Niestabilna praca Problem z zasilaniem Dodaj kondensatory filtrujące, sprawdź napięcie
LED nie świecą Błędna konfiguracja pinów Zweryfikuj ustawienia Config Port
Przycisk nie działa Brak rezystora podciągającego Włącz wewnętrzny pullup lub dodaj zewnętrzny rezystor

Praktyczne wskazówki do rozpoczęcia pracy z ATtiny2313

Programowanie ATtiny2313 w BASCOM-AVR wymaga systematycznego podejścia i odpowiedniego przygotowania stanowiska pracy. Kluczem do sukcesu jest prawidłowa instalacja środowiska programistycznego oraz dokładne zrozumienie specyfikacji technicznej mikrokontrolera. Początkujący programiści powinni szczególną uwagę zwrócić na konfigurację pinów i podstawowe operacje wejścia/wyjścia.

Podczas pierwszych prób programowania warto skupić się na prostych projektach z diodami LED i przyciskami. Pozwoli to na praktyczne zrozumienie zasad działania mikrokontrolera i wykrycie potencjalnych problemów na wczesnym etapie. BASCOM oferuje przyjazne środowisko dla początkujących, ale wymaga dokładnego przestrzegania zasad konfiguracji i składni.

Większość problemów z ATtiny2313 można rozwiązać poprzez dokładną weryfikację połączeń, sprawdzenie ustawień programatora i kontrolę zasilania. Systematyczne podejście do debugowania i testowania kodu znacząco przyspiesza proces nauki i rozwoju umiejętności programowania mikrokontrolerów.

Źródło:

[1]

https://wileczeknet.blogspot.com/2012/09/programowanie-mikrokontrolerow-avr-cz-2.html

[2]

https://forum.ep.com.pl/viewtopic.php?t=11368

[3]

https://avrhelp.mcselec.com/attiny2313.htm

Najczęstsze pytania

Tak, programowanie ATtiny2313 jest możliwe na starszych wersjach BASCOM, jednak może wymagać ręcznego dodania plików konfiguracyjnych. Zalecamy pobranie najnowszej wersji BASCOM-AVR, która domyślnie wspiera ATtiny2313 i zawiera wszystkie niezbędne pliki definicyjne. W przypadku starszych wersji konieczne może być skopiowanie pliku attiny2313.dat do folderu z definicjami.

ATtiny2313 może pracować z częstotliwością do 20 MHz przy użyciu zewnętrznego oscylatora kwarcowego. Przy wykorzystaniu wewnętrznego oscylatora, stabilna praca jest możliwa do 8 MHz. Częstotliwość należy dobrać odpowiednio do wymagań projektu i warunków zasilania. Warto pamiętać, że wyższa częstotliwość zwiększa pobór prądu.

Debugowanie kodu dla ATtiny2313 w BASCOM można przeprowadzić używając symulatora wbudowanego w środowisko. Dodatkowo warto wykorzystać diody LED do sygnalizacji stanów programu. BASCOM oferuje też możliwość wysyłania komunikatów przez UART, co pozwala na monitoring działania programu w czasie rzeczywistym.

Tak, ATtiny2313 obsługuje przerwania w BASCOM. Możemy korzystać z przerwań zewnętrznych (INT0, INT1), przerwań timerów oraz przerwań od układów peryferyjnych jak UART. Implementacja przerwań wymaga użycia odpowiednich deklaracji w kodzie oraz właściwej konfiguracji rejestrów kontrolnych.

ATtiny2313 oferuje bity zabezpieczeń (fuse bits), które można skonfigurować w BASCOM. Możemy włączyć blokadę odczytu pamięci programu, zabezpieczyć EEPROM oraz zablokować możliwość programowania przez ISP. Należy jednak pamiętać, że po ustawieniu niektórych zabezpieczeń, przywrócenie układu do stanu pierwotnego może być trudne.

5 Podobnych Artykułów

  1. Porównanie Uber i Bolt: Która platforma jest korzystniejsza dla kierowców?
  2. Wszystkie korzyści z aplikacji Lidl Plus: poznaj funkcje i oszczędzaj
  3. Jak podłączyć ESP8266 z DS18B20 w Lua: kompletny poradnik programowania
  4. Jak usunąć wszystkie maile z Gmaila? Szybkie i efektywne czyszczenie
  5. Ile można zarobić na Spotify? Szokujące i prawdziwe dane o zarobkach
tagTagi
shareUdostępnij artykuł
Autor Tomasz Krzyśko
Tomasz Krzyśko

Jako filmowy geek i technologiczny entuzjasta, założyłem portal, który jest krzyżówką moich dwóch pasji: kinematografii i nowoczesnych technologii. Od dziecka byłem zafascynowany, jak filmy potrafią przenosić nas w inne światy, a technologia zmienia rzeczywistość wokół nas. 

Oceń artykuł
rating-fill
rating-fill
rating-fill
rating-fill
rating-fill
Ocena: 0.00 Liczba głosów: 0

Komentarze(0)

email
email

Polecane artykuły