www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zu wenig Pins -> Pins mehrfach belegen?


Autor: Bernd E. (edi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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.

Autor: Lazy Bee (lazybee)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Bernd E. (edi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
...jetzt sollte es mit dem Bild klappen!

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jankey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Google: I2C IO Expander

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Philipp Co (ba4_philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hab die 4 unteren Datenleitungen bis jetzt immer unbeschalten 
gelassen und hatte noch nie ein Problem!

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bernd E. (edi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
das muss ich wohl übersehen haben, danke für den Hinweis!

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.


Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.