Ich glaube, Dein Pproblem liegt in der Konfiguration des Interrupts. Mit Config INT0 = Low Level zwingst Du en Controller so lange in die ISR, wie der Impuls low ist. Mach´s doch mal so:
Code:
Config INT0 = change 'ISR bei jedem Flankenwechsel
On INT0 Sprung
Enable INT0
Enable Interrupts
Dim Flag as Bit ' "Habe-fertig"-Flag
Config Timer1=Timer, Prescale = 1
Do
If Flag = 1 then
Flag = 0
CLS
LCD Timer1
Timer1=0
Waitms 100
End if
...
...
Loop
Sprung:
If PIND.2=0 then 'Fallende Flanke: Impulsbeginn
Start timer1
Else 'Steigende Flanke: Impulsende
Stop Timer1
Flag = 1
Return
Lesezeichen