Erste geh versuche in Bascom

Gast #1156728
Lesenswert?
• ▲
▼
Einfache Lösung:

Aus Schleifen selbst 'ne Verzögerung bauen, bei 2MHz schafft der Tiny 2 
Takte/µS, ein Maschinenbefehl braucht 1,2 oder 3 Takte, eine for/next 
dann xxx Takte. Im Simulator 2 Breakpoints setzen und aus der Differenz 
der Prozessortakte (wird im Sim. unten mit "Cycles" angezeigt) die 
tatsächliche Verzögerung errechnen. Tuning der Verz. geht z.B. mit 
Einfügen von:

$asm
NOP
NOP
...
$end asm

1 NOP verbraucht einen Prozessortakt

Wird aus dieser selbstgestrickten Verzögerung eine Subroutine gemacht, 
so kann sich je nach Aufrufart eine zusätzliche Verzögerung ergeben, 
wenn Register gesichert werden.

Fortgeschrittene Lösung:

Timer/Counter verwenden, Start auf Int0 synchronisieren, 
Verzögerungswerte in's Compare-Register. Evtl. könnte eine der PWM Modes 
dazu "überredet" werden, gleich das Schaltsignal zu liefern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren