Aufgabe Vorschlag B - 3 - Assemblerprogrammierung und Mik… · Abitur Hessen Technische Informatik LK 2022
Thema: Assemblerprogrammierung und Mikrocontrolleraufbau · Aus der Prüfung LK (2022)
Aufgabenstellung
Ein Assembler auf einem Mikrocontroller im Rasenmähroboter steuert das Mähwerk, an dem an einer drehenden Scheibe drei kleine Klingen angebracht sind, die die Grashalme schneiden. Für die Rotationsbewegung wird ein Gleichstrommotor verwendet. Solange der Mikrocontroller auf Pin 0 ein HIGH-Signal erhält, ist das Mähwerk eingeschaltet. Im normalen Mähbetrieb wird am Motor der Rechtslauf aktiviert und der Rasenmähroboter fährt vorwärts. Zum Zwecke der Reinigung des Rasenmähroboters von Schnittgut im Mähwerkbereich steht ein Reinigungsmodus zur Verfügung. Um den Reinigungsmodus zu aktivieren, erhält der Assembler auf Pin 6 über einen internen Zähler, der die Betriebsstunden zählt, ein kurzes HIGH-Signal. Ist dies der Fall und das Mähwerk ist noch eingeschaltet, wird der Rechtslauf zunächst ausgeschaltet und der Mikrocontroller wartet 10 Sekunden, bis das Mähwerk zum Stillstand gekommen ist. Danach wird am Motor der Linkslauf aktiviert, um die Verschmutzungen von den Messerklingen zu entfernen. Endet der Reinigungsmodus nach 15 Sekunden, wird der Linkslauf abgeschaltet und der Mikrocontroller wartet 10 Sekunden. Sollte Pin 0 kein HIGH-Signal erhalten, werden sowohl Links- als auch Rechtslauf deaktiviert und das Mähwerk ist ausgeschaltet.
Port 1 des Mikrocontrollers
Pin 7 · Pin 6 · Pin 5 · Pin 4 · Pin 3 · Pin 2 · Pin 1 · Pin 0
· ↑ · · · · ↓ · ↓ · ↑
· Reinigungsmodus · · · · Rechtslauf · Linkslauf · Mähwerk ein
Material 1 – Schaubild Funktion Rasenmähroboter
3.1
Erläutern Sie die Portbelegung für Ihren im Unterricht verwendeten Mikrocontroller und zeichnen Sie ein entsprechendes Technologieschema. [4 BE]
3.3
Implementieren Sie Ihr Struktogramm aus Aufgabenteil 3.2 bzw. die beschriebene Mikrocontroller-Steuerung aus Aufgabe 3 in der von Ihnen im Unterricht verwendeten Assemblersprache. [10 BE]
Hinweis: Die als Unterprogramme zur Verfügung gestellten Verzögerungsschleifen müssen nicht implementiert werden.

Lösung
Nach den offiziellen Korrekturhinweisen
3.1 Erläutern Sie die Portbelegung für Ihren im Unterricht verwendeten Mikrocontroller und zeichnen Sie ein entsprechendes Technologieschema.
Lösung: Für den Intel 8086 Mikroprozessor muss jeweils ein Port als Eingang und ein Port als Ausgang definiert werden. Aus diesem Grund ist die vorgegebene Pinbelegung auf zwei Ports aufgeteilt worden: Port 10 in, Port 20 out.
3.1 Zeichnen Sie ein entsprechendes Technologieschema.
Lösung: Technologieschema mit Mikrocontroller (MC), Busleitung, Eingangsport 10 (in) mit Pin 0 (Mähwerk ein) und Pin 6 (Reinigungsmodus) sowie Ausgangsport 20 (out) mit Pin 1 (Linkslauf) und Pin 2 (Rechtslauf).
3.3 Implementieren Sie Ihr Struktogramm aus Aufgabenteil 3.2 bzw. die beschriebene Mikrocontroller-Steuerung aus Aufgabe 3 in der von Ihnen im Unterricht verwendeten Assemblersprache.
Lösung: ```c ; Portbelegung Port 10 (in) / Port 20 (out): org 100h endlos: ; Endlosschleife IN AL, 10 ; Port 10 einlesen SHR AL, 0 ; Rightshift mit 0 AND AL, 00000001b CMP AL, 1 ; Pin 0 = 1? JNE aus ; Wenn 0, dann ausschalten JMP starten ; Wenn 1, dann starten aus: MOV AL, 00000000b OUT 20, AL ; Motor ausschalten an Port 20 JMP endlos starten: IN AL, 10 ; Port 10 einlesen SHR AL, 6 ; Rightshift mit 6 AND AL, 00000001b CMP AL, 1 ; Pin 6 = 1? JE reinigungsmodus ; Wenn 1, dann Reinigung MOV AL, 00000100b ; normaler Mähbetrieb an (Pin 2 high) OUT 20, AL JMP endlos reinigungsmodus: IN AL, 10 ; Maehwerk noch an? SHR AL, 0 AND AL, 00000001b CMP AL, 1 ; Pin 0 = 1? JNE reinigen ; Wenn Maehwerk aus, dann Reinigung starten MOV AL, 00000000b ; ansonsten bremsen -> Motor aus OUT 20, AL CALL WAIT_10s reinigen: MOV AL, 00000010b ; Linkslauf an (Pin 1 high) OUT 20, AL CALL WAIT_15s MOV AL, 00000000b ; Motor aus OUT 20, AL CALL WAIT_10s JMP endlos RET ```
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
‹ Aufgabe Vorschlag A - 3 - Assemblerprogrammierung und Mik… · LK 2022 · Aufgabe Vorschlag C - 2 - Assemblerprogrammierung und Mik… · LK 2022 ›