Anfängerfragen zu asembler und AVR

Gast #171790
Lesenswert?

Hi,

ich stehe vor einem Problem, welches in diesem Forum schon häufiger
angesprochen wurde.
Und zwar: Einen Drehimpulsgeber decodieren.
Aber alle Lösungen kann ich nicht benutzen (glaub ich)
Ich wollte zum decodieren einen 8pin Controller von ATMEL nehmen. Der
soll nur aus dem Grey-Code impulse für rechts und linksdrehung machen.
Das ganze wollte ich dann als eine Art "black-Box" sehen. Ohne
weitere beschaltung.

Das Programm, welches ich schreiben wollte liegt im Datenblatt des
Impulsgbers als Flussdiagramm bei.

Ich hab mich da letztens dran gesetzt, hab aber auf ganzer linie
versagt. Folgende Fragen sind jetzt offen:
1. Wie kann ich einen einzelnen Pin abfragen?
2. Wie benutz ich einen Port für ein und ausgabe? (der kleine atmel hat
5 IO Pins, zwei brauch ich als eingabe und zwei zur ausgabe)

ich hoffe ihr könnt mir da weiterhelfen.

Mfg
 Sebastian
Gast #171794
Lesenswert?

Danke für die schnellen antworten.

Jetzt bin ich waranders am verzweifeln.

Ich hab die "ENCODE.ASM" mal runtergeladen, mit dem Programm
"Batronix Prog Studio" geöffnet, und hab den Debugger angemacht.
Jetzt bekomme ich bei JEDER zeile die meldung "Befehl nicht erkannt"
:(

Nutz das Programm etwa einen modifizierten assembler mit komplet
anderen befehlen?

ich hab natürlich die passende controller-datei oben includet und die
ports angepasst.

Bin total am verzweifeln.

Zum Programmieren benutz ich den Flash-BrennerI von Batronix.com für
den AT89C2051

Woran kann das wohl liegen, das da nichts klappt?

Mfg
Sebastian
Gast #171797
Lesenswert?

Was nimmst Du für Drehimpulsgeber? Welche Preise haben die?

Habe viele mit solchen Sachen gemacht.

1. Einlesen der 2 Pins und zwar als Byte: z.B. wenn Pin 2 und 3, dann
0b00001100 0b00000100 0b00001000 oder 0 (entsprechend maskieren)
2. Vergleichen mit alten Wert (vorher im SRAM speichern oder ein
Register)
3. Wenn Veränderung, dann Ausgangsimpuls und dann schauen was vorher
war
4. 4 x 4 Wege abschreiten: z.B.  wenn jetzt 1, war dann vorher 2 oder 4
usw.
je nach dem ein Links oder Recht setzen (Flag oder Port usw.)
5. neuen Wert abspeichern als jetzigen alten und zurück zum Anfang
Gast #171798
Lesenswert?

Ich bins wieder :)

Hab jetzt den Brenner rausgewühlt, das programm angepasst und in den IC
geschrieben. Jetzt bekomm ich als erstes die Meldung: "die Demo erlaubt
nur 256 Byte" und dann ne Meldung: "Die daten des IC stimmen nicht mit
den Daten im Editor überein".

kennt wer das Progstudio von Batronix?
Das Programm ist doch kleiner als 256Byte, oder?
Ist der Brenner von Batronix.com auch mit anderer Software nutzbar?

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