Hallo allerseits, Vielleicht könnt ihr mir helfen, ich bin schon am Verzweifeln. Ich hab da das Picdem Mechatronik Board von Microchip vor mir liegen. Darauf werkelt ein PIC16F917 mit unter anderem auch einem LCD. Für das LCD wird der interne LCD-Teil des PIC16F917 benutzt. Jetzt will ich das relativ einfache Programm schreiben, dass mir den AD-Wert an AN0 auf das LCD schreibt. OK, ADC aktivieren und einmal testen. Funzt bestens, ich krieg schön saubere Werte von 0 bis 1023. ABER: Sobald ich das LCD aktiviere (mit dem LCDCON-Register) krieg ich nur noch Werte von ca. 270 bis ca. 970. Warum? Ich habe im Datenblatt nichts gefunden, dass das Betreiben des LCDs den ADC behindert. Könnt ihr mir sagen, was da los ist?? Zur Info: AN0 hab ich auf dem Board mit dem Poti POT1 verbunden. Was mir noch aufgefallen ist, dass wenn ich die Spannung am AN0 hochdrehe, verstärkt sich der Kontrast des LCD. Ist das normal? Wär echt toll, wenn mir jemand helfen könnte! Vielen Dank! mfg Andy
Laut Schaltplan hat der Pin AN0 nichts mit dem LCD zu tun. Vielleicht irgend eine Brücke falsch gesteckt ? Sonst mal einen anderen Pin nehmen. AN1 oder AN2, wenn das möglich ist.
Danke für die Antwort. Anderen Pin hab ich auch schon probiert. Gleiches Ergebnis - sobald ich das LCD ausschalte gehts, ansonsten nicht. An allen AD-Pins das gleiche! mfg Andy
Könnte es vielleicht an irgendwelchen Einstellungen des LCD-Treibers liegen??
naja, ein LCD wird mit einer recht hochfrequenten Wechselspannung betreiben, möglicherweise beienflusst das den ADC. Bei den AVR zB gibts extra einen modus, wo sich der gesammte µC schlafenlegt und nur der ADC arbeitet und nach der Messung den Rest wieder aufweckt um Störungen zu vermeiden. Allerdings wären das von dir beschriebene schon recht heftige Störungen. hat der PIC einen extra Pin für die Referenzspannung? wenn ja, ist der mit einem Kondensator gegen Masse verbunden, um störimpulse zu reduzieren?
Als Referenz nehm ich eigentlich Vss... - Hab aber auch schon Vref versucht - ändert auch nix...
Vermutlich hast du das entsprechende Bit im LCD Segment Register für AN0 auf LCD und nicht auf IO geschaltet.
Hallo, so, bin erst heute wieder dazugekommen, an diesem Problem weiterzuarbeiten. Also der letzte Beitrag von Holger hat Gott sei Dank geholfen - AN0/RA0 dient auch als SEG des LCD. Ich hab dieses nun deaktiviert und siehe da, alles funktioniert bestens. Vielen Dank!! mfg Andy
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.