Forum: Mikrocontroller und Digitale Elektronik Hilfe beim Atmel Board Atmega8 + LCD in Bascom


von Saito N. (saito84)


Lesenswert?

Hi und Frohe Weihnachten allerseits,

Ich habe schon seit ein paar Tagen ein kleines Problem und zwar bekomme 
ich mein LCD Display nicht ans Laufen, Das einzigste was ich bisher 
erreicht habe ist dass das LCD Display die oberre Reihe mit balkn füllt.

Ich nutze das Atmel Board 2.01 mit einem Atmega8 und Bascom

Ich habe mein Aufbau mal Fotografiert

http://saitosan.de/pic/SAM_1809.JPG
http://saitosan.de/pic/SAM_1808.JPG
http://saitosan.de/pic/SAM_1805.JPG

Pin1 = GND
Pin2 = VCC 5V
Pin3 = GND
Pin4 = PD3
Pin5 = GND
Pin6 = PD4
Pin7 - 10 = GND
Pin11 - 14 = PB4 - PB7

Ich versuche das LCD derzeit unter BASCOM mit folgendem Quellcode 
anzusprechen.
1
$regfile "m8def.dat"
2
$crystal = 1000000
3
$hwstack = 64
4
$swstack = 64
5
$framesize = 64
6
7
Config Portb = Output
8
Config Portd.3 = Output
9
Config Portd.4 = Output
10
Config Lcdpin = Pin , Rs = Portd.3 , E = Portd.4 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
11
Config Lcd = 16 * 2
12
'Initlcd
13
14
Cls
15
Lcd "12345678"
16
Lowerline
17
Lcd "12345678"
18
End

Ich habe es auch schon mit initlcd oder Config Lcd = 16 * 1A versucht es 
passiert aber nichts. Auch die Leitungen habe ich bestimmt schon 10 mal 
geprüft ich kann HW Technisch zumindest keinen Fehler finden.

Ist das Atmel Board eventuell schuld?

Mfg. Saito :)

von Spess53 (Gast)


Lesenswert?

Hi

>Ist das Atmel Board eventuell schuld?

Wie lang ist denn das Kabel zwischen dem Board und dem Display?

Pin7 - 10 = GND ist kontraproduktiv. Die Pins haben interne 
Pull-Up-Widerstände.

MfG Spess

von Saito N. (saito84)


Lesenswert?

Spess53 schrieb:
> Hi
>
>>Ist das Atmel Board eventuell schuld?
>
> Wie lang ist denn das Kabel zwischen dem Board und dem Display?
>
> Pin7 - 10 = GND ist kontraproduktiv. Die Pins haben interne
> Pull-Up-Widerstände.
>
> MfG Spess

Das Kabel ist Maximal 50cm lang wenns hoch kommt.

Ich hatte die jetzt nur auf GND gelegt da ich das in 
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/lcd_textanzeige/ 
gelesen hatte. Ist halt neuland für mich. Was für Nachteile ergeben sich 
daraus denn?

Mfg. Saito

von Spess53 (Gast)


Lesenswert?

Hi

>Das Kabel ist Maximal 50cm lang wenns hoch kommt.

Zu lang.

>Ich hatte die jetzt nur auf GND gelegt da ich das in
>http://halvar.at/elektronik/kleiner_bascom_avr_kur...
>gelesen hatte.

Da hat mal jemand wieder kein Datenblatt gelesen.

>Was für Nachteile ergeben sich daraus denn?

Es wird unnötig Strom verplempert.

MfG Spess

von Alex (Gast)


Lesenswert?

Pin1 = GND
Pin2 = VCC 5V
Pin3 = Kontrastpoti_Schleifer <<<
Pin4 = PD3
Pin5 = GND
Pin6 = PD4
Pin7 - 10 = offen        <<<
Pin11 - 14 = PB4 - PB7

mfg Alex

von Alex (Gast)


Lesenswert?

Nachtrag:

