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
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')
Hallo, mal ein kleines Beispiel. Das Blinken erfolgt einfach durch Hochzählen eines Bytes innerhalb loop. Gruß
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.