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
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
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
Damit wirst Du wohl leben müssen, denn dem LCD-Display ist es egal, wer die Pegelwechsel verursacht. :-( MfG Paul
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. ...
@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
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
@ Bernhard: der Schaltplan befindet sich im Anhang des ersten Beitrags und auch auf www.rowalt.de unter Microcontroller, Einführung 1.
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.
Habe den LPT-Programmier-Adapter gefunden. Wie sind exakt die SCK MISO und MOSI-Pins mit den LCD-Pins verschaltet? Welcher geht wohin?
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
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
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.
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?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.