8051 Interrupt Verzögerung bis erster Befehl ?

Gast #5988892
Lesenswert?
• ▲
▼
Kommt auf den gerade laufenden Befehl an. Der braucht X Zyklen. Bei 12 
Takten pro Zyklus...also x mal 12 Takte sofern kein andrer Int. läuft 
der das verbietet. Die Anzahl der Zyklen/ Befehl steht im DB.
Gast #5988918
Lesenswert?
• ▲
▼
Eher von der verwendeten CPU.  Der 8051 braucht 3-9 Maschinenzyklen, 
jeder Maschinenzyklus ist 12 Taktzyklen.  Moderne Versionen sind meist 
schneller.  Stichworte zum Suchen "interrupt latency" oder "interrupt 
response time"
#5988987
Lesenswert?
• ▲
▼
mul braucht im Original 4 Zyklen bei einem 12 Cocker sind das 48 Quarz 
Takte dazu kommt die Zeit um die Return Addresse auf den Stack zu 
schreiben das sind (aus der Erinnerung) noch mal 24 Takte. Das sind bei 
12MHz 6us bis der Interrupt aktiv wird.
Dazu kommt ein delay aus einem bereits laufenden Interrupt falls der 
neue Interrupt eine geringere Priorität hat.

Thomas

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.