danke an die vielen nützlichen zeit, hab in kürzerster zeit schon eine menge über Bascom & mega8 gelernt )))

hab das programm nochmals ein wenig verändert, und zwar hab ich mir den tipp mit irq abfrage ins hauptmenü zu herzen genommen, macht eigentlich auch mehrs sinn das der mega8 ständigt schaut ob 800 impulse erreicht sind und nicht nur nach einem int0 impuls

hier mal version neu

Code:
$regfile = "m8def.dat"
$baud = 9600
$crystal = 8000000

Config Pinc.1 = Input
Config Pinc.2 = Output
Config Pind.2 = Input

Dim Irq0 As Word





'' Interrupt Int0 config
On Int0 Irq0

Config Int0 = Rising
Enable Int0
Enable Interrupts


Do

''abfrage ob taste gedrückt & Kontrolle ob irq0 noch nicht über 800
Abfrage:
If Pinc.1 = 1 Then
Gosub Rauf
Else
End If


If Irq0 > 800 Then
Gosub Halt


End If


Loop


'' bei Int0 wird irq0 um 1 erhöht
Irq0:
Incr Irq0
Return




'' wenn 800 impulse ereicht dann motor stopp
Halt:
Reset Pinc.2
Irq0 = 0
Return

'' wenn 800 interruptimpulse noch nicht erreicht sind motor läuft weiter
Rauf:
Set Pinc.2
Return
hab es auch simuliert, hat zwar einige zeit gedauert bis ich die sache mit int0 simulieren draußen hatte, aber! es funktioniert!
hab es testweise 800 durch 5 ersetzt und siehe da es funktioniert nach den impulsen wird irq0 gesetzt sonst is ja blöd wenn irq0 ins endlose zählt und nach tastendruck immer gleich wieder stopt.

so werd mich demnächst ans zamstöpseln der teile machen
motor mit gabellichtschranke & mega8 hab ich ja schon
muss mir nur anschaun wie ich die teile am besten beschalte

mfg
piri