Forum: Mikrocontroller und Digitale Elektronik LCD :-/


von Björn (Gast)


Lesenswert?

Hallo,
ich versuche verzweifelt ein LCD an einem AT90S8535 zu betreiben,
irgendwie will es nicht klappen. Ich schreibe die Programme in fastAVR
ich hab es schonmal vor einiger Zeit hinbekommen, ein LCD anzusteuern
ich habe 4 verschiedene LCDs hier rumliegen aber ich bekomme es einfach
nicht hin. Kann vielleicht jemand ein stück Sourcecode posten? Oder
vielleicht habe ich es auch nur falsch angeschlossen? Naja eigentlich
ist es so wie im Tutorial beschrieben angeschlossen naja :-(

von Dirk (Gast)


Lesenswert?

Hi,

ich kenne nun fastAVR nicht. Du solltest aber dein Source per Angang
hier reinstellen. Es ist so viel einfacher zuhelfen.

Am besten vielleicht nochmal die Type vom LCD oder LCD Kontroller
angeben.

Mfg

Dirk

von Björn (Gast)


Angehängte Dateien:

Lesenswert?

Ok kein problem ist halt schon spät :-)

also es handelt sich um HD44780 kompatible LCD Display's

Im Anhang ist der Source zu finden

Mfg

Björn

von Tobi (Gast)


Lesenswert?

wie hast du es denn angeschlossen?

von Björn (Gast)


Lesenswert?

siehe code :-) also Pin1 masse pin2 5V pin3 -3V pin4 portd2 pin5 masse
pin6 portd3 und halt pin 11-14 an portd4-7

von Chris (Gast)


Lesenswert?

Hallo,

ist das korrekt, daß das LCD am Kontrast-Pin pin3 eine negative
Spannung benötigt, wie oben angegeben?

Gruß

von Tobi (Gast)


Lesenswert?

erscheinen denn die schwarzen balken bei anlegen der spannung ans
lc-display? verschwinden diese nach einschalten des uC?

von Björn (Gast)


Lesenswert?

ja das ist korrekt mit der negativen spannung das lcd geht jetzt auch
ich hab den quarz gewächselt schien wohl kaputt zu sein... naja proggen
ließ der avr sich trotzdem

von AxelR. (Gast)


Lesenswert?

Hm ist ja interssant, brauchst Du gar kein LCD_init oder so schicken?
Ich mach ja auch schon einen Weile mit FastAvr, aber LCD brauchte ich
noch nicht...
AxelR.

von Björn (Gast)


Lesenswert?

Oh noch ein fastAVR Programmierer ;-) sehr gut :-) nein ein LCD init
muss man nicht senden, nur dann, wenn du das LCD mit irgendwelchen
befehlen in den sleep modus gesetzt hast und es reinitialisieren
willst...

von Andi (Gast)


Lesenswert?

FastAVR fügt automatisch eine LCD-Init-Routine in den compilierten
ASM-Code ein sobald $LCD definiert wird und führt ihn am Prog.-Anfang
aus.

Gruß
Andi

von AxelR. (Gast)


Lesenswert?

Spielkram!
Versuch mal mit peek/poke aus dem Speicher hintereinander was in den
EEprom zu speichern und das noch über die UART zu printen. Geht erstmal
garnicht und dann nur auf Umwegen. Andersrum mit einer Schleife die
Daten aus dem EEprom holen und in den Ram packen - das selbe.
LCD, jahaa das könnse, dafür hamse Geld ;-))
Naja, ich will die Diskussion nicht schon wieder anfangen, der Ansatz
ist ja auch nett und geht ja eigentlich auch ganz gut. Ernsthaft
arbeiten kann man damit jedoch nicht, zum spielen ok.
Gruß
Axel

von Andi (Gast)


Lesenswert?

@AxelR: Zum Teil stimme ich Dir zwar mit dem Spielkram zu aber das
musste jetzt nicht sein.
Ich selbst benutze AVR-Studio und habe mir gestern nur aus reiner
Neugier FastAVR runtergeladen, den oben angehängten BAS-Code compiliert
und mir den ASM-Code von dem Kompilat angeschaut.
Ganz so ein Spielkram ist das nun auch wieder nicht und wenn man für
einen ASM-Code mal was für etwas komplexere Berechnungen braucht macht
man es kurzer Hand mit FastAVR, compiliert es, holt es sich aus dem
ASM-Kompilat ins AVR-Studio und passt es an.
Ach ja: Es gibt in FastAVR sehr wohl Methoden für UART, EEPROM und
sogar Interrupts.
Siehe Keywords in der Online-Hilfe.


Gruß
Andi

von AxelR. (Gast)


Lesenswert?

Hi Andi,
uups, bin ich gestern Nacht wohl etwas übers Ziel hinaus geschossen,
Sorry!
Im Ernst: ich arbeite damit (so richtig) seit 2Jahren.
 Bei einem Projekt sind es mittlerweile über 1200Zeilen geworden und
FastAVR hat 10-11KByte Binärcode drausgemacht. Funktioniert auch
alles(Jetzt)!
Da ist alles dabei:
Bootloader/Uart/Harware-I2C/EEPROM/ADC/PWM/GPS-Empfang... (bis auf's
LCD)
Ich habe das Zeuchs auf Arbeit. Ich mach mal ein paar Auszüge und hänge
die mit an, damit Du weisst/Ihr wisst, was ich meine. Sind auch sicher
nur kleinigkeiten, die sonst nie einer braucht, wo man aber auch nicht
drauf kommt, das das eben so und nicht so interpretiert wird.
Hat dann schon mal den einen oder anderen Tag gekostet...
Abschließend:
So schlecht kann FastAVR ja nicht sein, würde ich sonst nicht mit
arbeiten.
Vielleicht mach ich mal ne gut strukturierte BugListe, die ich ins Wiki
stelle. Spart anderen Leuten ne Menge Arbeit, statt hier rum zumeckern.
Sorry nochmals

Schönen Gruß
AxelR.

von neo thom (Gast)


Lesenswert?

.... also negative Spannung am Kontrast-Pin ist doch ein wenig
eigenartig...

Ich glaube man muss einfach einen 10k-Trimmer zwischen 5V und Masse
legen und den Schleifer dann an den Kontrast-Pin.

Also bei mir funzen LCD´s ohne negative Spannungen...

Greetz

von Björn (Gast)


Lesenswert?

Ich glaube nicht,
;-)
nein bei neueren LCDs wird die negative Spannung "onboard" erzeugt.
Bei älteren oder besonders Temperaturbeständigen muss man sie extern
zuführen.

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
Noch kein Account? Hier anmelden.