Przerwania zewnętrzne AVR
Przerwania zewnętrzne nie tylko w miktrokontrolerach AVR, ale ogólnie służą do przerwania dotychczas wykonywanego kody i obsłużenie przerwania i powrót do dalej wykonywanego kodu. Dla hobbistów i studentów dopiero zaczynających zabawę w świecie miktrokontrolerów może to być zagadnienie nowe, jednak jest to niemalże must-have jeśli chcemy stworzyć dobry projekt.
Przerwań zewnętrznych używamy gdy chcemy aby to zdarzenie z zewnątrz wywołało pewną reakcję naszego miktrokontrolera. Najbardziej typowym zastosowaniem przerwania jest użycie przycisku, który np może zmieniać stan diody LED z włącząnej na wyłączoną, ale także klawiatura 4x4.
Teraz konkrety, czyli to co misie lubią najbardziej:
Osobiście będę opierać się na wyprowadzeniach dla miktrokontrolera ATmega 16A.
Na obrazku powyżej przedstawiony najbardziej popularny schemat podłączenia przycisku do miktrokontrolera. Gdy przycisk nie jest wciśnięty, obwód jest otwarty i na pinie PD2 jest stan wysoki. Gdy przycisk zostanie wciśnięty całe napięcie odłoży się na rezystancji podłączonej do zasilania Vcc, i na pinie PD2 będzie stan niski. Taka konfiguracja jest defaultowa i wymaga najmniej zmian w rejestrach.
Zaczynając zabawę zwłaszcza z procesorami ATmega, jesteśmy zdani na dokumentacje czyli potocznie zwane datasheety. Są na szczęście tak napisane, że bardzo łatwo po małej wprawie znajdziemy informacje, których potrzebujemy jako młodzi kontruktorzy. W wypadku obsługi przerwań zewnętrznych jest nie inaczej.
Pierwszym interesującym rejestrem jest rejestr : MCUCR – MCU Control Register
Dodaj komentarz