Hallo Ich habe mir gestern mal zu meinen Atmel Evaluations Board von Pollin das Addon-Board mit dem LCD zugelegt. Dazu habe ich mir auch einen Atmel32 16PU gekauft und wollte das LCD gleich mit dem µC mit Bascom ansteuern. Jedoch habe ich das Problem, dass das LCD nichts anzeigt, ausser einen Schwarzen Balken über die komplette erste Zeile. Ich habe dann im Internet gesucht und gelesen, dass das bedeutet, dass das LCD nicht richtig Initialisiert wurde. Also habe ich das Programm so geschrieben, dass nach dem Initialisieren und nachdem er den Text zum LCD geschickt haben sollte eine LED leuchtet. DIese LED's leuchten auch beide, d.h. das µC müsste eigentlich das LCD initialisiert haben. Das LCD zeigte aber immernoch den selben Balken. Dann habe ich weiter gesucht und gefunden, dass man vielleicht mal das FUsebit für JTAG ausschalten muss. Also habe ich auch das gemacht und es gab keine verändereung. Mittlerweile bin ich am verzweifeln. ich habe die vermutung, dass ich entweder die Falschen Fusebites gesetzt habe oder ich bei dem Timing des programmes was falsch gemacht habe. Mein bisheriges "Test" Progamm und die datenblätter zu den Boards sind oben. Die brücken auf dem Addon-Board von Pollin habe ich gesetzt ;)
Hallo, bei Fuses im Auslieferungszustang läuft der Controller bei 1Mhz auf internerm RC Oscillator. Jtag abzuschalten war schon richtig. Mach mal die LED´s an den Port an dem das LCD Hängt und lass sie dort Blinken, dann weißt Du ob das Abschalten des JTAG erfogreich war. An der Blinkfrequenz kannst Du dann Rückschlüsse aus die Taktfrequenz schließen und Du weißt ob das Fuses Setzen erfogreich war. Axel
Hallo! Ich würde Config Lcd 16*2 unter die Pin Config Zeile setzen. Das Lcdbus=4 brauchst nicht. Und abschließend würde ich noch am Kontrastpoti drehen, bis die Kästchen fast verschwunden sind. Hoffe geholfen zu haben. MfG P.S. An alle die hier lesen: Frohen Weihnachten und ein gesegnetes neues Jahr!
so ich finde es super, dass hier so viele antworten und allen ein frohes fest. Ich habe das Programm so geändert, wie wissender gesagt hat und zum ich glaube 100 mal am kontrast poti gedreht. Ergebnis: keine Veränderung. Die Balken ändern nur ihren Kontrast. Dann habe ich R/W und DB0 bis DB3 auf GND gesetzt und eine LED an Db7 gehängt. Ergebnis: Das LCD zeigt immernoch Balken an. Aber die LED Blinkt, einmal kurz wenn das LCD initialisiert wird und ein paar mal mehr wenn der Text geschriben werden soll, also wird auch etwas an das LCD gesendet. Ich werde heute abend mal ein paar LED's zusammen kramen und an jeden Pin des LCD's der mit dem µC verbunden ist eine LED hängen und schauen was die mir zeigen und dann mal mit dem Datenblatt vergleichen, was sie zeigen müssten. Vielleicht fällt euch ja noch irgendwas zu meinem Problem ein.
Kontrast des LCD wurde hier schon erwähnt.LCDs sind gegenüber µCs Lahmärsche. Deshalb werden sie oft mit viel zu schnellem timing angesteuert. Check dein timing mit dem Datenblatt des LCD. Und auch wenn es ein alter Hut ist:Das Display muss in den 4-Bit Modus geschaltet werden und die Befehle bzw. Zeichen 2 mal als Nibble übertragen werden. Vielleicht klingelt ja jetzt etwas bei dir ;-)
Also nach langem habe ich mal wieder zeit und habe auch nach Nibble geschaut. Aber ich finde zu dem Thema nichts. Ich weiss nicht was das sein soll. könntest du mir vielleicht ein paar links zu erklärungen schicken oder das selbst erklären?
Killerawft schrieb:
> Aber ich finde zu dem Thema nichts.
Schon mal was von Wikipedia gehört? Oder Google?
Also ich sags mal anders. zu nibble finde ich etwas ich weiss auch was das ist, jedoch nicht wie ich das bei Bascom Programmiere, dass er das als Nibble zum LCD sendet. Eigentlich müsste das Bascom doch auch im 4-Bit Modus von selbst machen oder?
Nun ja, der erste Suchbegriff führt gleich zu http://de.wikipedia.org/wiki/Nibble Ein Byte besteht also aus 2 Nibbles. Es ist doch auch logisch: Wenn ich beim Datenbus zum LCD 4 Strippen weglasse, dann landen diese Bits im Nirwana. Also muss ich dem display ja erst mal mitteilen (Modus), das jetzt 2 halbe bytes ankommen an Stelle eines ganzen Byte ;-)
Der Mega32 läuft auch sicher mit 16Mhz? Gib in deinem BASCOM Programm mal 1Mhz als Taktfrequenz an. Schlimmstenfalls wird das Timing dadurch langsam. Aber langsam ist bei LCD nichts schlechtes. Zu schnelles Timing aber schon. @Jörn Er programmiert mit BASCOM. Da brauchst du dich um den ganzen Kram nicht kümmern. Man muss nur dem BASCOM das Lcd richtig bekannt machen, dann macht es das alles schon von ganz von alleine richtig.
@kbuchegg Da hast du schon Recht. Nur wird das Bekanntmachen zu oft vergessen. Das führt dann zu kilometerlangen threads. Mir gefällt dein Hinweis mit dem 1Mhz Takt. Selbst wenn die Info nur auf das LCD "tröpfelt" ist es imho besser, als wenn sich gar nix tut weil user das "Gaspedal" zu weit durchgedrückt haben ;-)
was nibbles sind wusste ich jedoch nicht, wie mir das weiterhelfen sollte, da ich davon ausgehe dass bascom das alles selbst macht. Ich habe in Bascom auch gesagt, dass das Display im 4-bit modus läuft und die Pins auch definiert. Ich habe auch schon das Display mit 1Mhz laufen lassen und auch schon mit 2Mhz und mit 12Mhz und ich habe schon viele verschiedene Pin-Varianten ausprobiert. Dann habe ich in der Bibliotek "Lcd4e2" eine Pinbelegung gefunden die dort vordefiniert ist. Die habe ich auch benutzt ,mit der bibliotek natürlich, aber es zeigt immer nur 2 schwarze Balken an. Ich habe auch schon im Internet Programmcodes für Bascom gefunden, mit dem Leute genau mein LCD mit einem Atmega32 betrieben haben und es funktionierte. Jedoch weiss ich nicht, welche Fusebits die dann gesetzt haben, da das nie dabei stand. und es Funktionierte bei mir wieder nichts. In den nächsten Tagen bastel ich nach einer Anleitung einen USB adapter für das LCD und lasse es mal mit einer software über den PC laufen. Dann werde ich ja sehen, was das LCD anzeigt. Link zu der Anleitung: http://heringshome.bplaced.net/selbstgebautes/usb-lpt-adapter.html
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.