-
-
Hier der Code:
$regfile = "m16def.dat"
$crystal = 6000000
Dim I As Byte
ddra.3=1
Porta.3=0
Ddrd.3 = 0
Portd.3 = 1
On Int1 Lichtschranke
Mcucr.2 = 1
Mcucr.3 = 1
Enable Interrupts
Config Timer0 = Timer , Prescale = 8
Enable Timer0
On Timer0 Zeit
Stop Timer0
I = 0
Enable Int1
Do
If I = 10 Then
Stop Timer0
I=0
End If
Loop
Lichtschranke:
Start Timer0
Timer1 = 0
Return
Zeit:
Toggle porta.3
Incr I
Return
Es ist nun so, dass der Lichtschranken-Interrupt nicht immer ausgeführt wird, manchmal aber schon ==> auch wenn ich den Draht langsam durch die Lichtschranke bewege, wird er zum Teil ausgelöst (flache Flanke). Normalerweise läuft er schnell durch (innert 300 Mikrosekunden ist der LS-Spalt vollständig abgedeckt), aber auch dann wird nicht immer ausgelöst.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen