PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Quarz notwendig für LCD ??



Peter_M
09.06.2006, 15:11
Hi

Bei mir ist leider die LCD Ausgabe auf einen 16 * 2 Standard LCD gestört. Ich verwennde einen Atmega8 ohne externen Quarz. Wenn ich einen Text ausgeben möchte werden einige Buchstaben richtig angezeigt andere falsch. ( "Hallo" ergibt "H'lln".

Timingprobleme?

Hat wer schon mit LCD's mit Minimalbeschaltung experimentiert?

Grüsse
Peter

linux_80
09.06.2006, 18:08
Hallo,
wenn die Anzahl der Zeichen stimmt, könnte evtl. etwas an den Datenleitungen stören, so dass die Signale nicht so ankommen wie sie sollen.

Olle_Filzlaus
09.06.2006, 19:01
Um dich zu beruhigen,

ich betreibe ein atmega8 ohne externen quarz und habe auch ein 16*2 Display dran. funzt ohne probleme.

ich denke auch das du ein problem mit den datenleitungen hast.

cu arno

xcool
09.06.2006, 21:23
Problem kenn ich ...
Du must vor dem LCD "HAllo" ein Waitms 500 schicken dann funz es!!

Also so:

Waitms 500
Lcd "Temp: " ; A

gruß
xcool

Hanni
09.06.2006, 21:57
Ne halbe Sekunde nix tun ?!

Also, ich glaube, das kaschiert das Problem nur ....

digitali
09.06.2006, 23:24
Also zufaellig habe ich hier auch gerade ein 16*2 an einem ATmega8 dran. Funzt wunderbar. Direkt am Spannungsregler 7805 habe ich ein 0,1uF und in naechster Naehe zum AVR auch einen solchen. Keinerlei Probleme. Laeuft absolut stabil.
Das Display wird einfach mit

Initlcd
Cursor Off
Cls

initialisiert und gut ist. Nix mit irgendwelchen Waitms. Geht auch ohne.
Und gerade mal Fusebit auf internen Oszi 8Mhz gestellt. Auch das funzt bestens. Du hast Gemuese auf den Datenleitungen...

dennisstrehl
09.06.2006, 23:33
Um genau zu sein auf dem LSB.
Die falschen Zeichen erhält man nämlich, wenn man das Soll-Zeichen hernimmt und dessen LSB auf 0 setzt.

Bei 'H' und 'l' hingegen ist das LSB schon 0.

Peter_M
10.06.2006, 13:49
Danke für die Tipps

Es scheint kein Timingproblem zu sein, eher ein Portproblem. Auf Port D funktioniert es einwandfrei. Zuerst hab ich es auf PortC versucht. Datenleitungen von PC0 bis PC3 , E auf PC4 , Rs auf PC5.

Muss wahrscheinlich ein Fusebit setzen?

Grüsse Peter

uwegw
10.06.2006, 14:30
Jep, JTAGEN umschalten...

Peter_M
10.06.2006, 16:06
Im Bascom unter "Look and Fuse Bits" im Programmer finde ich diese Einstellungsmöglichkeit nicht.
Benötigt man ein anderes Tool?

Grüsse Peter

uwegw
10.06.2006, 16:42
ich weiß nicht wie die richtige Einstellung bei Bascom ist. Aber irgendwas mit JTAG im Namen...

EDIT: https://www.roboternetz.de/wissen/index.php/Bascom_-_Erstes_Programm_in_den_AVR_Controller_%C3%BCbertr agen?robotik_mw_session=9d7da591c56186c711626069bb 97dc12
Fusebit H

linux_80
10.06.2006, 18:05
Hallo,

der Mega8 hat kein JTAG !
Am PortC sind nur ADC Kontakte.

Was hast Du für ein Board, evtl. liegts an der Verdrahtung !?

Peter_M
12.06.2006, 14:27
Hi

Ich hab jetzt bei der Verdrahtung alles überprüft und keinen Fehler gefungen.

Weiters hab ich auch eine andere Kombination ausgetestet, die auch einwandfrei funktioniert:

Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portd.7 , Db6 = Portd.6 , Db7 = Portd.5 , E = Portb.7 , Rs = Portb.6

------------------------------------


Nur bei dieser Kombination beim Port C klappt es nicht !!!!

Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
------------------------------------

Müß ein Fuse Bit gesetzt werden oder wo liegt das Problem????


Atmega8 Port C Belegung :

PC5 (ADC5/SDL)
PC4 (ADC4/SDA)
PC3 (ADC3)
PC2 (ADC2)
PC1 (ADC1)
PC0 (ADC0)

Grüsse Peter

uwegw
12.06.2006, 16:40
Ansonsten werden die Pins nicht benutzt? ADC aus? I2C aus? Poste mal das komplette Programm...

linux_80
12.06.2006, 21:27
Wenn nur die ADC-Pins nicht gehen, fällt mir so Spontan nur ein:
AVCC und AGND angeschlossen ?
Denn dann gehen die normalen Funktionen beim AVR auch nicht, wenn hier kein Saft drauf ist !
AVCC:
It should be externally connected to VCC, even if the ADC is not used.