-         

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 33

Thema: LCD an STK500

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    02.03.2005
    Beiträge
    70

    LCD an STK500

    Anzeige

    Hallo, ich bin absoluter Anfänger. Bis jetzt habe ich es geschaft, die LEDs am STK500 zum Leuchten zu bringen. Jetzt muss ich ein LCD ansteuern, welches bestimmte Daten anzeigen soll. Zum ersten Test reicht mir auch die Anzeige einfacher Zeichen. Gibt es irgendwo eine gut verständliche Anleitung, wie man so ein C-Programm schreiben kann? Oder gibt es vielleicht schon ein kurzes Programm, welches z.B. nur ein Wort ins Display schreibt?
    Ich habe mir schon mal den Code von Peter Fleury angesehen, nur blicke ich da nicht so richtig durch.

    Ich verwende winavr mit gnu99 einen atmega163 und ein 4*16 Display mit 44780 Chip

    Vielen Dank schon mal

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    02.03.2005
    Beiträge
    70
    ups, habe gerade mc-projekt entdeckt. Werde mal versuchen mit der Anleitung das Display zum Leben zu erwecken. Falls noch es noch weitere Beispiele/Erklärungen gibt, bitte trotzdem Posten. Danke

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Hi Rosenthal,
    warum willst du dich plagen und nicht die LCD Lib benutzten? Viele machen weniger Fehler und bekommen es zum laufen wenn sie die lib benutzen! Die funktioniert ganz einfach wenn du willst schick ich dir mal ein paar Quelltexte! Und erklär es dir!
    Gruß Michi

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    02.03.2005
    Beiträge
    70
    @michaelb

    LCD Lib? Würde gerne mehr darüber erfahren. Wäre echt super, wenn Du mir etwas darüber schicken könntest.

    Danke schon mal im Voraus

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2004
    Ort
    In der Nähe von Esslingen am Neckar
    Beiträge
    706
    Hab dir schon was geschickt darauf musst du mir aber noch antworten!
    Gruß Michi

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    02.03.2005
    Beiträge
    70
    @michaelb

    Sorry, habe die Nachricht erst jetzt gelesen. Nun zu Deinen Fragen. Ich möchte den Controller in C programmieren (null Ahnung von BASCOM).
    Mit Bibliotheksfunktionen habe ich bis jetzt auch noch keine Erfahrung.
    Habe aber gestern das Display mit Hilfe von Peter Fleury zum laufen gebracht. Dabei war mein Problem, dass ich die test_lcd.c übersehen habe . Hatte als versucht in lcd.c etwas ins Display zu schreiben.

    Jetzt habe ich ein weiteres kleines Problem. Wie kann ich mir mit dieser Lib eine Gleitpunktvariable (z.B. 15,5 oder 15,2 usw.) anzeigen lassen?
    Ich möchte das Display dazu benutzen, mir den Strom und die Spannung anzeigen zu lassen. Momentan zeigt das Display folgendes an:
    Strom: 15
    Spannung: 13
    Temperatur: 23
    Dabei sind die Werte vordefinierte Zahlenwerte (int a=15. Diese Int-Werte sollen die Messwerte enthalten. Allerdings nicht als Integer, sondern als Float. Die Messwerte liegen im ASCII-Format vor. Also, wie bekomme ich diese im ASCII-Format vorliegenden Daten ins Display? Habe schon in test_lcd mit float 15.5 versucht, bekomme aber nur 15 angezeigt. Dabei sind die 15.5 nur als ein Test zu sehen.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hier kannst Du einmal sehen wie man ein LCD an das STK500 anschließen kann. Ich hoffe das hilft Dir weiter.
    http://www.avr-asm-tutorial.net/avr_de/lcd4_500.html

    LG
    Rubi

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Zitat Zitat von Rosenthal
    @michaelb


    Dabei sind die Werte vordefinierte Zahlenwerte (int a=15. Diese Int-Werte sollen die Messwerte enthalten. Allerdings nicht als Integer, sondern als Float. Die Messwerte liegen im ASCII-Format vor. Also, wie bekomme ich diese im ASCII-Format vorliegenden Daten ins Display? Habe schon in test_lcd mit float 15.5 versucht, bekomme aber nur 15 angezeigt. Dabei sind die 15.5 nur als ein Test zu sehen.
    Mittels des Befehls sprintf kannst Du eine oder mehrer Zahle in einen String konvertieren. Mit ftoa geht das auch, sprintf ist mir aber lieber und kann auch mehr.

    Hier mögliche Werte für die Typangabe bei sprintf()
    Einer Typ-Angabe welche den Typ enthält, als der das Argument angesehen werden soll. Mögliche Angaben sind:

    ...
    f - das Argument wird als float angesehen und eine Fließkomma-Zahl ausgegeben.
    ...

    Also z.B.:

    char buffer[20];
    float f_z=15,5;
    sprintf(buffer,"Wert = %f",f_z);



    LG
    Rubi

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    02.03.2005
    Beiträge
    70
    Danke für die Antwort. Ich habe mal meinen Code eingefügt.
    Wenn ich jetzt statt itoa(a,buffer,10) Deinen Code sprintf(buffer,"=%f",f_z) einfüge, bekomme ich an dieser Stelle nur =? angezeigt.

    #include <stdlib.h>
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    #include "lcd.h"


    int a=15;
    int b=12;
    int c=23;
    int d=90;
    int i=0;
    char buffer[10];
    float f_z=15.5;

    void lcd_display(void)
    {
    lcd_init(LCD_DISP_ON);
    lcd_clrscr();
    lcd_puts("Laststrom:\n");
    lcd_puts("Spannung:\n");
    lcd_puts("Temperatur:\n");
    lcd_puts("Kapazitaet:\n");
    while(i<=3)
    {
    lcd_gotoxy(12,i);
    if(i==0)
    sprintf(buffer,"=%f",f_z);
    //itoa(a,buffer,10);
    else if(i==1)
    itoa(b,buffer,10);
    else if(i==2)
    itoa(c,buffer,10);
    else
    itoa(d,buffer,10);
    lcd_puts(buffer);
    i++;
    }
    }

    int main(void)
    {
    lcd_display();
    }

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hallo

    probiere bitte mal ftoa(f_z,buffer,10);

    ansonsten fällt mir nur ein das sprintf zu stdio.h gehört und du das nicht includiert hat.

    Wenn es mit ftoa funzt, dann ist erst einmal dein Problem gelöst und wenn
    Du möchtest können wir dann weitersuchen was mit dem sprtinf los ist.

    LG
    Rubi

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

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