-         

Ergebnis 1 bis 9 von 9

Thema: LCD mit P. Fleury

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2006
    Beiträge
    183

    LCD mit P. Fleury

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hi,

    ich möchte ein LCD Display 4x20 an meinen Mega32 anschließen und die lcd libs von P.Fleury nutzen, dem ich auf diesem Weg auch gleich für die lcd libs danken möchte.

    Ich möchte das LCD an nur einen Port anschließen (4-bit IO mode).
    Dazu hab ich folgende Frage:

    P.Fleury schreibt in lcd.h
    #define LCD_DATA0_PORT LCD_PORT
    #define LCD_DATA1_PORT LCD_PORT
    #define LCD_DATA2_PORT LCD_PORT
    #define LCD_DATA3_PORT LCD_PORT
    #define LCD_DATA0_PIN 0
    #define LCD_DATA1_PIN 1
    #define LCD_DATA2_PIN 2
    #define LCD_DATA3_PIN 3

    laut Interface Plan wird Daten Pin D4-D7 angeschlossen.
    Gehe ich richtig in der Annahme dass, LCD_DATA0_PIN 0-3 = D4 bis D7 entspricht?

    gruß Christoph

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2006
    Beiträge
    183

    arg

    Ein Plan ist dazu da richtig gelesen zu werden.

    Meine Frage hat sich erledigt.

    p.s. kann es sein das die Uhr im Forum ne Stunde nachgeht?

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Gehe ich richtig in der Annahme dass, LCD_DATA0_PIN 0-3 = D4 bis D7 entspricht?
    korrekt. Die Fleury Lib unterstützt nur den 8-Bit Bus Mode und den 4-Pin IO Mode.

    Gruß m.a.r.v.i.n

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2006
    Beiträge
    183
    Hi,

    benutzt Irgendwer ein LCd mit 4x20 Zeichen?

    was muss hier in P.Fleurys libs eingetragen werden?
    abgesehen von Lines 4 und Length 20.

    #define LCD_LINES 2
    #define LCD_DISP_LENGTH 16
    #define LCD_LINE_LENGTH 0x40
    #define LCD_START_LINE1 0x00
    #define LCD_START_LINE2 0x40
    #define LCD_START_LINE3 0x14
    #define LCD_START_LINE4 0x54
    #define LCD_WRAP_LINES 0
    #define LCD_IO_MODE 1

    hab mein LCD verkabelt und angeschlossen leider kommen nur die zwei durchgezogene Balken, naja die Versorgung stimmt schon mal.
    Leider läuft das testprogramm welches bei Fleurys libs dabei ist nicht.

    Hat jemand Code für ein Display mit 4x20 Zeichen welcher sicher funktioniert, würde meine fehlersuche eingrenzen.

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    http://www.roboternetz.de/wissen/ind...GCC_Programm_2

    Hier sollten deine Fragen beantwortet werden.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.03.2007
    Beiträge
    176
    Zitat Zitat von Hubert.G
    www.roboternetz.de/wissen/index.php/LCD-Modul_am_AVR#AVR-GCC_Programm_2

    Hier sollten deine Fragen beantwortet werden.
    absolut nein, ich verzweifel gerade, auch wenn dem Fleury Dank und Ehre gebührt, aber wie schafft er es alle Ports für das LCD auf einem Port zu halten ?

    mega8
    der PortC fällt vollständig aus wegen ADC
    der PortD fällt vollständig aus wegen RxD und TxD
    der PortB fällt vollständig aus wegen OC1 und OC2

    ergo muss ich die LCD Lines und die Select Lines splitten

    dafür hat er in seinen Defs aber keine Möglichkeiten vorgesehen

    LCD_Port wirkt vollständig auf Data und RS/E,

    die Data Benennung im 4-bit mode ist alles andere als toll, denn es wird nur D4-D7 genutzt, aber er zählt auch im 4-bit Mode 0-3

    muss ich nun die komplette LCD.H umschreiben ? ist ja auch nicht Sinn einer Libary mit Funktionen, oder bin ich wieder mal zu ahnungslos ?

    jedenfalls Neudefinition vom RS_Pin brachte schon mal gleich Fehlermeldungen in Verbindung mit lcd.h

    hat jemand Tipps für mich bitte ?

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Für welchen Kontroller?

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    du kannst doch bei der LCD Lib jeden Pin auf einen anderen Port benutzen, wie es dir gefällt. Natürlich muß man dafür die lcd.h anpassen. Das ist ja der Sinn von dem Ganzen. Das Beispiel im Wiki ist halt nur für Port C geschrieben, aber das kann man beliebig anpassen, z.B.:

    Code:
    #define LCD_PORT         PORTC        /**< port for the LCD lines   */
    #define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
    #define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
    #define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
    #define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
    #define LCD_DATA0_PIN    4            /**< pin for 4bit data bit 0  */
    #define LCD_DATA1_PIN    5            /**< pin for 4bit data bit 1  */
    #define LCD_DATA2_PIN    6            /**< pin for 4bit data bit 2  */
    #define LCD_DATA3_PIN    7            /**< pin for 4bit data bit 3  */
    #define LCD_RS_PORT      PORTA     /**< port for RS line         */
    #define LCD_RS_PIN       1            /**< pin  for RS line         */
    #define LCD_RW_PORT      PORTB     /**< port for RW line         */
    #define LCD_RW_PIN       2            /**< pin  for RW line         */
    #define LCD_E_PORT       PORTD     /**< port for Enable line     */
    #define LCD_E_PIN        3            /**< pin  for Enable line     */
    Ebenso kann man auch jeden einzelnen Datenpin auf einen anderen Datenport legen.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.03.2007
    Beiträge
    176
    Zitat Zitat von m.a.r.v.i.n
    Hi,

    du kannst doch bei der LCD Lib jeden Pin auf einen anderen Port benutzen, wie es dir gefällt. Natürlich muß man dafür die lcd.h anpassen.

    #define LCD_RW_PORT PORTB /**< port for RW line */
    #define LCD_RW_PIN 2 /**< pin for RW line */

    Ebenso kann man auch jeden einzelnen Datenpin auf einen anderen Datenport legen.
    ich habs ja geschafft, aber ob das so richtig ist ? ich hab gelernt das eine LCD.H die LCD Funktionen bekannt macht, diese wird typisch nie geändert, eigene Portdefinitionen finden im main.c statt

    BTW warum besteht er auf einen RW Pin ? in Bascom funzt das mit GND ganz gut.....


    pony zickt auch noch etwas, aber es wird so langsam

    warum pony nicht vor dem brennen löschen macht ? obwohl in options eingestellt, brenne ich nur gibt es fehler, lösche ich vorher im pony läuft es....

Berechtigungen

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