Hallo, hat schon mal jemand ein 16*2 LCD Display an nen 2313 Atmel gehängt? Ich habe gerade eine Testschaltung aufgebaut und komme nicht mehr weiter. Krieg einfach keinen Text auf das Display. Das LCD hängt mit den Datenleitungen an PB4..PB7 Die Steuersignale kommen wie folgt PB0--> PIN4 (LCD) PB1--> PIN5 (LCD) PB2--> PIN6 (LCD) Hier mein Code.... --------------------------------------------------------------------- $regfile = "2313def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0 Config Lcd = 16 * 2 Config Portb = Output Reset Portb.1 Initlcd Cursor On Cls Lcd "Test" ---------------------------------------------------------------- Vielleicht hat ja jemand eine Idee....
Hab keine Ahnung von Atmels, daher 'ne vielleicht blöde Frage: Was ist das für eine Programmiersprache?!
@Sebastian Ich glaube es ist Bascom. @Johann Meier Was zeigt denn das Display an? -nichts -schwarze klötzchen auf der ersten Zeile -schwarze klötzchen auf beiden Zeilen -Wirre Zeichen ...... Nik
$regfile = "2313def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0 Config Lcd = 16 * 2 Cursor On Cls Lcd "Das ist ein Test" Lowerline Lcd "blablabla" End So klappt´s!
@ Sebastian: ja das ist Bascom Basic @Nik: das Display zeigt nichts an. an PB1 hängt R/W vom LCD Display @ Markus: Was ist an deinem Code anders? Aber ich probiers mal.
@ Markus: Habs probiert, läuft auch nicht. Was mir noch aufgefallen ist: wenn ich das Display angeschlossen habe, kann ich den Chip nicht programmieren. Abgesteckt gehts dann schon. Aber es sollte ja kein Problem sein, wenn man an die SCK/MISO/MOSI-Leitungen Peripherie hängen hat oder?
@Nik: ich hab mal den KontrastPin (Pin 3) des Display auf GND gelegt, wie im Tutorial beschrieben.--> jetzt seh ich in der ersten Zeile schwarze Kästchen.
@johann Das bedeutet(die erste Reihe mit schwarzen Kästchen), dass die Initialisierung falsch gelaufen ist. Ansonsten solltest du zwei Reihen mit dunklen Kästchen sehen. Bei mir funktioniert das Programmieren übrigens auch wenn das Display angeschlossen ist.(Ich habs auch an den Programmieranschlüssen. Dann werden jedoch einige wirre Zeichen angezeigt. Aber wenn das so ist, wie funktionierts denn, wenn du den Programmier Adapter wegnimmst? Wenn er in der Schaltung drinn ist, würde ich es einfach mal versuchen, indem du das Display an einem anderen Port anschliesst. Nik
@ alle jetzt gehts: Die schwarzen Kästchen kommen nur wenn ich das Programmbeispiel von Markus einspiele. Mein Problem war anscheinen nur der Kontrast (Schäm) Was nur noch nervt ist, das ich mit angeschlossenem Display nicht programmieren kann. @ Ník: hast du die Programmieranschlüsse direkt mit dem Display verbunden oder noch nen PullUp oder Pulldown Widerstand eingebaut?
Normalerweise sollte eine feste Verdrahtung 1a klappen. In die Ports des µC fliesst so ein geringer Strom rein, dass der LCD-Controller praktisch nicht belastet wird und high und low eigentlich stabil sein sollten.
Ich hab nur: Config Portb = Output Reset Portb.1 Initlcd rausgeschmissen, das war unnötig (macht Bascom allein) und ein End eingefügt. Habs in Hardware getestet und es funktioniert. RW hast Du auf GND gelegt? Kann es sein, dass Dein Display eine negative Kontrastspannung braucht und Du deswegen nichts siehst.
Hallo, "Was nur noch nervt ist, das ich mit angeschlossenem Display nicht programmieren kann." Bei Versuchssschaltungen und wenn irgendwas nicht funktioniert, ist es immer günstig, wenn man das LCD über Widerstände ansteuert z.B. 1kOhm. Dann macht es nichts, wenn das LCD mal selbst Daten "sendet". Es gibt dann keine Überlastung der Ausgänge und das Programmieren müßte auch mit angeschlossenem LCD klappen. GRuß
@ALLE: Vorab danke für die vielen Antworten....Hier wird einem immer sehr schnell und zuverlässig geholfen!!!! @Markus: RW hab ich mit PortB1 vom AVR verbunden. Das hab ich so von einer zuverlässigen Schaltung mit nem AT908035er übernommen. Ich hab auch die Konfiguration in der Software nur auf die geänderten Ports des 2313 umgeschrieben. Wieso auf Ground??? Ich kenn die Funktion nicht so genau, aber braucht der Controller keinen Signalwechsel auf dieser Leitung?? @Chris: Werd ich mal probieren. Vielleicht liegts am Dongle?? Ich hab mir selber einen gebaut. Die bekannte Schaltung für die parallele Schnittstelle mit nem 74... er Chip dazwischen. Läuft auf dem o.g. Testboard mit dem 8035er ohne Probleme Warum hängt man die Widerstände dann nur zum Probieren rein? Meinst du die Widerstände in alle Steuerleitungen zum Display oder nur zwischen die Ports mit den Programmierleitungen? Hmm.. wahrscheinlich nur in die "heissen" Leitungen ;)
Hallo, "Meinst du die Widerstände in alle Steuerleitungen zum Display" wenn ich im Programm experimentieren möchte oder eine unerprobte Schaltung aufgebaue, habe ich es lieber, wenn in ALLEN Leitungen zwischen µC und LCD Widerstände drin sind. Der Wert ist Geschmackssache, sollte aber 5V/0,02A = 270 Ohm nicht unterschreiten. Bei zu großen Werten (etliche Kiloohm) werden die Daten nicht mehr korrekt übertragen. Die Widerstände können dauerhaft drin bleiben, wenn es mal funktioniert. Bei einem Einzelstück spielt das keine Rolle. Der Sinn ist der, daß im Fall wenn das LCD irrtümlich auf LESEN geschaltet wurde, es einige PINs auf Ausgang schaltet und dann die Ausgänge des LCDs gegen die Ausgänge des µC arbeiten, wobei schlimmstenfalls einer der beiden kaputt geht. Bei LCD-Preisen >10Euro sicher unangenehm. Gruß
Bau Deine Schaltung mal so wie im Bild um. Tu es einfach und benutze den Code den ich Dir gepostet habe. Bascom fragt RW nicht ab, wartet einfach so lange bis die Zeit beim Init vergangen ist. Macht also einfach so lange "nop", bis Zeit wie im LCD-Manual beschrieben vorbei ist.
@Chris Hab jetzt in die Ansteuerleitungen (SCK/MISO/MOSI) nach dem Abgriff zum Programmieradapter 1,5k Widerstände reingelötet. Jetz klappt auch das Programmieren mit angeschlossenem Display. Danke noch mal für den Tip. @Markus Deinen Vorschlag werd ich auch ausprobieren, wenn ich wieder mehr Zeit habe. Schon aus reinem Interesse. Momentan muss ich meine Software schreiben, damit ich mit meinem Projekt weiterkomme. Gruß an alle die mir geholfen haben..... Johann
Hallo, hatte gleichen Stress, RW nicht an direkt GND, sondern an I/O-Pin und dann Probleme beim Programmieren mit AVR910 und AVR-Prog, RW direkt an GND und alles ist i.O Gruss A. arndt
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.