mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Serielle Ausgabe von 8 Bit


Autor: Heiko Haedicke (hh-cm)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Heiko Haedicke (hh-cm)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Heiko Haedicke (hh-cm)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.