binäre Ausgabe auf die Schnittstelle mit 8051

OP #1782064
Lesenswert?

Guten Abend!

Ich möchte mit diesem Programm eine weitere Subroutine erstellen. Jedoch 
habe ich das Problem, dass bei der Binären ausgabe das fünfte und das 
sechste Bit bei Eingabe von 0hex trotzdem gesetzt sind. Wäre sehr 
dankbar wenn da jemand drüber schauen würde.

Hier die Unterprogramme:

init:

    mov     R1,#08h
    clr     cy

Eingabe:

    lcall   SP_InWait           ;endlos auf Zeichen warten

    jmp     rotate_left

vonRholen:

    mov     A,ueberlaufR


rotate_left:

    rlc     A
    mov     ueberlaufR,A
    jc      Einsausgabe

Nullausgabe:

    mov     A,#30h
    lcall   SP_OutA       ;Ausgabe als ASCII auf die Serielle 
Schnittstelle
    ljmp    dekrementieren


Einsausgabe:

    mov     A,#31h
    lcall   SP_OutA


dekrementieren:

    djnz    R1,vonRholen

Gruß

Tom
Gast #1782117
Lesenswert?

Hi

Ok, da habe ich dich etwas falsch verstanden.

Aber ich würde mal darauf tippen, das du mit

>   lcall   SP_InWait           ;endlos auf Zeichen warten

das ASCII-Zeichen für Null, und nicht 00h bekommst. Womit sendest du das 
an den µC?

MfG Spess
OP #1782126
Lesenswert?

mit

>   lcall   SP_InWait           ;endlos auf Zeichen warten

wartet der µC auf eine Eingabe der Tastatur. Das ASCII - Zeichen ist 
dann binär im Accu und soll dann binär über die serielle Schnittstelle 
ausgegeben werden. Das funktioniert auch, jedoch sind die bits 4 und 5 
auch gesetzt wenn ich z.B. null eingebe.
Vielen Dank für deine schnelle Antwort!

MfG
tom

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