Aufgabe Assembler#

In dieser Aufgabe programmierst du einen PIC-Mikrocontroller in Assembler: zuerst ein Blinkprogramm, danach ein Lauflicht.

  • Schwierigkeit: Mittel

  • Semester: 4-5

  • Material: PIC Board 7 (aus dem ÜK), MPLAB X, XC8-Compiler, Programmer, LED

  • Abgabe: Programmcode und Bericht (PDF oder Markdown) mit Liste der Assembler-Befehle

Verwende dein PIC Board 7 aus dem ÜK (oder einen beliebigen anderen PIC-Mikrocontroller). Stelle sicher, dass MPLAB und der XC8-Compiler installiert und aktuell sind.

  1. Erstelle ein neues Assembler-Projekt. Lade die Dokumentation des Mikrocontrollers und die Dokumentation der Assemblerbefehle aus dem Internet.

  2. Schreibe ein Assembler-Programm, das eine LED blinken lässt.

  3. Programmiere ein LED-Lauflicht.

  4. Zusatz: Kehre die Laufrichtung des Lauflichtes um, wenn ein Schalter gedrückt wird.

  5. Dokumentiere das Lauflicht-Programm in einem kurzen Bericht. Erstelle eine Liste mit allen verwendeten Assembler-Befehlen und erkläre deren Funktion.

Referenzen zum Lehrplan

Die folgenden Leistungskriterien (LK) und Lernziele (LZ) aus dem Bildungsplan FutureMEM stehen in Bezug zu dieser Aufgabe.

  • HKB 9999 c – Entwickeln von Software

    • HK 9999 c.01 – Mikrocontroller-Programme entwickeln

      • LK ET c1 10 – Sie führen arithmetische und boolesche Operationen in verschiedenen Zahlensystemen durch. (BFS · Semester 1)

        • LZ_11180 – Sie setzen logische oder bitweise Operationen anwendungsgerecht ein. (Semester 1)

        • LZ_11181 – Sie rechnen in verschiedenen Zahlensystemen. (Semester 1)

        • LZ_11183 – Sie verstehen die Darstellung von Zahlen in einem Mikrocontroller. (Semester 1)

      • LK ET c1 11 – Sie wenden die Grundkonzepte einer Programmiersprache an. (BFS · Semester 1, 3, 4, 7)

        • LZ_4276 – Sie schreiben einfache Programme (Standardanweisungen). (Semester 3, 1, 4)

        • LZ_9579 – Sie nutzen die Grundstruktur einer imperativen Programmiersprache. (Semester 3, 1)

        • LZ_11194 – Sie nutzen für den Zugriff auf Variablen indirekte Adressierung. (Semester 3)

        • LZ_11203 – Sie schreiben verständliche und nachvollziehbare Kommentare im Code. (Semester 1)

        • LZ_11204 – Sie nutzen die unterstützenden Funktionen einer Entwicklungsumgebung. (Semester 1)

      • LK ET c1 12 – Sie wählen für beispielhafte Anwendungen geeignete Mikrocontroller. (BFS · Semester 2)

        • LZ_529 – Sie beschreiben den Aufbau und die Funktionsweise eines Mikroprozessors. (Semester 2)

        • LZ_4272 – Sie unterscheiden Halbleiterspeicher (EPROM, EEPROM, Flash, RAM) nach ihrer Aufgabe nennen deren spezifische Eigenschaften. (Semester 2)

        • LZ_11212 – Sie benennen die typischen Einsatzgebiete verschiedener Mikrocontroller-Typen. (Semester 2)

        • LZ_11213 – Sie zählen Typen von Schnittstellen in Mikrocontrollern auf und kennen das Einsatzgebiet. (Semester 2)

        • LZ_11214 – Sie wählen auf Grund des vorgegebenen Einsatzgebietes einen geeigneten Mikrocontroller. (Semester 2)

      • LK ET c1 17 – Sie erklären die Funktion von vorgegebenen Code Sequenzen. (BFS · Semester 1, 4)

        • LZ_11206 – Sie erklären die Funktion von vorgegebenem Code und werten ihn aus. (Semester 1)

      • LK ET c1 18 – Sie erläutern die grundsätzliche Funktion einer Toolchain. (BFS · Semester 3)

        • LZ_11197 – Sie erklären die einzelnen Schritte und Tools zur Umsetzung von Code in einer Hochsprache bis zur Ausführung auf dem Mikrocontroller. (Semester 3)

        • LZ_11198 – Sie beschreiben die Aufgaben und möglichen Parameter der einzelnen Tools. (Semester 3)

      • LK ET c1 19 – Sie realisieren in den Grundstrukturen eines Mikrocontrollers einfachste Programme. (üK · Semester 4)

        • LZ_4276 – Sie schreiben einfache Programme (Standardanweisungen). (Semester 4)

        • LZ_11203 – Sie schreiben verständliche und nachvollziehbare Kommentare im Code. (Semester 4)

        • LZ_11204 – Sie nutzen die unterstützenden Funktionen einer Entwicklungsumgebung. (Semester 4)