-         

Ergebnis 1 bis 6 von 6

Thema: PIC16F877A + LCD

  1. #1

    PIC16F877A + LCD

    Anzeige

    Hallo,
    bin neu hier und kenn mich außerdem noch nicht so gut mit der Programmierung von PICs aus.
    Also folgendens, ich benutze einen PIC16F877A (20MHz Eingangstakt) und ein 16x2 LCD (AV1624)
    Ich programmiere in C und benutze den CC5X-Compiler.
    Ich habe schon kleine Testprogramme geschrieben, bei denen einfach ein Rechtecksignal an einem Pin des Ports ausgegeben wird. Hat alles super funktioniert.
    Jetzt wollte ich mein LCD initialiseren. Hab dazu in der Beschreibung vom LCD nachgesehen. (LCD möchte ich im 4-BIT Mode betreiben)

    So sieht mein Programm jetzt aus:
    Code:
    #include <C:\CC5\16F877A.h>
    
    void pause(void)
    {
     OPTION=3;
     TMR0=102;
     while(TMR0);
    }
    
    
    void main(void)
    {
    PORTB=0x00;
    TRISB=0b00000000;
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    PORTB=0b.00110100;
    pause();
    pause();
    pause();
    pause();
    pause();
    pause();
    PORTB=0b.00110100;
    pause();
    PORTB=0b.00110100;
    PORTB=0b.00100100;
    PORTB=0b.11100100;
    PORTB=0b.11000100;
    PORTB=0b.00010100;
    PORTB=0b.01100100;
    }
    Ich weiß sieht sehr stümperhaft aus. Mit pause erzeuge ich eine 1ms Pause.
    Die Belegung der Pins vom LCD am PIC sieht so aus:

    RB7...RB6...RB5...RB4...RB3..RB2..RB1..RB0..--> PIC
    DB7...DB6..DB5...DB4.. R/W.. E.....RS.....-.....-->LCD

    Normalerweise sollte doch nach der Initialisierung der Curser am LCD blinken oder?
    Ein weiter Problem hab ich mit der Enable Leitung. Ich weißnicht ob diese 1 oder 0 sein muss. (Habs schon mit beiden ausprobiert - geht trotzdem nichts)

    Könnt ihr mir vl helfen?

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Alter
    53
    Beiträge
    114
    Ist das Display ganz schwarz? Dann stimmt vielleicht die Kontrasteinstellung nicht. Muss mit einem Poti extra geregelt werden. Was ist denn zu sehen?

  3. #3
    Am Display sieht man gar nichts, das ist das Problem. Nichtmal die Kontrastkästchen. Kontrastspg. wird mit einem Poti eingestellt. Liegt derzeit auf 3,8V (laut Datenblatt). Hab aber von 0-4V schon durchprobiert - tut sich absolut nichts.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Alter
    53
    Beiträge
    114
    Ok. Um zu sehen, ob das Display überhaupt geht, würde ich den Code der folgenden Seite: http://sandiding.tripod.com/pana.html
    einmal in den PIC laden und ausprobieren. Falls das funktioniert, kann man das Ganze dann ja auf C umschreiben.

  5. #5
    wie wärs denn damit: http://www.cc5x.de/LCD.html ?

    damit hab ich es in ein paar minuten hinbekommen (bei schätzungsweise gleichem kenntnisstand ).

    gruß

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2004
    Ort
    Bielefeld / Paderborn
    Beiträge
    1.253
    wenn VOR der initialisierung die schwarzen kaestchen zu sehen sind und danach nicht mehr, dann ist das afaik ok so. um einen blinkenden cursor zu bekommen, musst du das entsprechenden steuerzeichen senden, welches den cursor einschaltet. naeheres dazu steht in deinem datenblatt.

Berechtigungen

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