mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DPT um +8


Autor: Wraith (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich arbeite grad mit dem AT 89S8252 und wollte nur wissen mit welchem
Befehl man den Datenpointer um den Wert 8 erhöhen kann. Also wenn z.B:
im DPTR 000h drinstehen hab dort 008h drinsteht

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es kommt ganz auf den Kontext an.

Z.B. einfach den um 8 höheren Wert nach DPTR laden.

Oder bei Codezugriffen einfach "MOV A, #8", da A automatisch addiert
wird (MOVC A, @A+DPTR).


Peter

Autor: Wraith (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist bei mir so.

Ich will eine LED Matrix ansteuern. Die hat 16 Spalten es sind jeweils
8 Spalten an einem Pin angeshlossen.

Das sieht wie folgt aus:

P 1.0 , P 1.1  , P 1.2 , P 1.3 , P 1.4 , P 1.5 , P 1.6 , P 1.7

P 3.0 , P 3.1  , P 3.2 , P 3.3 , P 3.4 , P 3.5 , P 3.6 , P 3.7

Ich will dann von P 1.0 zu Pin 3.0 hoch.

Für Pin 1 sieht das wie folgt aus: 11111111     und P3 1111111

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ich will dann von P 1.0 zu Pin 3.0 hoch."

???

P1.0 hat die Adresse 90h, P3.0 die Adresse B0h (+32).

Aber das ist eh egal, da man Bits nicht indirekt adressieren kann und
erst recht nicht mit DPTR.

DPTR kann nur CODE oder XDATA adressieren.


Du solltest vielleicht erstmal das 8051-Instructionset zur Hand
nehmen.


Peter

Autor: Wraith (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist jetzt ersteinmal der lese befehl den ich habe.

movx    a,@DPTR

mov    P0,a

add    a,#8d

movx          a,@DPTR

mov          P2,a
ret

Bis jetzt hab ich einfach nur denn Akku um den Wert 8 erhöt ich will
nur das der Datenpointer auf den entprechenden Speicherplatz im XData
zeigt. wenn er auf den Speicherplatz 00h zeigt und alles was drin ist
abgerufen hat soll der Datenpointer auf 08h zeigen.

Dann geht das weiter 01h und dann soll der Datenpointer auf 09h zeigen
und das geht dann so weiter bis 00Fh.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann muß man es zu Fuß machen:

        xch     a, dpl
        add     a, #8
        xch     a, dpl
        jnc     m1
        inc     dph
m1:


Peter

Autor: Wraith (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielen dank

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.