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

Przerwania w AT89C2051: Co odkłada się na stos i jak działa RETI w assemblerze?

08 Maj 2002 10:58 3070 11
REKLAMA
  • #1 8011
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #2 8069
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 8279
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #4 8281
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #5 8712
    Konto nie istnieje
    Konto nie istnieje  
  • #6 9022
    Gecko
    Poziom 12  
    Posty: 88
    Ocena: 1
    Hi
    Jeśli nadal masz problem z tym prostym programem, napisz na mój adres prywatny. Rozwiążę Twój problem.
  • #7 11916
    Konto nie istnieje
    Konto nie istnieje  
  • #8 15541
    Konto nie istnieje
    Konto nie istnieje  
  • #9 27760
    iq210
    Poziom 11  
    Posty: 40
    Tak procki z wewnetrznymi pamieciami maja zabezpieczenia. Sa to dwa bity "przepalane" podczas programowania (na koncu). Oczywiscie mozna tego nie robic jesli nie ma potrzeby zabezpieczania programu.
  • #10 568185
    7591
    Poziom 11  
    Posty: 52
    Podobno jest firma na TAIWANIE która wyciąga program z ATMELI za ok.1000 $.
    To chyba lepiej napisać nowy - będzie taniej.
  • #11 568224
    radek.kaba
    Poziom 15  
    Posty: 120
    Pomógł: 1
    Podobno na jakieś ukraińskiej :?: stronie, ktoś się tym chwalił, i aż mnie zmroziło 8O, bo w zeszłym roku wysłaliśmy testową partię urządzeń na Atmelach na Białoruś :?
  • #12 568260
    ghost666
    Tłumacz Redaktor
    Posty: 11961
    Pomógł: 157
    Ocena: 10265
    zawsze da sie wyciągnąć program z kosci. Wystarczy ją rozmontowac - otworzyć obudowe- i podpiac sie pod flash i go sobie zczytac... są tez urządzenia które po kolei testują całe urządzenie i odtwarzają na tej podstawie ich działanie, ale to drugie jest strasznie skomplikowane i czaso-, a zatem pieniądzo-, chłonne.
    pozdrawiam 8)

Podsumowanie tematu

✨ W dyskusji omówiono działanie przerwań w mikrokontrolerze AT89C2051, ze szczególnym uwzględnieniem operacji odkładanych na stos po wykryciu przerwania oraz funkcji instrukcji RETI w assemblerze. Po wykryciu przerwania procesor odkłada na stos jedynie licznik rozkazu (PC), natomiast w środowisku Bascom bez parametru NOSAVE dodatkowo zapisywane są standardowe rejestry, takie jak ACC, B czy PSW, co powoduje większy wzrost wskaźnika stosu (SP). Przykładowy program generujący przerwanie od Timer0 zawierał błędy składniowe, m.in. brak znaku # przy wartościach natychmiastowych (np. MOV TH0,#80H). Po poprawkach program działał poprawnie. Poruszono także temat zabezpieczeń pamięci programu w AT89C2051 – mikrokontrolery te posiadają bity zabezpieczające przed odczytem pamięci, które można ustawić podczas programowania. Wymieniono metody obejścia zabezpieczeń, jednak są one skomplikowane i kosztowne. Dyskusja zakończyła się potwierdzeniem poprawności działania przerwań po uwzględnieniu właściwej składni i zrozumieniu mechanizmu zapisu na stos.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA