Hallo zusammen, ich habe mir nun ein günstiges LCD Display von ELV beschafft. Link: http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=8921&flv=&bereich=&marke= Als Einstieg benutze ich: www.dieelektronikerseite.de -> uC -Ecke -> Lehrgänge -> Bascom/Hardware -> LCD-Displays Ich habe mir das Datenblatt zu dem Display von der ELV Seite heruntergeladen. Danach habe ich auf die Bezeichnungen geachtet (R/W,E,RS,VSS,VDD,VLCD,DB0-DB7) und dementsprechend verbunden. Nachdem ich die Spannungsversorgung einschalte, erscheint bei mir auf dem Display nur ein schwarzer Balken in der kompletten ersten Zeile (und das, obwohl der Atmega8 gelöscht wurde). Nach dem Übertragen des Testprogramms wo "Es funktioniert" angezeigt werden soll, bleibt der Strich immer noch da. Ich hab schon an der Kontrastspannung gedreht. (also kontrast lässt sich einstellen aber man kann nichts lesen). Was mache ich falsch? So hab ich die Pins verbunden: Pin 1 an GND Pin 2 an +5V Pin 3 wird mit einem 10k Poti geregelt Pin 4 geht an Pin 10 vom Atmega8 Pin 5 geht an GND (wie im Schaltplan auf der Seite) Pin 6 an Pin 9 vom Atmega 8 Pin 7 - 14 jeweils an die Pins 2,3,4,5,6,11,12,13,14 vom Atmega8 Pin 15 und 16 sind offen Ich bedanke mich schonmal im vorraus und ich hoffe ihr könnt mir helfen. Es ist wirklich wichtig! MFG David Polch
Programm und Schaltbild des Aufbaus wären hilfreich.
Hupps und hier der Code (von der Elektronikerseite): $regfile "m8def.dat" $crystal = 1000000 Dim Dat As Byte Dim Cnt As Byte Dim Txt As String * 16 Dim Strarr(16) As Byte At Txt Overlay Config Portd = Output Config Portb.6 = Output Config Portb.7 = Output Lcd_data Alias Portd Lcd_rs Alias Portb.6 Lcd_en Alias Portb.7 Lcd_en = 0 : Waitms 50 ' ### Hauptprogramm Dat = 56 : Gosub Write_ctrl : Dat = 12 : Gosub Write_ctrl Dat = 1 : Gosub Write_ctrl : Dat = 2 : Gosub Write_ctrl Txt = "Es funktioniert!" : Gosub Write_string Stop ' ### Hilfsroutinen zur Ansteuerung des LCD-Moduls Write_ctrl: Lcd_rs = 0 : Lcd_data = Dat : Lcd_en = 1 : Lcd_en = 0 : Waitms 2 Return Write_data: Lcd_rs = 1 : Lcd_data = Dat : Lcd_en = 1 : Lcd_en = 0 : Waitus 40 Return Write_string: For Cnt = 1 To Len(txt) Dat = Strarr(cnt) : Gosub Write_data Next Return
Deine Initialisierung ist nicht erfolgreich. Meiner Meinung nach fehlt hinter Dat=56; gosub write_Ctrl; ein wait 10ms, denn hier steht drin daß danach MINDESTENS 4.1msec zu warten ist http://www.apollodisplays.com/pdf/dmcman.pdf und dein Programm wartet nur 2 (wobei nicht jedes Display gleich schnell ist, es gibt auch welche die langsamer sind als das "Original", daher 10msec) Unglaublich was es für Schrottseiten im Web gibt.
David Polch schrieb: > Nachdem ich die Spannungsversorgung einschalte, erscheint bei mir auf > dem Display nur ein schwarzer Balken in der kompletten ersten Zeile (und > das, obwohl der Atmega8 gelöscht wurde). Nach dem Übertragen des > Testprogramms wo "Es funktioniert" angezeigt werden soll, bleibt der > Strich immer noch da. Das ist mein erstes Problem. Danach kann ich erst probieren ob was auf dem Display erscheint. Muss das Display eigentlich nichts anzeigen wenn man Spannung drauf gibt?
Dat = 56 : Gosub Write_ctrl : Dat = 12 : Gosub Write_ctrl Dat = 1 : Gosub Write_ctrl : Dat = 2 : Gosub Write_ctrl letzte Init Zeile im Datenblatt sagt 6 Ralle
Ich bekomme diesen schwarzen Balken nicht weg... warum leuchtet der wenn ich den Strom einschalte? Ist das normal? Ralle schrieb: > Dat = 56 : Gosub Write_ctrl : Dat = 12 : Gosub Write_ctrl > Dat = 1 : Gosub Write_ctrl : Dat = 2 : Gosub Write_ctrl > > letzte Init Zeile im Datenblatt sagt 6 wie jetzt? Kannst du mir das vielleicht nochmal genauer erklären? ;-)
Kontrast zu hoch eingestellt deshalb ist die Zeile Schwarz. Weiter runterdrehen bis leicht grau. Die Zweite Zeile Leuchtet nicht weil Sie standartmäßig deaktiviert ist und erst in der Initialisierung aktiviert werden muß.
Datenblatt lesen. Fertiger Code hat zuviele Fehler da ist es einfacher neu zu schreiben.
Datenblatt Seite 9 ist die Init für 8 bit beschrieben und die letzte Zeile ist "Entry mode set" Bit 2 gesetzt und Bit 1 für Increment Ralle
Hier nochmal ein Foto von meinem Aufbau und der Schwarze Balken. Ist die Verdrahtung so richtig? MFG David Polch
Uwe schrieb: > Kontrast zu hoch eingestellt deshalb ist die Zeile Schwarz. Weiter > runterdrehen bis leicht grau. Die Zweite Zeile Leuchtet nicht weil Sie > standartmäßig deaktiviert ist und erst in der Initialisierung aktiviert > werden muß. Hilft nix. Der schwarze Balken lässt sich damit nur heller dunkler machen aber ich kann keine Buchstaben auf dem Display lesen. Uwe schrieb: > Datenblatt lesen. Fertiger Code hat zuviele Fehler da ist es einfacher > neu zu schreiben. Ich bin grade mal dabei meine ersten Versuche mit LCD Displays nachzubauen. Einen Code für LCD Displays kann ich noch nicht programmieren. ;-)
So ein LCD zeigt in jeder zweiten Zeile (also 1. und evtl. 3.) einen Schwarzen Balken an, um zu signalisieren, dass es in Ordnung ist und auf die Initialisierung wartet. Wenn du schon BASCOM nutzt, warum machst du das alles dann zu Fuß?
1 | $regfile = "M8Def.dat" |
2 | $crystal = 1000000 |
3 | |
4 | Config LCD = 16 * 2 |
5 | Config LCDBus = 4 |
6 | Config LCDPin = Pin, Db4 = PORTD.4, DB5 = PORTD.5, DB6 = PORTD.6, DB7 = PORTD.7, RS = PORTB.6, E = PORTB.7 |
7 | |
8 | LCDInit |
9 | Cls |
10 | Home upper |
11 | LCD "Es funktioniert!" |
12 | |
13 | Do |
14 | Loop |
Gruß Jonathan
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.