hallo leute. wie programmiert man eine warteschleife, die 300 Impulse lang wartet, für einen 8-Bit-Microkontroller (assembler)?
:
Bearbeitet durch User
Alexander Rolof schrieb: > hallo leute. wie programmiert man eine warteschleife, die 300 Impulse > lang wartet, für einen 8-Bit-Microkontroller (assembler)? Das hängt vom Mikrocontroller ab und davon, was "Impulse" sind.
Alexander Rolof schrieb: > hallo leute. wie programmiert man eine warteschleife, die 300 > Impulse > lang wartet, für einen 8-Bit-Microkontroller (assembler)?
1 | movlw .99 |
2 | movwf delay_reg |
3 | decfsz delay_reg,f |
4 | goto $-1 |
5 | nop |
Alexander Rolof schrieb: > hallo leute. wie programmiert man eine warteschleife, die 300 Impulse > lang wartet, für einen 8-Bit-Microkontroller (assembler)? Man setzt einen Zähler auf 300, wartet auf eine steigende Flanke, wartet auf eine fallende Flanke, verringert den Zähler um eins und springt, falls der Zähler >0 ist, wieder zurück zum Warten auf die steigende Flanke. Beim Rest kann dir leider bei deinen Angaben keiner helfen
Alexander Rolof schrieb: > hallo leute. wie programmiert man eine warteschleife, die 300 Impulse > lang wartet, für einen 8-Bit-Microkontroller (assembler)? Ich kann kein Assembler, aber das dürfte genau so funktionieren wie in jeder anderen Programmiersprache auch: - einen Zähler deklarieren und auf 0 setzen - in einer Zählschleife 300 Impulse abzählen - wenn Zähler bei 300 steht ==> fertig mit Warten
Max H. schrieb: > movlw .99 > movwf delay_reg > decfsz delay_reg,f > goto $-1 > nop Nachtrag:
1 | nop |
sonst sind es nur 299
wie ist es damit? m0: mov r0,#2 m2: mov r1,150 m1: djnz r1, m1 djnz r0, m2 ret
A. R. schrieb: > wie ist es damit? > m0: mov r0,#2 > m2: mov r1,150 > m1: djnz r1, m1 > djnz r0, m2 > ret Das sieht doch fast gut aus. Vor die '150' gehört noch ein'#'. Und geb deinen Labels klangvollere Namen. Bei diesen Buchstaben-Zahlen-Kürzeln weisst du doch in ein paar Tagen nicht mehr, wozu das gut sein soll. Wobei es sich hier natürlich um ein reines Delay handelt. Damit tritt dein Controller nur auf der Stelle und macht nichts anderes. Du solltest dich mit Thema "Timer und Zähler" auseinandersetzen. Die Angabe, dass es sich um einen 8051 handelt, gehört auch in deinen Ausgangspost. Denn es gibt mehr als nur einen 8-Bit-Controller. mfg.
:
Bearbeitet durch User
c-hater schrieb im Beitrag #3981130: > ....wenn dadurch die zarte > Seele von irgendsoeinem kleinen unwissenden Scheißer aus dem > Gleichgewicht geraten könnte... Aus Du findest noch Deinen Meister.... Gestern erst habe ich es hier ausgeführt: Beitrag "Re: Freundlichkeit von Forumsnutzern" Wisch Dir den Schaum vom Mund und pfeif Dir einen Blutdruck-Senker ein...
A. R. schrieb: >die 300 Impulse >lang wartet, Wo kommen die 300 Impulse her? Werden die dem Mikrocontroller von Außen über eine Portleitung zugefürt, oder sollen die vom Systemtakt abgeleitet werden?
A. R. schrieb: > Vielen Dank für die Hinweise... ...sorry war nicht negativ gemeint...hab meine Antwort bereits erhalten. Vielen Dank an Thomas Eckmann.
Thomas Eckmann schrieb: > Damit tritt dein Controller nur auf der Stelle und macht nichts anderes. Wie würdest du eine programmierte Warteschleife, nach der ausdrücklich gefragt wurde, sonst lösen. A. R. schrieb: > wie programmiert man eine warteschleife Bei Einsatz eines Timer/Zählers würde die Hardware die Warterei und die Pulszählerei erledigen. Wo bliebe da die geforderte Warteschleife? Gut, man könnte in der Schleife statt auf die Impulse einfach auf den erlösenden Interrupt waren, aber wäre das eine Warteschleife im Sinne der Aufgabenstellung?
c-hater schrieb im Beitrag #3981130: > npn schrieb: > >> An deinen Umgangsformen müßtest du vielleicht noch ein klein wenig >> feilen. Manch einer könnte vielleicht auf den Gedanken kommen, daß du >> ein arrogantes Ekelpaket bist, der im Tiefflug durch die Kinderstube >> geflogen ist und der auch später keinerlei Erziehung genossen hat. > > Du solltest vielleicht etwas mehr in Richtung bürgerlicher Freiheiten > denken. Manch einer mag persönliche Beleidigungen als Teil der Redefreiheit sehen, ich sehe sie als unflätig und unnötig an. Der wichtigste Grundsatz für mich, was Umgangsformen in Foren betrifft, ist, mit den Leuten dort so zu sprechen, wie man es auch tun würde, wenn sie einem direkt gegenüber säßen. > Ja klar, das kann zu Komplikationen führen, wenn sich der kleine > Scheißer entgegen der objektiven faktischen Sachlage persönlich verletzt > fühlt. Du kennst den Menschen nicht, fühlst aber aus irgendeinem Grund die Notwendigkeit, ihn als "kleinen Scheißer" zu beschimpfen. Mich würde wirklich interessieren, ob du bei persönlicher Konversation auch zu so unverschämter Ausdrucksweise neigst oder ob du der Meinung bist, daß nur im Internet ein höflicher und respektvoller Umgang nicht nötig ist.
:
Bearbeitet durch User
Rolf Magnus schrieb: > Manch einer mag persönliche Beleidigungen als Teil der Redefreiheit > sehen, ich sehe sie als unflätig und unnötig an. Und sie machen nur unnötig Arbeit und vergeuden wertvolle Zeit.
Beitrag #3981159 wurde von einem Moderator gelöscht. ??? echt jetzt, dann bin ich ja richtig böse ... ???
:
Bearbeitet durch User
Lothar Miller schrieb: > Der Beitrag hat nichts zur Sache beigetragen. Na ja, wenig ausser vielleicht dem Hinwies an den TS dass die Frage nicht gut gestellt war. Das steht ja zum Glück immer noch oft genug da ;-) Der erste Teil wurde durch das Löschen des Beitrags auf den er sich bezog wirklich nutzlos. Ist jetzt zwar weiter off Topic, aber weil es mir hier gerade bei deiner Antwort wieder auffält. Gibt es eine Möglichkeit mehrere Wörter oder ganze Abschnitte kursiv oder fett zu formatieren ?
Rolf Magnus schrieb:
...
Trägt eigentlich noch weniger zur Sache bei als mein Beitrag, aber ich
findees trotzdem gut, wenn einer klarstellt, dass es durchaus auch Leute
hier gibt, die solche Pöbeleien weitaus schlimmer finden als blöd
gestellte Fragen!
:
Bearbeitet durch User
Volker SchK schrieb: > Gibt es eine Möglichkeit mehrere Wörter oder ganze Abschnitte kursiv > oder fett zu formatieren ? Naja, mehrere Worte sind noch einfach, einfach den Slash vorher und nachher anbringen. Aber die Formatierung überlebt leider den Zeilenumbruch nicht... :-/
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.