Forum: Mikrocontroller und Digitale Elektronik Fehler im 8051-Programm


von H-G S. (haenschen)


Angehängte Dateien:

Lesenswert?

Hallo!

Vielleicht hat jemand von euch eine Idee wo hier der Fehler sein könnte:

Es kommt bei jedem zweiten Durchlauf zu einem falschen Ergebnis unten in 
R7. Wenn R2 oben als Zahl "1" durchläuft (Cursor-Position links oben) 
kommt abwechselnd 1 und dann 9 heraus. Bei Startwert "3" kommt 
abwechselnd 3 und dann 10 heraus.

Ich habe alles probiert und die Opcodes stimmen 100%. Den Programmteil 
verwende ich fast identisch sogar in einem anderen Programmabschnitt 
erfolgreich, aber vielleicht nur weil der da immer nur einmal 
durchläuft.

: Verschoben durch User
von Achim S. (Gast)


Lesenswert?

H-G S. schrieb:
> Ich habe alles probiert und die Opcodes stimmen 100%.

Dann zeig doch bitte deinen Assembler-Code als Text und nicht deinen 
Pseudo-Code als Bild.

Wass genau soll dein Code eigentlich erreichen. Sieht nach einer etwas 
verqueren Modulo-Funktion aus, bei der das Ergebnis laut Kommentar im 
Bereich 1-8 statt im Bereich 0-7 liegen soll. Wenn du stattdessen bei 0 
zu zählen beginnen würdest, dann ließe sich dein gesamter Code 
wahrscheinlich ersetzen durch

mov a,r2
anl a,#7

H-G S. schrieb:
> Bei Startwert "3" kommt
> abwechselnd 3 und dann 10 heraus.

dann wird wohl dein clr c vom Beginn doch nicht so im Code stehen.

von Marc H. (marchorby)


Lesenswert?

H-G S. schrieb:
> Ich habe alles probiert und die Opcodes stimmen 100%. Den Programmteil
> verwende ich fast identisch sogar in einem anderen Programmabschnitt
> erfolgreich, aber vielleicht nur weil der da immer nur einmal
> durchläuft.

Dann liegt es an der Hardware! Foto vom Aufbau und Schalplan sowie 
Boardfile hier hochladen!

von Peter D. (peda)


Lesenswert?

H-G S. schrieb:
> Ich habe alles probiert

Probieren hat mit Programmieren nichts zu tun.

H-G S. schrieb:
> und die Opcodes stimmen 100%.

Ich sehe nirgends ein *.asm File mit Code.


Läuft gerade ein Kontest, wie beschreibe ich mein Problem möglichst 
ungenau und kompliziert?

von Carl D. (jcw2)


Lesenswert?

Gegeben:
R2: 1..48

Gesucht:
R7: 1..8

Lösung:
MOV A,R2
DEC A
AND A,#07h
INC A
MOV R7,A

von H-G S. (haenschen)


Lesenswert?

Carl D. schrieb:
> Gegeben:
> R2: 1..48
>
> Gesucht:
> R7: 1..8
>
> Lösung:
> MOV A,R2
> DEC A
> AND A,#07h
> INC A
> MOV R7,A


Fantastisch, danke dir!

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.