Forum: Mikrocontroller und Digitale Elektronik Serielle Ausgabe von 8 Bit


von Heiko H. (hh-cm)


Lesenswert?

Hallo zusammen - ich such hier nen Fehler und seh den Wald vor lauter
Bäumen wohl nicht mehr ...

8 Bit (00000011b / 3d) sollen ausgegeben werden.
Zwischendurch wird ein Takt erzeugt.

mov b,#008d        ; Zähler
mov a,#003d        ; Befehlsbit
clr c              ; Carry löschen

befehl:

rlc a              ; Befehlsbit durch Carry nach links
mov SHTDA,c        ; Carryinhalt in DATA

acall xnop
setb SHTCL          ; Takt auf CLOCK erzeugen
acall xnop
clr SHTCL
acall xnop          ; Takterzeugung ende


djnz b, befehl     ; 8 mal durchlaufen für den Befehl


Müßte so nicht auf SHTDA hintereinander 00000011 anliegen ??

Gruß, Heiko
(Der die Krise kriegt g)

von Christoph Kessler (Gast)


Lesenswert?

Um welchen Prozessor gehts eigentlich? ich kenne zwar hauptsächlich den
AVR und 6502, aber ist das Gegenstück zu "setb" wirklich "clr" und
nicht "clrb" ? im AVR würden mit "clr" 8 Bit auf einmal gelöscht

von Heiko H. (hh-cm)


Lesenswert?

Es geht sich um einen reinen 8051 (AT89C2051) bzw. MCS51

setb und clr stimmen.

Mit setb P1.1 bzw. clr P1.1 spreche ich das Bit direkt an.

Da C ein Synonym für z.B. P2.3 sein kann, löscht ein clr c nur das
P2.3

Mit z.B. clr P1 lösche alle 8 Bit von P1 auf einmal.

Gruß, Heiko.

von Peter D. (peda)


Lesenswert?

Du weißt aber schon daß im 89C2051 P1.0 und P1.1. keine Pullups haben,
damit sie auch für den Komparator verwendet werden können.

Häng mal 4,7k gegen VCC ran.


Peter

von Heiko H. (hh-cm)


Lesenswert?

Hallo Peter,

das ist mir bekannt, habe 2 externe Pullups an den Ports und die
Signale mit dem Oszilloskop kontrolliert. Da ich nur ein Analoges Oszi
habe kann ich leider nicht das ganze Protokoll kontrollieren, ob die
Abfolge stimmt.

Werde wohl gleich mal nur den oben beschriebenen Teil mit großen Pausen
und 2 LED's ablaufen lassen, mal sehen was dabei rauskommt.

Gruß, Heiko

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.