Forum: Mikrocontroller und Digitale Elektronik Probleme mit KS0180 Grafikdisplay


von Marcus P. (mapa)


Lesenswert?

Hallo Leute,

habe hier ein kleines Problem mit meinem Grafikdisplay EA DIP128-6.

Ich benütze die Library von Fabian Thiele (www.apetech.de).

Ich habe mein Display an einen ATMEGA16 angeschlossen und habe folgende 
Belegung:

DISPLAY         uC

D0 - D7  ---->  PORTB  (habe ich in der KS0180.h geändert)

D/I      ---->  PORTC PIN 0
R/W      ---->  PORTC PIN 1
E1       ---->  PORTC PIN 2
E2       ---->  PORTC PIN 2
CS1L     ---->  PORTC PIN 3
CS1H     ---->  +5V
CS2L     ---->  PORTC PIN 4
CS2H     ---->  +5V
RES      ---->  über 10k auf +5V

VSS      ---->  GND
VDD      ---->  +5V

ADJ und VNEG      ---->  hatte ich zuerst angeschlossen, jetzt nicht 
mehr, im Datenblatt steht nicht erforderlich, da der Kontrast bei 5V 
schon eingestellt ist, wird nur bei 3,3V benötigt.

A        ---->  470 Ohm auf +5V
C        ---->  GND

Das ganze habe ich an mein STK500 angeschlossen und auf mein uC 
übertragen, aber nicht mit dem makefile wo dabei ist sondern mit den 
Einstellungen von AVR-Studio.


Wenn ich beide einschalte, also STK und Display dann sieht man ein 
kurzes flakern der Pixel (Die Positionen sind bei jedem einschalten 
unterschiedlich). Die Hintergrundbeleuchtung ist an.

Es wird aber nicht der Beispieltext angezeigt! Bzw. es wird garnichts 
angezeigt!

Was mache ich falsch???

Gruß Marcus

von Marcus P. (mapa)


Lesenswert?

Hi, kann den mir wirklich keiner helfen????

wäre für jeden Tipp sehr dankbar

Grüße Marcus

von Michele B. (luxx) Benutzerseite


Lesenswert?

mal ne frage: stimmt des dass man die datenpins mitm pullup hochziehn 
muss?

luxx

von Stefan D. (endrox)


Lesenswert?

Hallo an alle!

Ich habe vor einer Woche dasselbe Display gekauft und versuche dieses 
nun auch an das STK500 mit einem ATMEGA16 anzuschließen.

Bei mir treten genau die gleichen Probleme auf! Die Pins hab ich alle 
passend im Header-File geändert, an denen kann es nicht liegen. Das 
Display ist über die 2 großen Ports auf dem STK500 verbunden (EXPAND0 
und EXPAND1). Die KS0180er werden auch über das STK500 mit +5V versorgt. 
So wie ich es verstanden habe sind CS1 und CS2 Low-aktiv und ein 
gemeinsames Enable.

Hat denn niemand einen Lösungsvorschlag?? Ich weiß echt nicht mehr was 
ich noch machen soll. Versorgung liegt an, µC arbeitet, Hintergrund-LEDs 
sind auch an. Aber es werden keine Pixel angezeigt. Nur beim An- oder 
Abschalten des STK500 blinkt ne horizontale Linie auf.

Ich habe schon überlegt, wie das mit dem STK zusammenhängen kann, aber 
ist ja im Prinzip nix anderes als wenn man das Display und den µC auf ne 
Platine lötet. Beide haben gleiche Spannungsversorgung, somit kann es an 
den Logikpegeln eigentlich nicht liegen.


Ratlose Grüße

Stefan

von M. M. (miszou)


Lesenswert?

Hi

überprüft mal ob nicht die JTAG Fuse aktiviert ist. Dafür werden die 
PINs 2,3,4,5 vom Port C verwendet.

Gruß MISZOU

von Stefan D. (endrox)


Lesenswert?

Ok, ich hab den Fehler gefunden (hätte ich auch gleich ausprobieren 
können :) ):

Mir ist aufgefallen, dass wir beide dieselben Ports benutzt haben. Port 
B ist auf dem EXPAND1 abgreifbar und Port C auf EXPAND 0.

Jetzt hab ich statt Port B den Port D genommen, der sich ebenfalls auf 
EXPAND1 befindet.


Und man glaubt es nicht: es funktioniert!



Eine Erklärung dafür hab ich allerdings nicht... VCC und GND sind bei 
beiden Sockeln identisch...

....

Nächstes Wunder:

Mit Port A funktioniert auch alles ohne Probleme!!! Und dies obwohl 
diese Pins auf dem anderen Sockel sitzen!

....

Nochmal der Gegentest, wieder zurück auf Port C... funktioniert zum 
Glück immernoch nicht :). Sonst würd ich mich jetzt auch einliefern 
lassen :D


Das wird wohl ein Rätsel bleiben, warum es mit Port C nicht geht.
Sicher ist auf jedenfall:

    EA DIP128-6 mit KS0108
 +  STK500
 +  ATMEGAs
 +  Steckplatine
 +  jede Menge Drähte stecken
--------------------------------
 = FUNKTIONIERT DOCH !!!


Allen noch viel Spaß an der Elektronik!!


Stefan

von M. M. (miszou)


Lesenswert?

Hi

ich glaub nicht dass es ein Rätsel bleibt, entweder ist was defekt oder 
du hast die JTAGEN Fuse aktiviert, so dass die die JTAG Schnittstelle 
reinpfuscht.
Oder sonst eine doppellte Belegung nicht bedacht, schau mal ins 
Datenblatt was die Pins vom Port C sonst noch so machen können.

Gruß MISZOU

von Stefan D. (endrox)


Lesenswert?

@MISZOU:

Oh shit, du hast Recht!!!!!!!!!

Das war noch gesetzt. Ich hab zwar nachgeschaut, ob das JTAG Pins 
belegt, muss die Info aber überlesen haben (wahrscheinlich aus Frust).

Ok, jetzt funktioniert es auch mit Port C.



Danke für die schnelle Hilfe Miszou!

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.