- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Anschluss eines 4x20 LCD

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.01.2005
    Ort
    Germany
    Beiträge
    55

    Anschluss eines 4x20 LCD

    Anzeige

    E-Bike
    Hallo Leute

    Bin auf der Suche nach einer Anschlussmöglichkeit für ein 4x20-LCD von Reichelt. Es hat zwei Anschlussreihen, die sich nur in den EN-Pins unterscheiden. Ich habe auch das Problem der nur zweizeiligen Anzeige.
    Meine Frage:
    Kann ich die gleichnamigen Pin einfach parallel schalten, oder fackelt mir das Display dabei ab?

    Habe schon den halben Tag nach einer Antwort gesucht, bisher aber vergebens. Nachdem ich diesen Thread

    https://www.roboternetz.de/phpBB2/viewtopic.php?t=5832

    gelesen habe, bin ich völlig verwirrt. Die Datenleitungen sind im Bild an den unteren 4 Bit angeschlossen, sollten aber an den Oberen angeschlossen sein, oder irre ich mich da. Besonders nach dem Kommentar von tobimc "Hardware sieht soweit gut aus". Nun weiss ich aber nicht, ob er sich genau auf dieses Bild bezieht. Er ist aber als Robbi-Experte ausgewiesen, also kann ich davon ausgehen, daß er kompetent ist.

    Ich hoffe, jemand kann mit einer kurzen und klaren Antwort meine schlaflosen Nächte beenden. Danke schon mal im voraus.

    mfg gulliver

  2. #2
    Verrätst Du uns wie Dein Display heisst ?
    Es macht es einfach leichter zu antworten, wenn man weiss um was es geht ?



    Gruss
    Frank


    --
    Hallo Werkstatt - mein Auto macht so komische Geräusche. Was kostet die Reperatur ?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.08.2004
    Ort
    484..
    Alter
    34
    Beiträge
    339
    Normalerweise sind die Datenleitung an den oberen 4Bit angeschlossen.
    Du kannst auch nocheinmal hier schauen: http://www.mikrocontroller.net/tutorial/lcd
    Vielleicht hilft dir das auch ein wenig.
    * human knowledge belongs to the world *

    www.domspage.de - Robotik - TobiSAt8

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    08.01.2005
    Ort
    Germany
    Beiträge
    55
    Es ist das 4x20-LCD von Reichelt unter der Bestellnummer LCD 204B LED,
    Controller: LSI KS0076B.
    Ich möchte mir eine Platine dafür anfertigen um Anzeigen im 4- und 8-Bit-Modus zu realisieren, also so etwas wie eine Experimentierplatine.

    Da die Anschlüsse doppelt sind, weiß ich nicht, ob ich sie einfach parallel anschließen kann. Aus dem Datenblatt ist dies nicht ersichtlich und verheizen möchte ich das Teil schon garnicht (kostet ja immerhin über 20 Euronen).

    Ich habe alle möglichen Links durchgekämmt, aber nur etwas über Initialisierung und Ansteuerung gefunden. Nirgens habe ich etwas über die hardwaremäßige Geschichte in Erfahrung bringen können. Vielleicht stelle ich mir aber auch nur zu dämlich an und sehe den Wald vor lauter Bäumen nicht.
    Mikrocontroller.net ist mir auch sehr vertraut.

    mfg Roger

  5. #5
    Zitat Zitat von gulliver
    Es ist das 4x20-LCD von Reichelt unter der Bestellnummer LCD 204B LED,
    Controller: LSI KS0076B.
    Da die Anschlüsse doppelt sind, weiß ich nicht, ob ich sie einfach parallel anschließen kann. Vielleicht stelle ich mir aber auch nur zu dämlich an und sehe den Wald vor lauter Bäumen nicht.
    mfg Roger
    Zitat Zitat von gulliver
    Es hat zwei Anschlussreihen, die sich nur in den EN-Pins unterscheiden
    Hallo Roger,
    vielleicht sehe auch Ich den Wald vor lauter Bäumen nicht - ABER :

    Ich hab mir mal das Datenbaltt geholt.
    Ich kann da keine Unterschiedlichen EN Pins entdecken.
    Für mich steht da :
    • Pin 1,17 VSS
      Pin 2,18 VDD
      ...
      Pin 6,22 E
      Pin 7,23 DB0
      usw.


    und für mich bedeutet das, dass die Pins parallel geschaltet sind und Du nur eine von beiden Pinreihen anschliessen musst.

    ... oder hab ich die unterschiedlichen EN Pin's doch irgenwo übersehen.
    Wo hast Du denn das gelesen ?

    Gruss
    Frank

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    08.01.2005
    Ort
    Germany
    Beiträge
    55
    Hallo Frank

    Mit EN meinte ich Enable,also die E-Pins 6 und 22. Ich habe das nur mit einer Pinreihe angeschlossen und ich kriege es einfach nicht dazu, mir alle 4 Zeilen anzuzeigen. Darum dachte ich in meiner Ausweglosigkeit, daß ich jeden Controller einzeln ansprechen muß. Das würde aber bedeuten, daß ich noch einen Port, einen zweiten Satz Steuerleitungen (RS, R/W u. E) und vielleicht noch einen Datenport benötigen würde. Das wäre ja völlig unsinnig und ich dachte mir, vielleicht muß ich jeden Controller über E einzeln einschalten, was aber nichts gebracht hat.

    Ich habe es mir aber noch nicht getraut, diese beiden Pinreihen einfach parallel anzuschließen. Deshalb wollte ich mal von jemandem, der solch ein LCD schon in Betrieb hat, hören, wie das Teil denn nun verlötet wird.

    Instinktiv würde ich die Pinreihen parallel schalten, denn das würde ja in dieser rationalen Welt einen Sinn machen, aber wie gesagt ich traue mich nicht.

    Deinen letzten Ausführungen entnehme ich aber aber genau dieses und es ist wahrscheinlich meine Initalisierung. Ich habe aus dem Netz noch keine LCD-Routine 1:1 übernehmen und nach entsprechender Anpassung des Include-Pfades, des MC, der Ports usw. zum Laufen bekommen. Darum bin ich ziemlich frustriert.

    mfg Roger

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    31.07.2005
    Beiträge
    54
    hi

    hast du die library von P. Fleury schon versucht? die funktioniert bei mir einwandfrei:
    http://homepage.sunrise.ch/mysunrise...ware.html#libs

    die lib sollte auch mit deinem lcd controller funktionieren

    cu

    chris

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    08.01.2005
    Ort
    Germany
    Beiträge
    55
    Hallo Chris

    Die lib von Fleury habe ich mir schon angesehen. Dabei habe ich zwei Feinde: englisch und C, ich komme mit beiden nicht so richtig klar.
    Außerdem ist es ja nur eine Bibliothek. Ich brauche ein komplettes Assemblerprogramm, in dem eine LCD von der Initalisierung bis zum Datenhandling beschrieben ist, und das auch noch im 4-Bit-Modus. Es sollte bei dem, der es ins Netz stellt auch laufen und nicht eben mal schnell aus dem Gedächtnis dahergeschrieben und dann mit dem Kommentar "so müßte es gehen" oder so ungefähr versehen sein. Das hilft einem Neuling überhaupt nicht.
    Im 8-Bit-Modus habe ich keine Probleme (allerding mit einem 2x16 LCD von Reichelt), nur das 4-zeilige LCD will nicht mit mir spielen.


    In diesem Programm erscheint in der ersten Zeile "AT90S2313" und in der zweiten Zeile "LCD-Routine". Ich mußte es mal so ausdrücken, weil ich nicht mehr weiß, wer die Quelle ist. Der eine oder andere von euch wird es bestimmt schon mal in der Mache gehabt haben und kennt es womöglich.

    Es ist eine 8-bittige Version. Diese lief bei mir aber auch nicht so richtig. Der ganze Initialisierungsteil fehlte und es ging gleich zur Sache. Das merkte man nach einem Reset. Dann sollte es eigentlich ganz sauber von vorn anfangen und nicht Wortbruchstücke mitten in der Zeile anzeigen. Dies hatte ich aber einigermaßen in den Griff bekommen.

    Bei mir steckt der Wurm im 4-Bit-Modus. Vielleicht sollte ich das ganze Internet einfach mal vergessen, tief Luft holen und nur mit dem LCD-Datenblatt arbeiten und mir selbst das Programm erarbeiten, denn je mehr ich im Netz recherchiere um so verwirrter werde ich. Aber warum soll ich das Fahrrad noch mal erfinden, wenn es dieses schon tausendfach gibt.

    mfg Roger

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    31.07.2005
    Beiträge
    54
    hi

    willst du generell nicht in c programmieren oder hat das andere hintergründe?
    wenns aus performance-gründen ist, würde ich empfehlen, in c zu programmieren und bei den zeitkritischen aktionen wenn notwendig assember zu verwenden - aber im normalfall ist auch c genügend schnell.

    ist schon so - ich hab dir ne lib angegeben - aber ausser dass sie in c geschrieben ist, kann sie alles, was du voraussetzt.

    du musst im headerfile ein paar (selbsterklärende) defines anpassen, dannach reicht der folgende code, um den 4-Zeilen modus zu aktivieren und etwas auf's display zu schreiben:

    lcd_init(LCD_DISP_ON);
    lcd_clrscr();
    lcd_puts("Zeile1\n");
    lcd_puts("Zeile2\n");
    lcd_puts("Zeile3\n");
    lcd_puts("Zeile4\n");

    wenn du wirklich asm willst, könntest du auch n demoprogramm in c schreiben, das ganze kompilieren und schauen, was der compiler für asm-code daraus generiert.

    cu

    chris

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    08.01.2005
    Ort
    Germany
    Beiträge
    55
    Hallo Chris

    Ich würde gern in C programmieren, nur es ist mir zu umständlich und auch zum Teil undurchsichtig. Es würde für mich wieder Einarbeitung, Handling mit dem Compiler, die Make-Dateien usw bedeuten. Da ich mit Assembler angefangen habe, möchte ich auch dabei bleiben, auch wenn man dabei ziemlich schreibwütig werden kann.

    Wenn ich das Prozedere der Compilierung in C beherrsche und mit den AVR's in Assembler locker umgehen kann, werde ich wohl in C einsteigen, denn einige Sachen lassen sich in C oder einer anderen Hochsprache doch einfacher lösen. Pascal dagegen ist übrigens sehr einfach im Umgang. Jetzt bin ich aber noch in der tiefsten Lernphase mit Assembler, mit dem ich übrigens schon ganz gut zurechtkomme, ich meine mit der Programmierung.

    Übrigens, die Quelle von meinem eben erwähnten Programm ist das AVR-Microcontroller-Praxis-Buch von Volpe, Elektorverlag. So etwas Oberflächliches auch noch als Fachbuch zu bezeichnen ist ja der Hammer.
    Frust ist da, wie in meinem Fall, vorprogrammiert.

    mfg Roger

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

12V Akku bauen