www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ampelsteuerung 8051


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo!

ich habe gerade die aufgabe bekommen eine ampelsteuerung mittels timer, 
interupt und dem programm ride zu erstellen. ich habe nicht wirklich 
ahnung davon und in drei wochen sind auch noch die prüfungen zum 
techniker.
hat irgend jemand ahnung oder kann mir ein fertiges programm schicken?
das wäre total geil!

gruss martin

Autor: Jack Braun (jackbraun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich habe nicht wirklich ahnung davon

Wieso? Hast Du keinen Unterricht gehabt?

>ich habe gerade die aufgabe bekommen eine ampelsteuerung mittels timer,
>interupt und dem programm ride zu erstellen.

Wenn Du das nicht gelernt hast, kann niemand von Dir verlangen,
plötzlich programmieren zu können.

Autor: techniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du willst also deine Prüfung mit dem Wissen anderer bestehen?
Bist du Tagesschüler? Dann wären 3 Wochen ja ne lange Zeit um soetwas 
selber zu lernen. Wenn du Abendschüler bist, und nebenbei arbeitest, 
hast du wohl verloren.
Ihr habt bestimmt schon Monate vorher mit dem 8051 gearbeitet sonst 
würde euer Lehrer nicht diese Aufgabe stellen.
Ich bekomme ehrlich gesagt die Krise wenn ich soetwas lese...und 
schreibe besser nichts mehr...

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich fände es total ungeil, wenn einer als Techniker auf die Menschheit 
losgelassen würde, der noch nichtmal im Stande ist, eine derart 
primitive Aufgabe selbständig zu lösen.

Also: Setz Dich auf den Hosenboden und lern endlich mal was, Du 
Nichtsnutz!

Du darfst natürlich hier im Forum Fragen stellen, aber gleich nach einer 
fertigen Lösung zu fragen, das ist schon ein starkes Stück!

Autor: Peter Dannegger (peda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ein Beispiel.

Damit habe ich meinen Scheduler (für 8051,AVR) aufm PC getestet.


Peter

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:
> Hier ein Beispiel.

Clever gemacht.
Die Idee in der Taskliste die Deltas zu speichern
ist gut.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also was sind hier denn für leute unterwegs?
unser lehrer war unfähig uns diese beizubringen und wir haben alle in 
der klasse ein problem damit!!!
Ich bin abendschüler und schreibe prüfung in energietechnik und nicht in 
der datenverarbeitung. ihr kennt mich doch überhaupt nicht also lasst 
die dummen bermerkungen!!!! ich habe halt keinen bezug zu micocontroller 
und das werde ich bestimmt auch nicht in meinem weiteren berufsweg 
ausüben!!!

Ich habe nur eine einfache farge gestellt!!! das sind die deutschen alle 
nur auf sich gestellt!! nicht einmal helfen wollen!!!

die zeit ist halt zu knapp und ich würde mich freuen wenn mir einer so 
ein programm schicken könnte


lg der bald techniker in energietechnik

martin

Autor: Carsten Pietsch (papa_of_t)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lach Peter, Du bist noch grausamer, als die Poster über Dir.. :-)

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carsten Pietsch wrote:
> lach Peter, Du bist noch grausamer, als die Poster über Dir.. :-)

Warum, das Programm ist doch voll funktionsfähig :-)

Nur noch getch durch nen Sekundentakt (Timerinterrupt) ersetzen und 
statt der Variablen red, green, yellow Portausgänge nehmen und schon 
läufts aufm 8051 (die printf könnte man auch noch raushauen).


Ist zwar nur ne einfache Fußgängerampel, aber vom Konzept her für 
beliebige Erweiterungen offen. Auch mehrere unabhängige Ampeln sind 
möglich.


Oder meinst Du, daß die Lehrer Schwierigkeiten haben werden, Strukturen, 
Arrays, Funktionspointer zu verstehen ?
Dann müssen sie halt ein C-Buch aufschlagen.


Peter

Autor: Carsten Pietsch (papa_of_t)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte, der Martin wird - obwohl er bekommen hat was er wollte ("ein 
fertiges Programm") - mangels "Ahnung" wahrscheinlich damit nichts 
anfangen können .. Naja er hat 'ne Chance wenn er das Programm nicht 
erläutern muß sondern nur abgeben..

Aber so ist es, als ob Du einem nackten Mann in der Wüste ein Bierfaß 
ohne Zapfanlage gibst.. :-) Vielleicht nicht unmöglich - aber er hat auf 
jeden Fall lange dran zu kauen..

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Carsten Pietsch wrote:
> Aber so ist es, als ob Du einem nackten Mann in der Wüste ein Bierfaß
> ohne Zapfanlage gibst.. :-) Vielleicht nicht unmöglich - aber er hat auf
> jeden Fall lange dran zu kauen..

