hallo, bin völlig neu in der sprache mache gerade eine woche praktikum darin und mir is noch so einiges unklar ich habe nun, bzw sollte ein programm schreiben das eine LED auf und ableuchten lässt/soll, nunja das habe ich, jedoch würde ich gern den gesamten quellcode verstehen, denn dieses timer zeuchs is echt für mich unlogisch wieso man unter dem einem unter-programm nochmal zwei aufruft damit es blinkt(habe es in vielen anderen variationen probiert es funkt. nur die eine) und was r6 u r7 bedeutet und was die zahl 128 machen soll und wieso ret?? wäre total nett wenn ihr mir das mal erklären könntet. hier mal der code TIMER: MOV R7,#128'warum mov? T: MOV R6,#128'wieso neues unterprogramm ST: DJNZ R6,ST'warum funktioniert das runter zählen nich mit dem $ DJNZ R7,T; wiedo kein neues aufrufen und dafür das T einsetzen RET ;warum returnen?? PS: kenn jm. gute einsteiger workshops zur 7 Segment anzeige für das MCLS - Modular ? danke im vorraus :)
das ist keine Timerprogrammierung, sondern eine Zeitschleife. Macht weiter nichts, als den Proc. eine Weile zu beschäftigen. TIMER: MOV R7,#128'warum mov? T: MOV R6,#128'wieso neues unterprogramm ST: DJNZ R6,ST'warum funktioniert das runter zählen nich mit dem $ DJNZ R7,T; wiedo kein neues aufrufen und dafür das T einsetzen RET ;warum returnen?? In Wirklichkeit sind es 2 Schleifen, eine innere (R6) und eine äussere (R7). Zum Anfang wird der Zähler für die äussere Schleife mit einem Startwert geladen. Dann kommt schon die innere Schleife, laden mit Startwert (mov r6, #128) und anschliessendes Herunterzählen. Die innere Schleife wird 128 wiederholt, dann enthält r7 0 und der Sprung von djnz r7 wird nicht mehr ausgeführt, d.h. hier ist das Verzögerungsprogramm zu Ende. Ret deshalb, weil das ganze mit call Timer aufgerufen wird und mit ret jetzt dahin zurückkehrt.
alles klar danke soweit kannst du mir noch ein gutest tutorial für die 7 - segment anzeige vorschlagen??
ohne dir jetzt zu nahe treten zu wollen aber ein gutes tutorial für assembler programmierung würde ich dir eher empfehlen zu suchen!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.