Blinklicht 2313 in Assembeler (Anfänger)

Gast #159105
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
Gast #159106
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')

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.