Den letzen Satz kann man sogar wörtlich nehmen, falls es keine Steine in 
der Wüste gibt...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alle haben ein Problem mit der Aufgabe, also braucht man sich selbst 
damit auch nicht auseinander setzen. Toll.

Dann muss man sich halt mal hinsetzen und ein Buch zur Hand nehmen und 
zwar in dem Moment, in dem man merkt, dass der Lehrer es einem nihct bei 
bringen kann!

Achja, wenn du eine konkrete Frage gestellt hättest, wäre bestimmt noch 
mehr sinnvoller Input gekommen.

Gast.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin wrote:
> unser lehrer war unfähig uns diese beizubringen und wir haben alle in
> der klasse ein problem damit!!!

Wenn wirklich alle ein Problem damit haben, dann geht man
zum Vorgesetzten des Lehrers und schildert ihm die Situation.

Aber meist beschränkt sich dieses 'alle' auf 'alle in meiner
Clique, die anstatt zuzuhören irgendwas anderes machen'.

> Ich bin abendschüler und schreibe prüfung in energietechnik und nicht in
> der datenverarbeitung. ihr kennt mich doch überhaupt nicht

Das ist richtig.
Alelrdings kennen wir ne Menge anderer Leute, bei denen das genau
so ist. Wenn ich dir unrecht tue, dann tuts mir leid und ich
entschuldige mich. Die Wahrscheinlichkeit spricht allerdings
deutlich gegen dich.

> die zeit ist halt zu knapp und ich würde mich freuen wenn mir einer so
> ein programm schicken könnte

Die Zeit ist knapp?
Mal überlegen:
Du brauchst eine Zeitbasis. Das wird wohl auf einen Timer
hinauslaufen, der in regelmässigen Abständen einen Interrupt
auslöst.

Du brauchst ein paar LED oder Lampen, die an den Ports
hängen und die Ampellichter darstellen

Was noch? Ach ja: Du brauchst eine Tabelle, in der steht, welche
Lampe in welchem Zeitschritt an oder aus sein soll.

Daraus folgt sofort: Du brauchst einen Zeitschrittzähler,
der vom Timer angetrieben vor sich hinzählt. Bei jedem
Timer Interrupt wird dieser Zähler erhöht und mit diesem
Zähler dann aus den Tabellen ausgelesen, wie die Lampen
sein müssen.

Und natürlich müssen die Tabellen noch gefüllt werden.
Das ist aber eher stupid und das rechne ich in die
Zeitabschätzungen nicht ein.

Das wars dann aber auch schon für eine Erstversion des Programmes.

Alles in allem:
* Für einen absoluten Anfänger
   Timer Interrupts: muss man sich einlesen und ein paar Versuche
                     machen
   Tabellen: Ein C Array ist schon erfunden
   Der Rest: eine eher einfache Steuerung

   Ich würde mal sagen: Wer mit C bei 0 anfängt, sollte das in
   etwa 2 Wochen hinkriegen

* Für jemanden der die Grundbegriffe in C (inkl. Arrays)
  so einigermassen intus hat:
  Sollte nicht länger als 2 Tage dauern. Eher deutlich darunter.
  Mehr so in der Gegend von 1 Tag

* Für jemanden der etwas Erfahrung hat (sprich seit mind. 3 oder
  4 Monaten auf dem Zielsystem programmiert)
  Das sollte in deutlich unter 2 Stunden machbar sein

* Für jemanden mit durchschnittlicher Erfahrung:
  Wenn er länger als 20 Minuten braucht -> zurück zu täglichen
  Übungen.

* Die Wizards,die die Steuerflags der Timer auswendig kennen:
  Nicht mehr als 5 Minuten


Niemand, auch ich nicht, erwartet von dir, dass du in der
5 oder 20 Minuten Fraktion bist. Aber die 'deutlich unter
2 Stunden' Fraktion sollte machbar sein. Und wenns abends
oder am Wochenende anstatt 2 Stunden mal 3 oder 4 Stunden
werden, ist das auch kein Beinbruch.
Du kannst nur gewinnen dabei: Eine Ampel ist wirklich simpel!
-> selber machen. Nur so lernt man.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.