mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lcd Leitung Stören Programmer bzw umgekehrt


Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ihr!
Ich hab folgendes Problem, hoffe ihr könnt mir helfen, hab auch schon im 
Forum gesucht und gegoogelt, aber nix gefunden. Also ich habe einen 
atmega8535, den Programmieradapter dessen Schaltbild im Anhang ist (von 
www.rowalt.de) sowie ein LCD mit 2 E Leitungen. Das Problem ist jetzt 
folgendes, meine Bascom Demo Version zwingt mich für das LCD mit 2 E 
Leitungen den in der lcd4e2.lbx angegebenen PortB 0-7 zu benutzen, hier 
hängen aber auch teilweise die Programmierleitungen dran. (MISO, MOSI, 
SCK) Das Problem ist jetzt das wenn der Programmierstecker und LCD 
angeschlossen sind das Display beim ausführen des Progs nix anzeigt da 
der Programmieradapter die Pins low bzw high zieht, und ich andersrum 
auch nicht programmieren kann wenn das LCD angeschlossen ist (da 
anscheinend der LPT über den Prog.Adapter nicht Chip und LCD Eingang 
paralell treiben kann). Die Konfiguration und die Software ist OK. Wenn 
ich erst das Display abkabel, Programmieradapter dran, dann 
programmiere, Programmieradapter ab, Display wieder dran, und dann den 
uc starte läuft das Programm wie es soll, aber das ist natürlich 
ziemlich umständlich und irgendwann werden die Kabel das nicht mehr 
mitmachen. Deshalb nach dieser laaangen Einleitung (Danke, wenn du bis 
hier durchgehalten hast :) ), die eigentlich Frage: Wie muss ich den 
Adapter zusätzlich beschalten, damit ich im Idealfall Programmieradapter 
und LCD gleichzeitig angesteckt lassen kann, und trotzdem programmieren 
kann und die Anzeige geht? Geht das mit ein paar Dioden? Oder kann man 
die 3 'Problem Pins' in Abhängigkeit von Reset oder nem anderen Pin vom 
LPT-Adapter (VCC nutz ich zB nicht), jeweils auf das LCD oder den 
Programmieradapter schalten?

Schonmal vielen dank für alle Tipps :)

Lohrke

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lohrke,

ich hatte auch mal mit diesem Problem zu kämfen.

Mögliche Lösungsvariante:

Durch 3 Widerstände (1...10k) das LCD-Display von den SCK,MISO und 
MOSI Pins abkoppeln.


Bernhard

Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, vielen Dank schonmal, das Programmieren geht jetzt mit 
angeschlossenem LCD, habe es folgendermaßen angeschlossen:

       LCD
        |
       |R|
       | |
        |
LTP-----^---------Chip

dann natürlich für alle 3 Pins. Soweit so gut, aber komm ich auch noch 
um das abziehen des Programmiersteckers rum? (Solange der nämlich 
dranbleibt zeigt das LCD nix vernünftiges an, wenn ich das Prog starte.) 
Und da ich ja faul bin würd ich mir das auch noch gern sparen :)

Dank im Vorraus

Lohrke

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit wirst Du wohl leben müssen, denn dem LCD-Display ist es egal, wer 
die
Pegelwechsel verursacht. :-(
MfG Paul

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einem vernünftigem Programmer sollte sich das Problem lösen lassen.

Dies könnte ein intelligenter Programmer von ATMEL oder einer seiner 
Nachbauten sein, aber auch ein Eigenbau-ISP-Adapter mit Bustreiber-IC 
(HC244, HC245). Der Bustreiber-IC ermöglicht die Trennung zwischen AVR 
und Printerport und sogt dafür, dass die ISP-Pins außerhalb des 
Programmiervorgangs nicht belastet werden.

Nähere Informationen findest Du mit Sicherheit über die Linksammlung 
dieser Seite.

...

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

@Lohrke

Stell uns mal bitte den Schaltplan Deines Programmieradapters zur 
Verfügung, vielleicht gibt es noch eine weitere Möglichkeit, dass Du Dir 
das lästige herumstöpseln sparen kannst.

Bernhard

Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok vielen Dank, werde mir dann erstmal nen Schalter basteln damit ich 
nicht immer den Adapter an und ab steckern muss, sind ja nur 3 
Leitungen. Mittelfristig werd ich mir dann demnächst mal einen 
'ordentlichen' Programmer löten. :)

