www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfängerproblem


Autor: Stefan Krytinar (roadrunner1980)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo leute,

versuche mir gerade assembler mit keil in der 8051 familie bei zu
bringen.

Ein Lauflicht zum anfangen:

mov a, #01
loop: mov p1,a
rl a
jmp loop
end

Nun soll das Programm erweitert werden das man 16 lämpchen laufen läst,
also muss irgendwie p2 untergebracht werden. hab es schon mit jc also
über das carry versucht doch da ist p2 dem p1 immer um eines hinten
nach.

Hat wer einen tipp für mich

danke steve

Autor: Hegy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> hab es schon mit jc also
über das carry versucht doch da ist p2 dem p1 immer um eines hinten
nach.

Was? Verstehe ich nicht, wie, um eins hinten nach.

Also mit dem Carry ist das schon ok, nur gabs da nicht nen extra befehl
zu, der hiess rlc (rotiere nach links ueber Carry)?

Wenn dann p1 den Wert 8 hat und dann

rlc a
mov p1,a

ist p1 = 0 und CY = 1

Wenn CY = 1, dann

ldi a,#1
mov p2,a
(ich glaub so war das)
und dann rotieren ueber carry bis wieder CY=1 wird, und dann wieder bei
P1 weiterrumrotieren. Immer im Wechsel.

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@stefan:

Welche IO-Ports verwendest du?

Welchen Baustein?

Interner oder externer Programmspeicher? Bei externem Programmspeicher
sind P0 und P2 belegt und nicht frei verwendbar.

Wo sind denn die 16 Lämpchen angeschlossen?

Normalerweise kommt man mit den Rotationsbefehlen, auch über mehrere
Bytes hinweg, aus. Das benötigt nur eine kleine etwas ausgeklügelte
Software. Am besten speichert man dazu die Zustände der Lämpchen in 2
Bytes z.B. im internen RAM und gibt sie aus.

Gruß

Dietmar

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.