Archiv verlassen und diese Seite im Standarddesign anzeigen : Atmega8+LCD = Halbes Display ?!?
Hallo,
folgendes Problem habe ich:
Ich habe einen Atmega mit 4Mhz (interner Takt) an den folgendes LCD Angeschlossen ist: TC1602A-08 von Pollin (zum Datenblatt (http://www.pollin.de/shop/downloads/D120421D.PDF)) auf dem nur das halbe Display läuft...
Hier zwei Bilder:
http://img13.myimg.de/3004091217371dd_thumb.jpg (http://www.myimg.de/?img=3004091217371dd.jpg)
Display mit nur Halber Anzeige, rest ist schwarz (vlt. nicht initialisiert?)
Bild ist um 180° gedreht - sry
und nen Blick auf die Gesamtschaltung
http://img13.myimg.de/3004091218dc048_thumb.jpg (http://www.myimg.de/?img=3004091218dc048.jpg)
Folgenden Code übertrage ich aus Bascom heraus an den Chip:
$regfile = "m8def.DAT"
$crystal = 4000000
Config Portc = Output
Config Pinb.1 = Output
Config Lcd = 16 * 2
Wait 1
Portb.1 = 1
Waitms 200
Portb.1 = 0
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Wait 10
Initlcd
Wait 3
Cls
Wait 4
Locate 1 , 1
Lcd "Hello world."
Wait 2
Locate 2 , 1
Lcd "1234567890"
Portb.1 = 1
Do
Loop
Ansteuerung des Displays im 4-Bit Modus. Bin für jede Hilfe dankbar :-)
Hi TBA789,
häng mal nach deinem config lcd noch folgendes an: Config Lcdbus = 4
Könnte helfen, bin mir aber nicht sicher.
Gruß,
Martin
Erstma vieln Dank für deine Hilfe!
Aber leider wars das nicht, alles wie bisher...
Hab zwischenzeitlich mal das zweite Display das ich hier noch liegen habe angeschlossen, jedoch dort genau es gleiche Problem. Somit sollten nun eigentlich ein Defekt des Displays ausgeschlossen werden.
Wird wohl am Controller liegen....?
Versuche mal :
Config Lcd = 20 * 2
Locate 1 , 1
Lcd "1234567890123456789012345678901234567890"
Gento
sechsrad
30.04.2009, 17:19
Vielleicht sind auch durch die Fusebits einpaar Pins von "c" abgeschaltet.
linux_80
30.04.2009, 20:17
Hi,
Config Lcd = 16 * 2a
wäre auch noch einen Versuch Wert, ansonsten mal in der Hilfe kramen, was es sonst noch dazu gibt.
@ Gento: Ne brachte nichts.... Schade
@ sechsrad: der Atmega8 befindet sich bis auf die Einstellung seitens des internen Oszillators auf dem Auslieferungszustand - "sollte" also nicht der Fall sein, hab aber beim drüberschauen auch nichts derartiges sehen können.
@ linux_80: Wenn ich 16*2a schreibe, meckert Bascom eine fehlerhafte Syntax an... In der Hilfe hatte ich schon geschaut und im Netz auch...
Es kann eigentlich nur an der Initialisierung liegen, dachte anfangs auch, ich müsste es als 8*4 ansprechren, weil ja 8 Zeichen in den beiden Zeilen gehen.
Kann mir jemand sagen, ob ich dieses Problem über Assembler-Einbauten innerhalb Bascom in den Griff bekommen kann, oder notfalls die LCD's in C korrekt ansprechen kann?
Kennst Du den ?
http://www.mikrocontroller.net/topic/84537
Gento
@ Gento: Leider kann ich da nicht viel neues erfahren.... Habe ja beim Atmega8 kein JTAG auf Port C. Es einzige was ich noch versuchen könnte, wäre den µC auf einen externen Quarz umzusatteln.
peterfido
01.05.2009, 09:31
Mein Antivirus meldet auf der Seite des Bildes einen Trojaner...:
Allgemeine Info
Standort der Website: Deutschland
Norton Safe Web hat myimg.de auf Sicherheit und Sicherheitsprobleme analysiert. Unten sehen Sie ein Beispiel der gefundenen Bedrohungen.
myimg.de
Bedrohungsbericht
Gesamtzahl gefundener Bedrohungen: 1
Small-whitebg-red Viren (Was ist das?)
Gefundene Bedrohungen: 1
Hier ist eine vollständige Liste:
Name der Bedrohung: Trojan.Giframe
Adresse: http://img12.myimg.de/jackal1cff73.gif
Ich würde mal probieren es als LCD 20*4 zu konfigurieren und dann mal schauen, was er bei Zeile 3 und 4 ausgibt.
python_rocks
01.05.2009, 11:09
Hallo TBA789!
Ein Test nach dem Anderen ausprobieren:
Entstöre die Stromzufuhr des LCD mit einem Kondensator. So wie hier in diesem Bild: http://halvar.at/elektronik/kleiner_bascom_avr_kurs/lcd_textanzeige/lcd_atmega8_v13.gif
Achte dabei darauf, dass der Kondensator nahe am LCD liegt.
Stelle HWSTACK, SWSTACK und FRAME auf jeweils 100. So wie hier beschrieben: http://halvar.at/elektronik/kleiner_bascom_avr_kurs/speicher_hwstack_swstack_frame/#atmega8-atmega16
Ändere deine LCD-Konfiguration und verbinde das LCD dementsprechend.
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
Achte also darauf, dass 7 auf 7 kommt, 5 auf 5, usw.
Stelle sicher, dass dein µC auch wirlich mit 4 MHz läuft. Schreibe dazu ein Programm, welches eine LED alle 10 sec. ein-/ausschaltet. Stimmt das mit den 10 Sekunden, dann ist die Frequenz korrekt eingestellt.
Probiere nicht nur PortC aus, sondern hänge das LCD auch mal an PortB.
Du kannst mit CONFIG LCD auch den Chipsatz einstellen. Siehe: http://avrhelp.mcselec.com/index.html?config_lcd.htm
Probiere die verschiedenen CHIPSET-Einstellungen aus.
Stelle den Takt des µC auf 1 MHz zurück und probiere dann noch einmal. (aus Verzweiflung -- einfach mal ausprobieren)
Auf dieser Seite http://halvar.at/elektronik/kleiner_bascom_avr_kurs/lcd_textanzeige/ ganz unten, sind noch ein paar Links. Folge diesen Links und hole dir damit alle wichtigen Informationen über die Ansteuerung von LCDs. Vielleicht findest du damit heraus, was schief läuft.
Kaufe dir ein anderes LCD. Eines bei dem dabei steht, dass es kompatibel zum HD44780-Chip ist.
mfg
Gerold
:-)
@ Gerold: Werds am Montag mal alles ausprobieren - Bis hierhin schonmal vielen Dank! Mit neuem Display kaufen bin ich vorsichtig, nicht dass ich mir nochmals eins hole dass nicht passt obwohl es zu 100% kompatibel sein sollte ...
@ peterfido: Werde ich mal noch zuerst versuchen, weil das auch in die richtung meines verdachts geht, dass der das als 4x8 ansteuert letztlich
Werde mich spätestens Dienstags melden und Report abgeben ;-) Bis dahin schönes Wochenende und nicht zu viel Basteln... Wetter ist einfach zu schön dafür :-)
edit: Ergebnisse werden dauern... Hab seit letzter Nacht den Fuß geschient. Also bitte nicht vergebens auf Reaktionen warten. Ich kann derzeit nicht zu meinen Baumaterialien kommen.....
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.