Aufgabe Vorschlag A - Aufgabe 3.2 · Abitur Hessen Technische Informatik LK 2021

Thema: Assemblerprogrammierung und Mikrocontrolleraufbau · Aus der Prüfung LK (2021)

Aufgabenstellung

Enthärtungsanlagen müssen in regelmäßigen Abständen gereinigt werden. Dazu wird das von außen zulaufende Trinkwasser in die Enthärtungsanlage geleitet, um dort das zuvor abgelassene Wasser zu ersetzen. Der Reinigungsprozess wird in der Anlage mithilfe eines Assemblers gesteuert.

Sobald durch eine manuelle Betätigung von außen an Pin 0 ein HIGH-Signal anliegt, wird der Reinigungsprozess gestartet. Zwei Sekunden nach dem Start des Prozesses wird das Magnetventil 1 am Zulauf geschlossen (HIGH = geschlossen / LOW = geöffnet). Das restliche im Behälter befindliche Wasser wird nun abgepumpt. Dazu muss nach einer Wartezeit von 50 ms das Magnetventil 2 geöffnet werden. Danach wird die Pumpe an Pin 7 eingeschaltet, um das Wasser in den Ablauf zu pumpen (HIGH = ein). Die Pumpe läuft so lange, wie der Füllstandssensor an Pin 3 ein HIGH-Signal meldet. Sobald dort ein LOW-Signal zu lesen ist, wird die Pumpe abgeschaltet, das Magnetventil 2 geschlossen und das Magnetventil 1 wieder geöffnet. Zum Abschluss wird über Pin 4 ein erfolgreicher Reinigungsprozess mit einem HIGH-Signal gemeldet.

Port 1 des Mikrocontrollers

Pin 7 · Pin 6 · Pin 5 · Pin 4 · Pin 3 · Pin 2 · Pin 1 · Pin 0

↓ · · · ↓ · ↑ · ↓ · ↓ · ↑

Abwasserpumpe · · · Erfolgreich · Füllstandssensor

Wasser · Magnetventil

2 · Magnetventil

1 · Start-

sequenz

3.2

Implementieren Sie Ihr Struktogramm aus Aufgabenteil 3.1 bzw. die beschriebene Mikrocontroller-Steuerung aus Aufgabe 3 in der von Ihnen im Unterricht verwendeten Assemblersprache.

Hinweis: Die als Unterprogramme zur Verfügung gestellten Verzögerungsschleifen müssen nicht implementiert werden.

[10 BE]

Aufgabenstellung: Aufgabe Vorschlag A - Aufgabe 3.2 · Abitur Hessen Technische Informatik LK 2021

Lösung

Nach den offiziellen Korrekturhinweisen

3.2 Implementieren Sie Ihr Struktogramm aus Aufgabenteil 3.1 bzw. die beschriebene Mikrocontroller-Steuerung aus Aufgabe 3 in der von Ihnen im Unterricht verwendeten Assemblersprache.

Lösung: ```assembly ; Beispielhafte 8086-Assembler-Lösung gemäß Bewertungsbogen: org 100h ; Startkonfiguration: MV1 geöffnet (LOW), MV2 geschlossen (LOW) in AL, 00000100b out 2, AL endlos: in AL, 1 ; Port 1 einlesen shr AL, 0 ; Bit 0 prüfen and AL, 00000001b cmp AL, 1 ; Pin 0 = 1 (Startsignal)? jne endlos ; wait 2 s (Verzögerungsschleife) mov AL, 00000110b ; MV1 zu (HIGH an Pin 1), MV2 noch zu out 2, AL ; wait 50 ms (Verzögerungsschleife) mov AL, 00000010b ; MV1 bleibt zu, MV2 auf (HIGH an Pin 2) out 2, AL pumpen: in AL, 1 ; Port 1 einlesen shr AL, 3 ; Füllstandssensor an Pin 3 prüfen and AL, 00000001b cmp AL, 1 ; Pin 3 = 1? je pumpean jmp ende pumpean: mov AL, 10000010b ; Pumpe an (Pin 7), MV1 zu, MV2 auf out 2, AL jmp pumpen ende: ; Abschlusskonfiguration mov AL, 00001100b ; Pumpe aus, MV2 zu, MV1 auf, Pin 4 (Erfolg) HIGH out 2, AL 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 C - 2 - Assemblerprogrammierung und Mik… · LK 2022 · Aufgabe Vorschlag B - Aufgabe 2 (2.1, 2.3, 2.4) · LK 2021 ›

Mehr Aufgaben zu Assemblerprogrammierung und Mikrocontrolleraufbau