Vielen Dank nochmal für die schnelle Hilfe.

Lohrke

Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Bernhard: der Schaltplan befindet sich im Anhang des ersten Beitrags 
und auch auf www.rowalt.de unter Microcontroller, Einführung 1.

Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehe grad das ich gar keinen Anhang gepostet hab, also nur unter 
Rowalt.de. Achja ich benutze nur den Progammer, nicht das Testboard und 
einen atmega8535 auf einem Brotbrett.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe den LPT-Programmier-Adapter gefunden.

Wie sind exakt die SCK MISO und MOSI-Pins mit den LCD-Pins verschaltet?

Welcher geht wohin?

Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Verschaltung ist folgende:

mosi - databit5
miso - databit6
sck -  databit7

Schonmal im Vorraus falls wichtig: Busy-Abfrage des LCDs wird nicht 
genutzt, also ins LCD müssen nur daten 'rein'. :)

Lohrke

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Müsste für diese LCD-Beschaltung auch ohne Abziehen des Adapters 
funktionieren.

Aber der LPT-Programmieradaper hängt immer mit einer 220 Ohm Last am µC, 
dürfte aber in diesem konkreten Fall nicht sonderlich stören.

Bernhard

Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es klappt leider einfach nicht, habe für die 'Abkoppelwiederstände' 2k8, 
215 Ohm und 280 Ohm gewählt.
Wenn beides (LCD+Adapter) angesteckt ist:

2k8:Solange der programmieradapter dranhängt, tuts sich auf dem LCD nix. 
Programmieren geht.

280: Kein Programmieren, Display geht nicht richtig (fehlt was)

215: Display geht, kein Programmieren.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann sein, dass das LCD sein D0..D7 auf Output setzt und Dir damit Deine 
Programmierpegel beeinflusst ?

Wie sind die anderen Pins zum LCD geschaltet, vorallem RW?

Autor: Lohrke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es klappt! Problem lag am RW Pin (und anscheinend auch WINXP ;) ) hatte 
ihn vorher aus Faulheit an den Chip angeschlossen weil ich davon 
ausgegangen war, dass die Pins am Chip alle auf Low sind wenn ich nichts 
anderes programmiere. Dem ist aber wohl nicht so. ( Kann das einer 
bestätigen? Gehen die bei Reset auf High-Z oder so was?). Dann hats 
erstmal soweit funktioniert, aber hin und wieder ist das Reset signal 
vom LTP ohne mein zutun von High auf Low gewechselt-> Chip stand. Das 
hat sich jetzt aber gelegt, mir ist eingefallen, das ich an dem LPT ja 
noch nen Drucker installiert aber nicht angeschlossen hab, und WinXP 
deshalb wahrscheinlich alle paar Minuten irgendeinen PlugNPlay Unfug mit 
dem Druckerport treibt (Ist da irgendwas bekannt?). Naja bis jetzt 
läufts, sogar ohne die "Koppelwiderstände", mit geht das Programmieren 
aber wesentlich schneller, werd sicherheitshalber auch den Drucker 
nochmal deinstallieren.

Vielen, vielen Dank für eure Hilfe, ihr seid super!

Lohrke

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Unsere Bankdaten geben wie Dir später :)




>Gehen die bei Reset auf High-Z oder so was?).


Beim Reset werden alle PINS, auser MOSI hochohmig.

Angeschlossene Hardware kann ohne weiteres plötzlich unerwartete und 
unangenehme Zustände annehmen.

Sollte beim entwickeln der Hardware immer beachtet werden.

Gruß

Bernhatd

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.