Hallo Memby,
Das ist doch schon mal sehr gut. Die Uhr hab ich komplett selbst gebaut, etwa so:
-Eigenes Board, entspricht dem vom tut, hat einen Quarzoszilla 10 MHz, nen USART>RS232 Wandler und die I/O-Ports sind auf Wannenbuchsen gelegt. Das ist sehr praktisch weil man dann per 10pol. Flachbandkabel (8bit + GND + +5V) alles mögliche dran anschließen kann. Dann kannst du Zubehörteile auf Extraplatinen bauen (auch Wannenbuchsen drauf) und leicht mit jedem Port verbinden. Ich empfehle da eine Taster- und eine LED-Platine, einen Taktgeber für die Stoppuhr und einen Adapter für ein LCD, ich hab ein 16x2 genommen. Schaltpläne für den ganzen Kram gibts auf Wunsch.
Der Code funktioniert ungefähr so: Ein externer Oszillator gibt einen 100Hz Takt an den 16bit Timer. Wird ein externer Interrupt 0 ausgelöst, resette und aktiviere ich den timer. Zum Stoppen des Timers benutze ich die "Input Capture" Funktion, die auch von außen ausgelöst wird und die Timer-Werte gleich zwischenspeichert, näheres dazu im Datenblatt unter "16bit Timer".
Jetzt habe ich eine 16bit Zahl, in der die Hundertstelsekunden stehen. Ich habe eine Divisions/Modulodivisions-Routine geschrieben um die einzelnen Ziffern rauszubekommen, die werden dann ins display geschrieben. Den Code pack ich besser gleich dazu, sonst isses etwas schwierig zu verstehen.
Ich arbeite jetzt daran aus der Zeit mithilfe einer voreingestellten Strecke eine Geschwindigkeit auszurechnen, das ist noch nich ganz fertig.
Lesezeichen