mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik jump befehl (schieberegister)


Autor: bocajuniors (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,

komme nicht weiter unzwar sollen 8 led lampen durch 1 sekunde erzeugt 
werden.......dann springt (jmp) es von hinten - vorne

es handelt sich um schieberegister....

ich habe es so gemacht ,aber ich bin mir nicht sicher ob es stimmt,


Zeit von 1s:

µ8 mov R8,#08
µ7 mov R7,#FFh
µ6 mov R6,#FFh
µ5 mov R5,#FFh
µ4 mov R4,#FFh
µ3 mov R3,#FFh
µ2 mov R2,#FFh
µ1 mov R1,#FFh
DJNZ R1, µ1
DJNZ R2, µ2
DJNZ R3, µ3
DJNZ R4, µ4
DJNZ R5, µ5
DJNZ R6, µ6
DJNZ R7, µ7
DJNZ R8, µ8
JMP µ; Springt zum anfang zurück

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein. Schon die R1-Schleife hängt sich auf, weil R1 immer wieder mit ff 
geladen wird und der Wert nie auf 0 kommen kann.

Autor: bocajuniors (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was kann man den verändern...?

mfg

Autor: bocajuniors (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir denn keiner helfen?

mfg

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bocajuniors wrote:

> komme nicht weiter unzwar sollen 8 led lampen durch 1 sekunde erzeugt
> werden.......dann springt (jmp) es von hinten - vorne

Dieser Satz ist mir nicht verständlich.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  bocajuniors (Gast)

>Kann mir denn keiner helfen?

Der Herr Duden vielleicht.

Formulier mal ein paar klare Sätze. Dieses hingekotzte Kaudelwelsch 
versteht kein Schwein.

MFg
Falk

Autor: Siggi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... versteht kein Schwein ...

@ Falk Brunner

Da DU es nicht verstehst, bleibt wohl nur ein Schluß ...

@ bocajuniors

... µ1 mov R1,#FFh
... DJNZ R1, µ1


   mov R1,#FFh
µ1 DJNZ R1, µ1

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bocajuniors wrote:
> ich habe es so gemacht ,aber ich bin mir nicht sicher ob es stimmt,

Dann simuliere es doch einfach.
Läuft es überhaupt fehlerfrei durch den Assembler?

Wenn Du Hilfe willst, dann wirf uns nicht so lustlos ein paar 
Codebrocken hin, wie dem Hund einen Knochen.

Du mußt schon beschreiben, was Du Dir dabei gedacht hast und die Zeilen 
kommentieren.

Hast Du überhaupt erstmal nen Ablaufplan gemacht?
Man fängt ja einen Hausbau auch nicht mit dem Dachboden an.


Peter

Autor: M. H. (bambel2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du eine Zeitschleife in Assembler brauchst 1s bei 1MHz:

; =============================
;    Warte
;     1000000 Zyklen:
; -----------------------------
; warte 999999 Zyklen:
          mov  R17, #09h
µ0  mov  R18, #BCh
µ1  mov R19, #C4h
µ2  djnz r19, µ2
    djnz r18, µ1
    djnz r17, µ0
; -----------------------------
; warte 1 Zyklus:
          nop
; =============================


bei 2 MHz musst du halt die schleife für 1s 2-mal ausführen usw....

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.