www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Blinklicht 2313 in Assembeler (Anfänger)


Autor: Ingo Stange (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich fange gerade an mit µC Programmierung in Assembler.
Auf einer Lochrasterplatine haber ich ein 2313 von atmel mit
einen 4 MHz Quarz und ein paar LED's an dem Port B aufgebaut.
Das ansteuernd der LED's bekomme ich schon hin.
Jetzt möchte ich aber das die LED's blinken.
So alle 0.5 Sec. an und dann wieder aus.

Kann mir da bitte jemand weiterhelfen.
Gruß Ingo

Autor: Ralf Kellerbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt beginnt die hohe Schule der Assembler-Programmierung ...

Variante 1 (einfach):
Mit Verzögerungsschleifen, also (zwei) geschachtelten Schleifen mit 8
Bit Registern (DEC, CMP, Branch). Code einfach mal in Codesammlung
suchen.

Variante 2 (genialer):
Man programmiert sich einen Timer (z.B. jede 2 ms) und zählt eben bis
250 (=500ms) bei jedem Timerüberlauf, sonst Warteschleife.

Variante 3 (die Lösung, oder ?):
Ebenso per Timer; nur man schickt die CPU nach IDLE, während der Zähler
läuft.


Variante 1 kommt noch aus der Computersteinzeit, geht aber.
Variante 2 wird auch in Hochsprachen gerne per 'Wait' realisiert.

Hier im Forum einfach mal stöbern ...
Mein Tip: Sich frühzeitig mit den Timern beschäftigen, sonst verrennt
man sich bei ähnlichen Aufgaben schnell in gigantischen Schleifen.
Variante 3 hat schon die Erweiterung nach Multitasking, da wirds dann
richtig elegant. Und spätestens mit Multitasking stören
Softwareschleifen ungemein (aber, man betrachte das Win95 Problem auf
AMD-K6 II >300 MHz, die Schleifengeschichte ist hartnäckig auch in den
Köpfen von 'Profis')

Autor: Chris (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mal ein kleines Beispiel. Das Blinken erfolgt einfach durch Hochzählen
eines Bytes innerhalb loop.

Gruß

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.