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


von Lohrke (Gast)


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

von Bernhard S. (bernhard)


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

von Lohrke (Gast)


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

von Paul Baumann (Gast)


Lesenswert?

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

von Hannes L. (hannes)


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.

...

von Bernhard S. (bernhard)


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

von Lohrke (Gast)


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

von Lohrke (Gast)


Lesenswert?

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

von Lohrke (Gast)


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.

von Bernhard S. (bernhard)


Lesenswert?

Habe den LPT-Programmier-Adapter gefunden.

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

Welcher geht wohin?

von Lohrke (Gast)


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

von Bernhard S. (bernhard)


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

von Lohrke (Gast)


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.

von Bernhard S. (bernhard)


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?

von Lohrke (Gast)


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

von Bernhard S. (bernhard)


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

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.