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
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) auf dem nur das halbe Display läuft...
Hier zwei Bilder:
Bild hier
Display mit nur Halber Anzeige, rest ist schwarz (vlt. nicht initialisiert?)
Bild ist um 180° gedreht - sry
und nen Blick auf die Gesamtschaltung
Bild hier
Folgenden Code übertrage ich aus Bascom heraus an den Chip:
Ansteuerung des Displays im 4-Bit Modus. Bin für jede Hilfe dankbar$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![]()
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
Vielleicht sind auch durch die Fusebits einpaar Pins von "c" abgeschaltet.
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.
Lesezeichen