Reaktionszeit ermitteln

Gast #573499
Lesenswert?

Hi, ich hab noch nicht viel Ahnung von Assembler, muss aber einen 
Reaktionstester fürn Mikrocontroller programmiere. Man startet mit einer 
bestimmten Taste, dann muss nach ner zufälligen wartezeit eine LED 
leuchten. Sobald die LED leuchtet, muss die testperson den taster so 
schnell wie möglich drücken und die reaktionszeit muss ausgegeben 
werden. Mein Problem ist, dass ich nicht weiß wie ich einen Takt für die 
Ermittlung der Zeit erzeugen kann. Als vom Zeitpunkt an wo die LED 
aufleuchtet. Kann mir jemand eine einfache Lösung bieten? Die Zeit muss 
in 1/100 sec ausgegeben werden
#573520
Lesenswert?

Chris wrote:

> dann muss nach ner zufälligen wartezeit eine LED
> leuchten.

Das ist ein ernstes Problem, dessen Lösung sehr aufwendig sein kann, je 
nach geforderter Güte des Zufalls.


> Mein Problem ist, dass ich nicht weiß wie ich einen Takt für die
> Ermittlung der Zeit erzeugen kann.

Das ist kein ernstes Problem. Du hast Timer im MC, benutze einen davon 
(siehe Tutorial).


Peter

Gast #573524
Lesenswert?

Peter Dannegger wrote:
> Chris wrote:
>
>> dann muss nach ner zufälligen wartezeit eine LED
>> leuchten.
>
> Das ist ein ernstes Problem, dessen Lösung sehr aufwendig sein kann, je
> nach geforderter Güte des Zufalls.

Man kann ja einfach die Dauer des Tastendrucks messen, die Reihenfolge 
der Bits dieses Messergebnisses umdrehen, und schon hat man eine 
"zufällige" Zahl zur Verfügung.

Gruß,
Magnetus
#573678
Lesenswert?

Chris wrote:
> es ist der 8051, wir haben eine Formkelsammlung mit SPrungbefehlen etc.
> ausgeteilt bekommen, da ist aber niergsn das Zeug ausm Tutorial
> beschrieben.

Jau is kein Wunder, das Tutorial is AVR.

Deshalb auch mein Schluß aus RCALL, OUT, LDI, das sind nämlich 
AVR-Befehle.


Is aber kein Problem, nimmste eben 8051 Befehle, auch die kann man 
lernen:

http://www.erikbuchmann.de/


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren