PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Menü Erstellung in C mit PIC-µC



theodrin
01.08.2009, 19:09
Hallo!

Ich hab ne Frage bezüglich der Menü-Programmierung ganz allgemein ein mal:
Kurze Beschreibung: Bei meinem Projekt steuert ein PIC-µC zwei 230V Lüfter über Optokoppler und TRIAC und empfängt Daten (Temp, Luftfeuchte) von Sensoren.
Das ganze klappt im Versuchstechnischen Aufbau schon ganz gut, also mit Sensoren sprechen und Lüfter steuern, aber jetzt will ich eben ein Menü dazu bauen damit man das auch mit Tasten bedienen kann.
Hab dabei an 4 Tasten und 2x16 Display gedacht. Also die Tasten sind halt OK, Zurück, Rauf, runter. Und am Display steht halt in 1.Zeile wo man sich gerade befindet und in der 2. Anzeige von Daten und daneben halt immer mit Pfeilen dargestellt was es für Bedienmöglichkeiten gibt.

Die Frage ist jetzt wie ich das in C programmiere. Also das Menü einmal. Gibts da wo Beispiel-Codes oder so was ähnliches? Und 2.tens wie mach ich das am besten mit den Tasten? Über Interrupt oder über ADC (mit eben 4 Spannungsstufen Stufen, kommt halt drauf an welcher Taster gedrückt wurde, etwas mehr drum rum gebaue erforderlich als bei Interrupt) und ständig wert abfragen?

lg,
theo

hm_heli
02.08.2009, 15:22
hi,
zu den Tasten: ich bevorzuge Interrupts, dann erspare ich mir das Entprellen (harware- oder softwaremäßig). Drumrumgebaue wären z.B. Flipflops oder RC-Glieder oder Taster mit eingebauter Entprellung.
Zum Menue: ich zeichne zuerst ein Organigramm, so wie eine Firma besetzt ist, also oben ist der Chef, drunter die Abteilungsleiter ("waagerecht") mit ihren Mitarbeitern ("senkrecht"). So sieht man schnell, wie das Menue aufgebaut sein sollte. Das bestimmt dann meiner Meinung nach erst wieviele Tasten wofür gebraucht werden.
Das in ein Programm mit ein paar Strings zu gießen sollte nicht mehr schwierig sein.
Beispiel-Kode habe ich leider keinen.
Wenn Deine Fragen/Aussagen konkreter werden, stehe ich gerne weiter zur Verfügung.
(z.B. welcher PIC, Schaltung [wieviele Resourcen sind noch frei], Assembler oder C, etc.)
MfG