Einfache Lösung der Geschwindigkeitsmessung:
Du musst dir mal überlegen, wie lange ein Fahrzeug für die Zurücklegung
eines Meters bei 100 KM/h benötigt. 1 Stunde hat 3600 sec. Das Auto
fährt in dieser Zeit also 100 KM, das sind 100 000 Meter/Stunde.
Das heißt, dass es 27,77 m je sec zurücklegt. Was wiederum bedeutet,
dass es für 1 m 36 Millisekunden bei 100 KM/h benötigt (1 sec hat
1000ms).
Wenn das Auto mit 1 KM/h fahrt, benötigt es also 3600 ms für diesen
Meter.
Wir stellen also die 2 Lichtschranken in einer Entfernung von genau 1
Meter auf und messen die Zeit vom Ausl. des ersten Schrankens bis zum
Ausl. des 2. Lichtschrankens.
Wir nehmen einen Timerinterrupt, der genau alle ms eine
Routine abarbeitet. In dieser Routine wird einfach ein 16-Bit Register
erhöht
(zB addw XL,1).
Beim Auslösen des 1. Lichtschrankens wird diese Register einfach auf 0
gesetzt. Beim Ausl. des 2. Lichtschranken wird der Timerinterrupt
gestoppt
oder die X-Register ins RAM "gerettet". Fortsetzung folgt.