8051 Mikrocontroller
Beitragsseiten
Kombiniertes Schalten von Kontakten
Es sind 2 Kontakte (z.B. Wasserpumpen, K1 = Pumpe im Erdgeschoss, K2 = Pumpe im Obergeschoss) nach untenstehender Vorgabe zu schalten.
Mit dem uC-Experimentierboard (Humerboard) oder mit Keil uVision soll die Funktion nachgewiesen werden.
Die Kontakte werden über das Port 7 eingelesen.
Der Kontakt K1 entspricht der linken Taste (P7 = 0000 0000) in der Tastenreihe; der Zustand des Kontakts K1 wird am Port 4.7 angezeigt.
Der Kontakt K2 wird mit der ganz rechten Taste (P7 = 0000 1111) in der Tastenreihe betätigt; am Ausgang Port 4.0 und Port 4.1 wird der Zustand des Kontakts K2 angezeigt.
Schalten der Kontakte nach folgender Spezifikation
a) K2 einschalten:
- wenn K1 schon eingeschaltet ist, wird K2 sofort eingeschaltet.
- wenn K1 noch nicht eingeschaltet ist wird zuerst K1 eingeschaltet
und nach 5 Sekunden auch K2 aktiviert.
b) K2 ausschalten:
- K2 sofort ausschalten.
- K1 nur dann ausschalten, wenn K1 durch K2 aktiviert wurde (andernfalls nicht).
c) K1 einschalten:
- kann immer erfolgen; K1 ist in diesem Fall unabhängig von K2.
d.) K1 ausschalten:
- wird nur durchgeführt, wenn K2 ausgeschaltet ist.
Flussdiagramme
1. Hauptprogramm
2. Externer Interrupt 0

3. Timer 0 Interrupt
4. Programmcode in Assembler - Version Humerboard
Portbelegung - Humerboard 517A
- << Zurück
- Weiter