Forum: Mikrocontroller und Digitale Elektronik Probleme mit dem drehgebr 8051 in ASM


von Brauchender (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Forumsgemeinde

ich habe hier 2 Routinen zum Auslesen eines Drehgebers.
Die erste ( Getgeber1: arbeitet mit den Pollin Gebern so lala)
( Verluste )
Die zweite Getgeber2: leider gar nicht.
Ich finde den entscheidenden Unterscheid nicht warum die 2. gar nicht 
will.
Bei der 1. Routine frage ich zuerst die stabile Spur ab, da die Geber am 
"Nulpunkt" sehr instabil sind.
Habe mit den Gebern von CSD gleiche Probleme.

"Int" ist ein Bit das in der ISR zurück gesetzt wird.
Die ISR läuft jede 1ms. Bei 3,4 oder5 ms siehts genauso aus.
Plus und Minus sind Flags.
Der Geber hängt an P3.4 (A) und P3.5. (B)
GeberO ist der "alte" Wert vom Geber.
In der LUT steht 1 für Plus, 2 für Minus und Null für .... Nix.

von MC (Gast)


Lesenswert?

Warum fragst du den Drehgeber nicht einfach über einen externen 
Interrupt ab? Kanal A auf INT0. INT0 auf fallende Flanken einstellen. In 
der ISR eine kleine Warteschleife, von mir aus auch mit nem Timer und 
dann Kanal B abfragen. Die Drehrichtung wird von Kanal B angegeben. bei 
mir klappt das einwandfrei. Lediglich bei schnellen Drehungen treten 
Verschlucker auf.

von mercator (Gast)


Angehängte Dateien:

Lesenswert?

up down  left right counter mit encoder und LCD display

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.