Momentan stecke bei diesem Problem fest: An einem PIC16F628 betreibe ich an PORTB ein LCD Nr. 1, dessen Ausgabe einwandrei funktioniert. An PORTB sind die Pull-Up-Widerstände aktiviert. Jetzt habe ich an PORTB, parallel zum LCD1 einen 8Bit-Bustreiber 74HC245 mit seinem A-Bus als Input angeschlossen (Pin DIR fest auf GND, Pin G fest auf +5V). Am B-Bus (Output) des 74HC245 habe ich das LCD Nr. 2 angeschlossen. Dieses 2. LCD zeigt nun den gleichen Inhalt wie das an PORTB an, auch der Inhalt ändert sich gleichlautend zum 1. LCD. So soll es ja auch sein. Was ich aber nicht verstehe: Entferne ich das 1. LCD von PORTB, dann ändert sich die Ausgabe im 2. LCD nicht mehr, es ist quasi "eingefroren". Führe ich einen Reset ohne angeschlossenes LCD1 aus, oder schalte ich die Betriebsspannung (5V) aus und dann wieder ein, bleibt das 2.LCD leer, obwohl das Programm weiter abläuft. Stecke ich jetzt das LCD1 wieder an PORTB und drücke dann den RESET-Taster laufen LCD1 und LCD 2 wieder sauber parallel. Beide LCD haben identische Anschlusskonfiguration. Datenblatt 74HC245 [http://www.mikrocontroller.net/part/74HC245] Welchem Effekt sitze ich hier auf? Über Hinweise würde ich mich sehr freuen! mfG Ottmar
Hallo Verwendest du den R/W Pin um das Busy-Flag des LCDs auszuwerten? Falls ja, solltest du das lassen, da dies die Pins des LCDs auf Ausgang schaltet und es damit gegen den Bustreiber arbeitet. Das gefärdet das LCD. Natürlich kommt das Signal so auch nicht durch den Bustreiber durch und die LCD lib wartet vergeblich. Vorschläge: * Wenn du beide LCDs behalten willst, legen den R/W Pin von LCD 2 fest auf W. * Wenn du nur das LCD2 behalten willst, schalte R/W und direction pin des Bustreibers parallel, damit schaltet desen richtung mit um. (Polarität prüfen, bin mir nicht sicher ob die hier passt. Falls nicht beides mit dem µC auf inverse Pegel legen). da1l6
... ich vermute mal, Deine LCD-LIB liest ein LCD-BUSY Signal vom LCD ein... Wenn Du jetzt Dein Display entfernst, wird Dein Programm an dieser Stelle stehen bleiben und auf dem anderen Display gehts dann auch nicht weiter .. Gruß Ingo
Für die beiden LCD braucht man keinen Bustreiber, die kann man direkt apralle schalten. Lediglich für die beiden E-Signale braucht man getrennte Leitungen, damit man beide gezielt ansprechen kann.
da1l6 schrieb: > Verwendest du den R/W Pin um das Busy-Flag des LCDs auszuwerten? Ja, so ist es! Danke! (da muss man erst mal drauf kommen) Eigentlich war das nur ein Vortest. Als Endziel soll ein bereits vorhandener und arbeitsfähigen R2R-DAC mittels eines Bustreibers an PORTB angeschlossen sein. Ein zweiter Bustreiber, ebenfalls an PORTB angeschlossen, soll ein LCD welches Frequenzeinstellung und Wellenform anzeigt treiben. Die beiden Bustreiber werden wechselseitig, - nach Bedarf - aktiv, bzw. hochohmig geschaltet. Ich mach mich mal an den Umbau der LCD-Anschlüsse! mfG Ottmar
@ Ottmar K. (wil1) >Eigentlich war das nur ein Vortest. Als Endziel soll ein bereits >vorhandener und arbeitsfähigen R2R-DAC mittels eines Bustreibers an >PORTB angeschlossen sein. Der braucht keinen Bustreiber, nur ein Latch. > Ein zweiter Bustreiber, ebenfalls an PORTB >angeschlossen, soll ein LCD welches Frequenzeinstellung und Wellenform >anzeigt treiben. Braucht man nicht. > Die beiden Bustreiber werden wechselseitig, - nach >Bedarf - aktiv, bzw. hochohmig geschaltet. Das erst recht nicht. Da die Datenrichtung immer von der CPU zu den externen Komponenten ist, muss hier nix umgeschaltet werden. Man muss nur das Latch des R2R DAC bedienen, genauso wie das E vom LCD.
Ottmar K. schrieb: > Eigentlich war das nur ein Vortest. Als Endziel soll ein bereits > vorhandener und arbeitsfähigen R2R-DAC mittels eines Bustreibers an > PORTB angeschlossen sein. Ein zweiter Bustreiber, ebenfalls an PORTB > angeschlossen, soll ein LCD welches Frequenzeinstellung und Wellenform > anzeigt treiben. Die beiden Bustreiber werden wechselseitig, - nach > Bedarf - aktiv, bzw. hochohmig geschaltet. Naja, nee... Da brauchste keine Bustreiber, sondern nen 8 bit Register um den Wert für den R2R DAC zu halten. Das Display braucht auch kein Bustreiber, der ist schon inetgriert oder meinste, dass der Enable Pin zum Spaß da is?
Herzlichen Dank für Eure hilfreichen Antworten und Hinweise! Offensichtlich habe ich da etwas zu kompliziert gedacht. Ich werde die gemachten Vorschläge überdenken und mein Konzept entsprechend ändern! mfG Ottmar
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.