-
        

Ergebnis 1 bis 5 von 5

Thema: Menuaufbau mit Atmega8

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2007
    Beiträge
    26

    Menuaufbau mit Atmega8

    Anzeige

    Hallo, ich mal wieder!!!

    Baue gerade ein "Batterieladegerät", welches bei einer bestimmten Spannung aus und wieder einschaltet, also ein etwas Komplizierter Schmitt-Trigger. Die Regelung funktioniert soweit, die gemessene Spannung wird auf dem angeschlossenem LCD angezeigt und geschaltet wird auch.
    Um das ganze nun etwas eigenständiger zu machen und um auf die ständige umprogrammierung der µC zu verzichten, würde ich gerne ein kleines Menu programmieren, mit dem die Ein- und Ausschaltschwelle direkt über 5 Taster an der Schaltung verändert werden kann.

    nur leider hänge ich bei der Aufgabe etwas fest, google spuckt auch nichts passendes aus. Hat mir jemand vielleicht ein paar hilfreiche tipps und oder ne HP, auf der man mal nachlesen kann, wie sowas programmiert wird?!

    sollte möglichst in assembler sein, finde die hochsprachen nicht so den knaller und ich habs gerne umständlich und kompliziert

    danke schonmal im voraus.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Welches Bedienkonzept möchtest du denn umsetzen?
    -dynamische Tastenbeschriftung im LCD einblenden oder feste (welche?) Belegung?
    -verschachtelte Menüebenen oder alles auf einer Hauptebene?
    -Einstellung nur eines Parameters pro Bildschirm, oder mehrere?
    -LCD-Größe?

    Ich hab bei meinem Bot dieses System umgesetzt:
    Bedienung über einen Drehencoder mit Tastfunktion. Die Drehstellung wird über einen Interrupt dauernd aktualisiert. Zu Beginn warte ich in einer Schleife, bis die Taste gedrückt wird. Dabei prüfe ich die Drehstellung. Jeder Wert ist einem Menüpunkt zugeordnet, der dann entsprechend eingeblendet wird. Wenn der Taster dann gedrückt wurde, wird die zugehörige Menüseite ausgewählt. Dort kann man mit dem Encoder den Parameter einstellen, dann drücken, und der Wert wird im EEPROM abgelegt und man kehrt ins Hauptmenü zurück. Das ließe sich auch mit drei Tastern nutzen.

    Assemblertechnisch wären Tabellen eine gute Wahl. Du gibts per Tastenauswahl den Index an, und suchst in einer Tabelle die zugehörigen Displaydaten und in einer anderen Tabelle die Sprungadressen für das Aufrufen der Menüpunkte.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2007
    Beiträge
    26
    so hallo!

    ja danke, das ist doch mal ein guter ansatz.

    ich habe mir das so gedacht, das ich ein hauptmenu habe, in dem ich die einstellungssache auswähle, mit einem tastendruck in einen neuen bildschirm mit den parametern komme, dort auswähle und dann entsprechend speichern kann. evtl. - was ich aber nicht glaueb, da es so viel gar nicht werden wird - noch ein bisschen verschachteln.

    mit der programmierung von dem eeprom/flash und co hab ich noch so meine probleme, bin aber gerade dabei mich da hineinzuarbeiten.

    hast du sämtliche konstanten und wörter/sätze einzeln!!! auf dem flash hinterlegt?!

    wenn ja, hast du mir mal einen codeschnipsel wie das aussehen könnte?!

    gruß

    EDIT: 5 taster: 2 rechts/links(menuauswahl), 2 hoch/runter (einstellung der Parameter) und 1 taste zum bestätigen, also "enter" (speichern)

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Ich hab in C programmiert. Daher ist das Programm auch nicht mit Tabellen aufgebaut, sondern mit case-Anweisungen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2007
    Beiträge
    26
    ok danke dir, dann werde ich mich da selber durchkämpfen müssen...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •