Hallo Henry!
Eleganter lässt sich deine Problemstellung lösen, wenn man statt den "If-Then" abfragen die Abfrage "Select Case" benutzt.
Das ganze würde dann so aussehen:
Code:
$regfile = "m8def.dat"
$crystal = 8000000
Config PORTC = Output
Config PORTB.4 = Output
Config portb.5 = Output
Config Timer0 = Timer , PRESCALE = 64
On Timer0 Tim0_isr
Enable Timer0
Enable Interrupts
Timer0 = 131 'Timerregister auf 156 voreinstellen
Dim zaehler as Integer
Doppelblitz1 Alias PortC.5
Doppelblitz2 Alias Portc.4
KontrollLED Alias PortB.4
Zaehler = 0
Do
Select Case zaehler
Case 10 to 210 : Doppelblitz1 = 1
Case 160 to 360 : Doppelblitz1 = 0
Case 410 to 610 : Doppelblitz2 = 1
Case 560 to 760 : Doppelblitz2 = 0
Case 1000 : zaehler = 0
End Select
Loop
'Interruptrotiene Timer0 Overflow
Tim0_isr:
Timer0 = 131 'Timerregister auf 156 voreinstellen
incr zaehler
Return
End
Übrigens würde auch dein Programm nicht allzu viel Rechenzeit belegen, da kann man locker noch viele andere Sachen inzwischen machen. Du kannst auch die Taktfrequenz auf 1Mhz runtersetzen, dass spart Strom und reicht auch völlig aus!
Grüße
Thomas
Lesezeichen