Forum: Mikrocontroller und Digitale Elektronik Anschluss v. KS0108. Was mach ich falsch hab doch schon 20 Leitungen gelegt


von Cagara (Gast)


Angehängte Dateien:

Lesenswert?

Habe mich versucht an die Spezifikationen zu halten und das KS0108 an 
ein Atmega64 angeschlossen ...

Was mich wundert ist, dass fast der gesamte Mikrocontroller nur an das 
LCD angeschlossen ist, naja scheinbar ist das KS0108 nicht sooo toll,

aber was mich ja wundert ist, wieso es nicht geht. Ich lasse ein 
Sampleprogramm laufen mit der Config
(Die Schaltung ist oben im Anhang, bestimmt hab ich wieder was verbockt)


#ifdef GLCD_PORT_INTERFACE
  // make sure these parameters are not already defined elsewhere
  #ifndef GLCD_CTRL_PORT
    #define GLCD_CTRL_PORT  PORTB  // PORT for LCD control signals
    #define GLCD_CTRL_DDR  DDRB  // DDR register of LCD_CTRL_PORT
    #define GLCD_CTRL_RS  PB0    // pin for LCD Register Select
    #define GLCD_CTRL_RW  PB1    // pin for LCD Read/Write
    #define GLCD_CTRL_E    PB2    // pin for LCD Enable
    #define GLCD_CTRL_CS0  PB3    // pin for LCD Controller 0 Chip 
Select
    #define GLCD_CTRL_CS1  PB4    // pin for LCD Controller 1 Chip 
Select(*)
    #define GLCD_CTRL_CS2  PB6    // pin for LCD Controller 2 Chip 
Select(*)
    #define GLCD_CTRL_CS3  PB7    // pin for LCD Controller 3 Chip 
Select(*)
    #define GLCD_CTRL_RESET  PB5    // pin for LCD Reset
    // (*) NOTE: additonal controller chip selects are optional and
    // will be automatically used per each step in 64 pixels of display 
size
    // Example: Display with 128 hozizontal pixels uses 2 controllers
  #endif
  #ifndef GLCD_DATA_PORT
    #define GLCD_DATA_PORT  PORTF  // PORT for LCD data signals
    #define GLCD_DATA_DDR  DDRF  // DDR register of LCD_DATA_PORT
    #define GLCD_DATA_PIN  PINF  // PIN register of LCD_DATA_PORT
  #endif
#endif



Vielleicht seht ihr ja meinen Fehler??

von Cagara (Gast)


Lesenswert?

Die hängen an FP6 und FP7 :)
Sieht nur komisch aus weil die Leitung unterm IC ist!

von holger (Gast)


Lesenswert?

Deinen Schaltplan kannst du dir an die Wand hängen.
Den Codeschnipsel in die Tonne schmeissen.

von Benedikt K. (benedikt)


Lesenswert?

Zeigt das Programm nicht an, wo was nicht passt, bzw. was funktioniert, 
also welche Befehle verstanden wurden (ist schon eine Weile her, dass 
ich mit dem Simulationsprogramm gearbeitet hab).

von Cagara (Gast)


Lesenswert?

Das wäre meine Nächste Frage gewesen ... Braucht der KS0108 wirklich 
soooviele Pins meines Atmega64?

Naja das Ist ein beispielprogramm von avrlib für Atmega64 und KS0108 ... 
und so wie in der Config beschrieben habe ich die Pins doch gesetzt oder 
verbock ich gerade was total?

von Otto (Gast)


Lesenswert?

es fehlt auf jeden Fall der 10k-Pull-Up am Reset........

Otto

von SiO2 (Gast)


Lesenswert?

ich hab ein ähnliches Display, und es liess sich nicht zum arbeiten 
bewegen, wenn ich den Reset mit AVR geschalten habe (ka. warum) Erst als 
ich den Reset auch mit rc-glied betrieben hatte gings.

von Otto (Gast)


Lesenswert?

ich meinte den Reset des AVR - der des Displays wird im vorliegendem 
"Schaltplan" über einen Port geschaltet.

Otto

von Benedikt K. (benedikt)


Lesenswert?

SiO2 wrote:
> Erst als ich den Reset auch mit rc-glied betrieben hatte gings.

Timingproblem. Dann hast du nicht ausreichend lange nach dem Reset 
gewartet bzw. das Busy nicht richtig abgefragt.

von Cagara (Gast)


Angehängte Dateien:

Lesenswert?

Zweiter Versuch, mit anderen Ports, und Pullup

Leider auch hier absolute Flaute :( Andere Diplays mit Toshibacontroller 
gehen, aber die haben meistens keine so schönen Schriften :(

von Otto (Gast)


Lesenswert?

> Leider auch hier absolute Flaute

und wo ist die Versorgung des Controllers angeschlossen ?

Hast Du die Fuses auf int. Oszillator gesetzt ?

Otto

von Otto (Gast)


Lesenswert?

und weshalb ist "Port F" nicht angeschlossen ?

define GLCD_DATA_PORT  PORTF  // PORT for LCD data signals

Otto

von Benedikt K. (benedikt)


Lesenswert?

Das ist eine Simulation. Vcc und GND kann man offen lassen, ebenso Reset 
und Quarz, wenn man das einstellt.
Man sieht ja an den blinkenden Rechtecken neben den Pins, dass der 
Controller arbeitet und verschiedene Pegel anliegen.
PS: Den Betriebsspannungen würde ich einen Wert geben (z.B. +5V), 
ansonsten macht das Programm Mist.

von Otto (Gast)


Lesenswert?

ok - wusste ich jetzt nicht - aber wenn:

define GLCD_DATA_PORT  PORTF  // PORT for LCD data signals

muss er diesen Port auch verwenden - oder ?

Otto

von Cagara (Gast)


Lesenswert?

bzgl. define GLCD_DATA_PORT  PORTF  // PORT for LCD data signals


Das war in Revision 1 :)

Jetzt mit den anderen PINS habe ich das natürlich auch angepasst

von Cagara (Gast)


Angehängte Dateien:

Lesenswert?

Ich nehme jetzt einfach den Toshiba, der funzt wie man sieht :(

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.