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??
Die hängen an FP6 und FP7 :) Sieht nur komisch aus weil die Leitung unterm IC ist!
Deinen Schaltplan kannst du dir an die Wand hängen. Den Codeschnipsel in die Tonne schmeissen.
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).
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?
es fehlt auf jeden Fall der 10k-Pull-Up am Reset........ Otto
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.
ich meinte den Reset des AVR - der des Displays wird im vorliegendem "Schaltplan" über einen Port geschaltet. Otto
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.
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 :(
> Leider auch hier absolute Flaute
und wo ist die Versorgung des Controllers angeschlossen ?
Hast Du die Fuses auf int. Oszillator gesetzt ?
Otto
und weshalb ist "Port F" nicht angeschlossen ? define GLCD_DATA_PORT PORTF // PORT for LCD data signals Otto
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.
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.