www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fast-Anfänger-Frage bezüglich mehrerer Zeitschleifen.


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten morgen,

ich arbeite mit folgedem Grundgerüst um eine bestimmten Takt zu 
erzeugen.

 include "tn13def.inc"
;
start:
  ldi r16, $1f
  out DDRB, r16
  ldi r16, $00
  out PortB, r16
;
Loop:
  sbi PortB, 0
  rcall Warte
  cbi PortB, 0
  rcall Warte
        rjmp Loop

Warte:

; =============================
;   Warteschleifen-Generator
;     909090 Zyklen:
; -----------------------------
; warte 909018 Zyklen:
          ldi  R17, $06
WGLOOP0:  ldi  R18, $CA
WGLOOP1:  ldi  R19, $F9
WGLOOP2:  dec  R19
          brne WGLOOP2
          dec  R18
          brne WGLOOP1
          dec  R17
          brne WGLOOP0
; -----------------------------
; warte 72 Zyklen:
          ldi  R17, $18
WGLOOP3:  dec  R17
          brne WGLOOP3
; =============================

ret



Soweit so gut.

Mit Ziel ist Folgendes:

Ich möchte das z.B der Takt 7 hz 10 sek. läuft und dann auf 10 hz 
springt.Und das wieder 10 sek. usw.

Könnte ich das einfach dadurch erzeugen, in dem ich eine 10 sekunden 
Warteschleife an die erste Schleife dranhänge ?

Grüße
Andreas

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal im tutorial und Arbeite die Timer-Abschnitte durch.
Das wär die beste Umsetzung.

Wann immer du etwas im Code änderst müsstest du ja sonst die Wartezeit 
verändern, damit die Zykluszeit die selbe bleibt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.