Pin3 = Kontrastpoti_Schleifer <<<  0 bis 5 Volt, ein Poti ca. 10kOhm

von uni k. (unikum)


Lesenswert?

Hallo Saito,
Ich bin zwar nur Hobbyist und noch schlimmer, nur gelegentlicher
K(r)ampf-Programmierer, dennoch erscheint mir an Deinem Programm etwas
merkwürdig:
Du hast den gesamten Port B als Ausgang gesetzt, das LCD hängt unter 
anderen auch noch an den Pins B6 u. B7.
Sitzt an B6 u. B7 nicht Dein Quarz, den Du ja offensichtlich verwendest?
Kann das überhaupt funktionieren?
Nur mal so als Vermutung.
Schöne Rest-Wheinachten noch, auch für alle Anderen der hiesigen Truppe.

Gruß, unikum.

von Saito N. (saito84)


Lesenswert?

uni kum schrieb:
> Du hast den gesamten Port B als Ausgang gesetzt, das LCD hängt unter
> anderen auch noch an den Pins B6 u. B7.
> Sitzt an B6 u. B7 nicht Dein Quarz, den Du ja offensichtlich verwendest?
> Kann das überhaupt funktionieren?
> Nur mal so als Vermutung.
> Schöne Rest-Wheinachten noch, auch für alle Anderen der hiesigen Truppe.

Nein, mit $crystal = 1000000 war ich der meinung sag ich ihm 1 MHz 
interner Takt?

Bei den Leitungen war ich der Meinung ich kann die Frei verwenden wie 
ich gerade Lustig bin? Ist das nicht der Fall?

Bzw. Welche leitungen können denn frei verwendet werden?

Im moment hängt ja nur das LCD dran nichts anderes.

Achja ich habe die Leitungen 7 - 10 nun offen gelassen, wenn ich das nun 
so versuche dann bekomme ich keine Schwarzen Balken mehr, aber es wird 
auch nichts mehr angezeigt nur ganz schwach die blöcke zu erkennen.

Mfg. Saito

von uni k. (unikum)


Lesenswert?

Saito N. schrieb:
> Nein, mit $crystal = 1000000 war ich der meinung sag ich ihm 1 MHz
> interner Takt?

Gut, das hatte ich jetzt nicht bedacht und auch nicht angenommen.
Wenn Du dann den internen Oszillator richtig aktiviert hast, sollte das 
so in Ordnung sein und die Pins sind dann auch als Ein/Ausgang 
verwendbar.
Vielleicht solltest Du über die obere LCD-Zeile noch "upperline" 
schreiben und die ganze LCD-Anzeigegeschichte, also beide Zeilen in 
einer Do/Loop-Schleife laufen lassen.
Alles unter der Voraussetzung, das Dein LCD auch richtig, entsprechend 
dem Datenblatt, beschaltet und angeschlossen ist.
Möglicherweise hilft Dir auch noch ein Anderer weiter. Wie oben schon 
erwähnt, ich bin da auch nur "Gelegenheitstäter".
Benutze nur externe Oszillatoren. Deshalb kam mir die Sache mit PB6 u. 7 
komisch vor.
Na denne, alles wird gut.

Gruß, unikum.

von Saito N. (saito84)


Lesenswert?

So hat zwar etwas gedauert da ich jetzt erst wieder dazu gekommen bin 
weiter zu machen.

Ich habe den Fehler nun gefunden.

Und zwar habe ich mich quasi selbst verarscht, das Pollin Board führt 
nicht alle Ports vom Atmega8 auf die 40 Polige Pinleiste raus, das ist 
nur beim Atmega 16/32 der Fall.

Ich hatte zwar sporadisch die Leitungen durchgemessen, aber 
glücklicherweise immer die erwischt, die auf die 40 Pol Leiste geführt 
werden :/

Naja was soll ich sagen nun klappt es auch mit dem LCD-Display :)

Besten dank nochmal an allen die mir geholfen haben :)

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.