logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Obsługa przerwań w C dla mikrokontrolera 8051 - instrukcje i przykłady

krobek25 21 Paź 2006 15:29 3186 6
REKLAMA
  • #1 3138573
    krobek25
    Poziom 11  
    Posty: 42
    Pomógł: 1
    witam
    mam problem z obsługą przerwań w języku c, w szczególności do mikrokontrolera 8051. potrzebna by mi była jakaś instrukcja, przykład jak się to wykonuje i jak realizuje. Jak znacie jakąś stronę www z tymi zagadnieniami, gdzie na pewno coś bym znalazł na ten temat albo jak dysponujecie jakimiś materiałami albo wiedzą z tej dziedziny to byłbym bardzo wdzięczny
  • REKLAMA
  • #2 3138678
    h0nza
    Poziom 15  
    Posty: 85
    Pomógł: 7
    Ocena: 9
    void Przerwanko_T1(void) small interrupt 3

    {

    }


    to chyba wszystko wyjaśnia ??
    oczywiście trzeba najpierw aktywować przerwania ustawiając odpowiedznie rejestry i ustawić w tym przypadku timer
  • REKLAMA
  • #3 3139614
    markosik20
    Poziom 33  
    Posty: 2261
    Pomógł: 208
    Ocena: 147
    Trzeba jeszcze pamiętać o numerze przerwania np: interrupt 1 to akurat przerwanie pod adresem ubsługi 0x0Bh w Keilu.
  • #4 3139670
    Kubbaz
    Poziom 26  
    Posty: 1237
    Pomógł: 9
    Ocena: 30
    Witam
    Poniżej zamieszczam własnej produkcji krótki materiał co i jak (oczywiście na podstawie manuala), co prawda na uC ATMEGA8 - czyli AVR, a nie 8051 .... no ale poczytać zawsze można:
    (link działa - tylko trzeba parę razy poodświeżać czy kliknąć ponownie)
    http://www.teslabox.host.sk/Interrupts_Service_for_ATMEGA8_C_Code.pdf
    Pozdrawiam. Kubbaz
  • REKLAMA
  • #5 3141926
    olekewaagata
    Poziom 25  
    Posty: 638
    Pomógł: 64
    Ocena: 28
    Przez 5 min klikałem na link i nie mogłem sie dostać.
    Jak możesz umieść to na forum.
  • REKLAMA
  • #7 3142725
    Emiliano
    Poziom 12  
    Posty: 92
    Pomógł: 1
    Ocena: 6
    Obluga przerwan w jezyku C zalezna jest od kompilatora pod jakim piszesz program i musisz w jego manualu zobaczyc jak pisze sie funkcje obslugujaca przerwanie np w keilu masz:
    void f() interrupt 3
    W innym kompilatorze skladnia moze byc zupelnie inna Wiec nalezy czytac manuala
    Pozdrawiam

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy obsługi przerwań w języku C dla mikrokontrolera 8051. Podstawą jest deklaracja funkcji obsługi przerwania z użyciem składni specyficznej dla kompilatora, np. w Keilu: void nazwa_funkcji(void) interrupt n, gdzie n to numer przerwania (np. 3 dla Timer1). Konieczne jest również odpowiednie skonfigurowanie rejestrów i aktywacja przerwań w mikrokontrolerze. Wskazano, że numer przerwania odpowiada adresowi wektorowemu (np. interrupt 1 to obsługa pod adresem 0x0B w Keilu). Zwrócono uwagę, że składnia i sposób obsługi przerwań zależą od używanego kompilatora, dlatego należy zapoznać się z jego dokumentacją. Podano linki do materiałów o przerwaniach, w tym przykład dla mikrokontrolera AVR ATMEGA8, który może być pomocny do zrozumienia ogólnych zasad, choć dotyczy innej architektury. Jeden z linków do materiałów o przerwaniach dla 8051 jest dostępny na forum elektroda.pl.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA