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







Zitieren

Lesezeichen