ATTiny2313 Delay: Auflösung besser als 200 ns @ 20 MHz

Gast #1355269
Einen ATTiny2313 mit 20 MHz möchte ich zur Verzögerung eines Signals 
einsetzen. Dabei soll die unten stehende Routine das Signal um 1000 ns 
verzögert ausgeben. Die Auflösung beträgt 200 ns. Gibt es eine 
Möglichkeit die Verzögerung eleganter bzw. mit einer feineren Auflösung 
zu programmieren?

Delay1:

  IN     R10,   PortB
  OUT    PortD,  R11
  NOP
  NOP

  IN     R11,   PortB
  OUT    PortD,  R12
  NOP
  NOP

  IN     R12,   PortB
  OUT    PortD,  R13
  NOP
  NOP

  IN     R13,   PortB
  OUT    PortD,  R14
  NOP
  NOP

  IN     R14,   PortB
  OUT    PortD,  R10
  RJMP  Delay1
#1355286
@  Martin (Gast)

>Möglichkeit die Verzögerung eleganter bzw. mit einer feineren Auflösung
>zu programmieren?

Nimm ein Schieberegister der 74xx Serie, die kann man je nach 
Familie mit bis zu 100 MHz takten.

Aber wozu die Verzögerung? Sowas deutet meist auf einen Designfehler 
hin.

MFg
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.