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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.