actionbrowser.com
Trotzdem Viel Erfolg! Gruß Thorsten Bearbeitet 30. November 2019 von tkreutz2
Ich vermute mal, dass man eher ein Buch zu Mikrocontroller heute finden wird, als zur Assembler Programmierung. Sogar für den Lego Mindstorms Roboter gibt es die Möglichkeit ein Programm in Java zu entwickeln nach einem Firmware Mod. Und das wird auf dem Brick immer noch schnell genug ausgeführt, um Mindcubing zu betreiben. Da bis jetzt niemand geantwortet hat, denke ich mal, dass Du vermutlich eher in einem Mikrocontroller Forum Unterstützung finden würdest. Ein Buch das mir zu Zeiten des Atari ST gut gefallen hat war von Peter Wollschläger "Das Atari ST Assembler Buch". Allerdings hatte der Atari einen Motorola 68000 Prozessor und das ist eine komplett andere Architektur. 8051 assembler beispiele jobs. Aber für grundlegendes Verständnis ist es vielleicht hilfreich. Dann habe ich noch ein verstaubtes Buch aus dem Addison Wesley Verlag hier stehen "Das Assembler-Buch". Die Bücher von Addison Wesley (den Verlag gibt es nicht mehr), fand ich immer gut geschrieben. Heute dürfte es keinen Markt für solche Bücher geben. Aber auf dem Gebrauchtmarkt dürfte man solche Bücher für relativ kleines Geld finden oder mit Glück noch in der örtlichen größeren Bibliothek.
Das Erlernen der Assemblersprache ist die ultimative Entscheidung zum erfolgreichen Programmieren eines Microcontrollers. Keine Hochsprache bietet mehr Kontrolle über die Maschine, bessere Performance oder effizientere Ressourcennutzung. Diese Seite bietet eine kleine Anleitung für die ersten Schritte in Assembler für 8051-kompatible Controller. Voraussetzung ist die rudimentäre Kenntnis einer beliebigen Programmiersprache, da grundlegende Kenntnisse über Schleifen, Variablen und Verzweigungen als bekannt angenommen werden. 8051 assembler beispiele program. Befehlsliste Befehle zum Datentransfer MOV MOVC SWAP XCH PUSH POP Unbedingte Sprünge AJMP LJMP Bedingte Sprünge JB JNB JBC JC JNC JZ JNZ CJNE DJNZ JMP Unterprogramm-Aufrufe ACALL LCALL RET RETI Mathematik-Befehle INC DEC ADD ADDC SUBB MUL DIV Logische Operationen CLR SETB CPL ANL ORL XRL RR RRC RL RLC Keine Zuordnung NOP Was ist ein Assembler? Compiler transformieren ein Hochsprachen-Programm, also einen Quelltext, enthalten in einer einfachen Textdatei, in ein Maschinenprogramm, das die Recheneinheit direkt ausführen kann.
Heute geht es nun um die Programmierung eines externen Interrupts. Die Programmierung eines externen Interrupts ist eigentlich sehr einfach. Lediglich einige wichtige Register, die über die Special Function Register des 8051 erreicht werden können, müssen gesetzt werden. Dann muss noch die gewünschte Interrupt Service Routine erstellt werden und schon kann auf externe Signale reagiert werden. Der heutige Artikel besteht aus 2 Videos. Im ersten Video erläutere ich die wichtigsten Register, die ich hier noch einmal aufführe. Register für den Interrupt INT0 /INT0 am Portpin 3. 2: An diesen Anschluss muss das Signal für den externen Interrupt 0 angeschlossen werden. EAL, Enable All Interrupts: EAL muss gleich 1 gesetzt werden, damit eine Anforderung eines Interrupts überhaupt durchgelassen werden können. Dieses Bit ist nach dem Start des Controllers auf 0 gesetzt. Einführung 8051 Mikrocontroller. Interrupts werden also zunächst nicht zugelassen. So kann das Gesamtsystem zunächst einmal initialisiert werden, ohne von Interrupts gestört zu werden.
Deine Aufgabe ist es zwei mögliche Fehler auszuwerten und anzuzeigen. Die Maschine muss (bei Gelegenheit) entkalkt werden Der Sensor, der eine zu hohe Verkalkung anzeigt, ist an INT0 angeschlossen und gibt als Meldung eine "0" aus. Wenn der Sensor eine Verkalkung feststellt, soll an Portpin P0. 0 eine 1 ausgegeben werden. Hierdurch wird ein Warnsummer eingeschaltet. Da diese Meldung nicht so kritisch ist, kann der Summer ausgeschaltet werden. Er soll nicht automatisch wieder eingeschaltet werden, auch wenn die Kaffeemaschinen noch nicht entkalkt worden ist. Der Druck der Maschine ist zu hoch. Der Sensor hierfür ist an INT1 angeschlossen und gibt als Meldung eine "0" aus. Dieser Zustand ist kritisch. In der zugehörigen Interrupt Service Routine soll an Port P0. Struktur eines Programms in Assembler, Microcontroladores 8051, alciro - Documents, alciro.org. 1 eine 1 ausgegeben werden. Hierdurch wird ein Alarm ausgelöst und die Kaffeemaschine heruntergefahren. Sollte jemand den Alarm löschen, der Druck aber immer noch zu hoch sein, soll automatisch die ISR wieder aufgerufen werden. Es geht also in der Aufgabe sowohl um den Interrupt 0 und den Interrupt 1 und um pegelgesteuerte wie auch um flankengesteuerte Interrupts.