PIC variable Delay Routine

Gast #4178010
Hallo,
ich suche eine möglichst einfache Routine, mit der ich einen "Delay" 
erzeugen kann, dessen Länge durch 24 Bit (Also 3 Register) bestimmt 
wird.
Mit anderen Worten, ich stecke einen 24 Bit langen Wert aufgeteilt in 
3x8 Bit in 3 Register und Rufe dann die "Delay" Routine auf, die dann 
genauso viele Takte wartet, wie hoch der Wert in den 3 Registern ist.
Natürlich wäre ein Delay von wenigen Takten nicht möglich (Mindestens 4 
schon mal wegen CALL und RETURN geschweige denn von der eigentlichen 
Delay Logik)
Der Delay sollte auf 1000 bis 1.000.000 Takte funktionieren.
Ich weiß nicht ob jemand so eine Routine kennt oder hat, aber ich komme 
gerade irgendwie nicht selbst drauf.
Ich benutze übrigens den PIC16F887.

Grüße Max
Gast
Es geht um Assembler.
Und Zweck des ganzen ist es, dass ich dynamisch im Programm einen Delay 
erzeugen kann.
Interrupts bzw. die Timer kann ich dafür aber nicht benutzen.
Ich brauche die noch für einen anderen Zweck.
Max schrieb:
> Und Zweck des ganzen ist es, dass ich dynamisch im Programm einen Delay
> erzeugen kann.
Ja, das ist klar, wozu braucht man aber ein 1'000'000 Zyklen langes 
Delay mit einer Auflösung von einem Tatzyklus?

Max schrieb:
> Interrupts bzw. die Timer kann ich dafür aber nicht benutzen.
> Ich brauche die noch für einen anderen Zweck.
Achtung, wenn nur ein einziges davon das Delay stört, wird das mit der 
Genauigkeit von einem Tatzyklus auch nichts mehr.
Wenn du das nicht gleichzeitig brauchst könntest du dir vllt. auch kurz 
einen Timer für die Wartezeit ausleihen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 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.