Übersicht Projekte


Microcontroller Programmierung - Ampelsteuerung

Programmierung eines Betriebssystems zur Ampelsteuerung auf einem Siemens 80C537 Microcontroller.


Projektdaten - Übersicht
Zeitrahmen erstes Semester;
vier Labortermine (wöchentlich)
Teamgröße drei Studenten
Programmiersprache C
Entwicklungsumgebung µVision, dScope (siehe Text)

Versuchsaufbau

In einem kleinen Team wurde diese Ampelsteuerung entwickelt. Der Aufbau verfügt über je zwei identisch beschaltete KFZ- und Fußgängerampeln und soll damit eine einfache Straße mit einem Fußgängerüberweg darstellen. Die Fußgängerampeln werden durch den Taster T1 auf grün geschaltet.
Desweiteren ist der Ampelkasten mit drei gelben Status-LEDs, acht Kippschalter (zum Einstellen der Verkehrs-LEDs), einen Reset-Taster und je zwei weitere Kippschalter bzw. Taster zu Test- und Entwicklungszwecken.

Entwicklungsumgebung

Entwickelt wurde die Software mit der µVision IDE sowie dem dScope Simulator von Keil. Der kompilierte Code wurde dann direkt auf den Microcontroller übertragen.

Aufgabenstellung (Auszug)

Es soll eine Ampelsteuerung für einen Fußgängerüberweg realisiert werden. Für die Ampelsteuerung werden Ein-/Ausgabeprozeduren (Versuch 1), Lauflicht und Zeitverzögerungen (Versuch 2) sowie eine Interrupt-Steuerung (Versuch 3) benötigt.

Ausgangspunkt: Die Autoampel ist grün, die Fußgängerampel rot. Das Fahren der Autos soll mit dem Lauflicht aus Versuch 2.2 angedeutet werden. Nach Drücken des Tasters INT soll die für eine Fußgänger-Ampelanlage bekannte Sequenz ablaufen, also die Autos bekommen zuerst gelb, dann rot usw. 4.1 Erstellen Sie ein Programm für folgende Sequenz:
Sequenz-Tabelle anzeigen

4.2 Modifizieren Sie das Programm nach 4.1 so, daß nach Schritt 6 die Autos grün bekommen und das Lauflicht wieder läuft, aber der Interrupt für weitere 30 bis 40 Sekunden gesperrt bleibt. Ob der Interrupt freigegeben ist, soll mit der Status-LED S1 angezeigt werden.

Implementierung

Während der Implementierung mussten Bitmuster ein-/ausgelesen, maskiert und modifiziert werden. Diverse Timer zur Steuerung des Programmablaufs wurden, basierend auf dem festen Takt des Microcontrollers, als Zählschleifen implmentiert. Für den Fußgänger-Taster T1 wurde eine Interrupt Service Routine (ISR) geschrieben.


Skizze des Ampelkastens
Aufbau des Ampelkastens

Ampelkasten
Foto des Ampelaufbaus

beleuchteter Ampelkasten
beleuchteter Ampelkasten