Mit dem 8 Bit Timer kannst du keine 3 sek Abstände generieren
Im folgenden Programm (erstellt mit RNAvr) springt er 100 mal/sek in die ISR. Dort müsstet du dann eine Variable bis 300 zählen lassen und dann deine Aufgabe abarbeiten lassen.
Code:
$regfile = "m32def.dat"
$crystal = 16000000
'Hier wird der Timer und der Teiler festgelegt
Config Timer0 = Timer, Prescale = 1024
'Ausgang definieren
Config Pina.0 = Output
'Hier geben wir der Definition einen schöneren Namen
Led Alias Porta.0
'Hier wird das Unterprogramm festgelegt, das
'in dem von ihnen eingestellten Intervall aufgerufen wird
On Timer0 Timer_irq
'Diese Vorgabe wurde berechnet um die genaue Intervallfrequenz zu erreichen
Const Timervorgabe = 100
'Hier werden die Timer aktiviert
Enable Timer0
Enable Interrupts
'Hier ist die Programmhauptschleife
Do
Loop
'Dies ist der Programmteil, der in dem von ihnen gewählten
'Intervall aufgerufen wird
Timer_irq:
Timer0 = Timervorgabe
Toggle Led
Return
mfg milkbubi
Lesezeichen