Hallo, ich habe das Problem, dass ich auf meinem uC zu wenig Pins zur Verfügung habe, kann ich die Pins z.B. vom SPI Port (welche ich zum programmieren über STK500 am ISP Port benötige) auch z.B. als Datenleitungen für mein LCD verwenden? Habe es mal probiert, aber am LCD kam nichts an. Sind die SPI Pins standardmäßig fürs programmieren eingestellt, oder habe ich ein Verbindungsproblem? Bei dem verwendeten uC handelt es sich um einen ATTiny26. Habe es zur Zeit so wie auf dem angehängten Bild gemacht! mfg Bernd
du kannst diese pins nehmen. musst allerdings beachten, dass der programmieradapter dort stört. es sollte also gehen, wenn dieser abgezogen ist. alternativ verwende man eine diode von den programmieranschlusspins, die signal ZUM µC schicken und zwar kathode richtung isp-schnittstelle, und anode am µC/LCD pin. und zusätzlich einen pullup widerstand von besagter µC/LCD-leitung. somit kann der prog-adapter die leitung nur auf masse ziehen und falls er sie wieder freigibt (high) sorgt der pullup für steigende pegel... somit ist das prog-adapter entkoppelt
Bist Du sicher, dass nichts ankommt, oder funktioniert das Display vielleicht nicht, weil Du die freien Datenleitungen nicht auf Masse gelegt hast (weiß jetzt nicht, ob das erforderlich ist, aber freie Eingänge sind immer eine mögliche Fehlerquelle)? Wenn der Programmieradapter nicht angeschlossen ist und die Portpins korrekt initialisiert sind, sollte es damit eigentlich keine Probleme geben.
Hi, habe es eigentlich so vor, dass ich das LCD beim programmieren (wird ja nicht so oft gemacht, wenn die Sache erst mal läuft) gar nicht anschließe und somit wäre SPI dann alleine am Port. Mir wäre nur wichtig zu wissen, ob ich da keine Fuse oder so umstellen muss um die Pins überhaupt als normale Port Pins verwenden zu können.
@Johnny: Welche Datenleitungen meinst du genau mit "freien Datenleitungen"? Meinst du den ISP Stecker? LCD funktioniert sonst eigentlich problemlos, habe eben nur meine Pins umgestellt, aber ansonsten nichts verändert. Könnte natürlich auch noch ein Problem mit einer Lötstelle sein. LCD zeigt nämlich nur erste Zeile komplett schwarz an, in der zweiten Zeile gar nichts.
Guck mal hier: http://users.picbasic.org/Howto/LCD_input_lines/lcd_keys.htm Ist zwar für einen PIC. Könnte Dir vielleicht weiterhelfen. LazyBee
Du mußt den SPI-Adapter abziehen, wenn er nicht einen Tristate-Treiber enthält. Und der E-Pin des Displays muß einen Pull-Down erhalten, damit nicht SPI und LCD gegeneinander kämpfen. Peter
Ich meinte die Datenleitungen des LC-Displays. So wie ich das sehe, wird es im 4-Bit-Modus betrieben. DB0..DB3 würde ich zumindest auf definiertes Potenzial legen.
@johnny: Hatte ich bis jetzt nie gemacht, aber ich werde es mal testen, vielleicht funktioniert es dann! @lazzybee: Danke für den Link, meine Schaltung sieht auch so ähnlich aus, hab hier noch einmal einen anderen Ausschnitt online gestellt. mfg Bernd
Je nachdem, welchen Programmer Du am ISP angesteckt hast, wird Dein Display funktionieren oder nicht. In 80% der Fälle kannst Du davon ausgehen, daß das Display nur mit abgezogenem Programmer laufen wird. Du mußt auch nach dem Proggen und nach dem Abziehen des Programmers den Controller neustarten und genügend Wartezeit für das Display vor der Neuinitialisierung einräumen. Du solltest außerdem die Software-Init ("Lange" Initialisierung) für das Display verwenden, da es ja schon an ist und keinen korrekten Power-Up Reset macht (nur nach Spannung aus- und wiedereinschalten). Die beiden Initialisierungsmöglichkeiten findest Du im (kompletten) Datenblatt des Displaycontrollers.
Hi, lag wirklich am Timing des LCD's, hab jetzt nach der Startphase statt 100ms 300ms eingefügt und nun läuft es, mal sehen, ob ich die Tastatur auch noch gleichzeitig zum laufen bekomme!
Etwas spät, aber ich glaube man darf die freien Anschlüsse am LCD nicht einfach auf Masse legen, das sind ja nicht nur Eingänge. Wenn überhaupt würde ich die mit einem Pulldown versehen, aber nicht auf Masse legen.
Bei heute üblichen Displays sind die Datenleitungen mittels internem PullUp versehen. Man kann im 4_Bit Modus die 4 unteren Datenleitungen also unbeschaltet lassen. Sicher gibt es auch Ausnahmen, aber die erkennt man am wilden Zeichensalat, den sie in unregelmäßigen Abständen darstellen.
Also ich hab die 4 unteren Datenleitungen bis jetzt immer unbeschalten gelassen und hatte noch nie ein Problem!
Hast du schon mal einen Blick ins Datenblatt zum Thema ISP geworfen? Da steht: ISP-Port direkt an die Pins vom µC und den Rest über min. 1kOhm-Widerstände schützen. Ich habe das schon mehrfach realisiert und noch kein Problem gehabt. Pulldown-Widerstände sind nicht nötig, da kann ruhig ein Ausgang gegensteuern.
Hi, das muss ich wohl übersehen haben, danke für den Hinweis!
Ups, steht in der AVR-Studio-Hilfe, nicht im Datenblatt (nur in dem Vom AVR ISP-Programmer zum selberbauen). MOSI/MISO/SCK If the MOSI, MISO or SCK line are used as general I/Os in the application, it is recommended to use series resistors between the load and the AVR as shown in Figure 5. The AVRISP lines should be connected directly to the AVR pins, without any series resistors.
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.