Hallo, ich habe eine kurze, aber wohl einfache Frage. Was ist die beste Möglichkeit an meinen ATmega16 einen LCD anzuschließen? Welche Ports sind geeignet? Im AVR-Tutorial werden die Ports PD0-PD7 verwendet, aber warum gerade die? Macht das irgendeinen Unterschied, wenn ich das LCD an PB0-PB7 oder an PA0-PA7 anschließe? Grüßle und vielen Dank Markus
erstmal ist es wurscht. An welchen Port DU es letztendlich hängst, kommt drauf an, auf welche Sonderfunktionen der Ports du in deiner jeweiligen Schaltung verzichten kannst.
Vielen Dank crazy horse. Wo gibts denn ne kurze Beschreibung, welche Sonderfunktionen die einzelnen Ports bieten? Und was eignet sich dann für das LCD wohl am besten?
Hallo Markus, Beschreibung der Sonderfunktionen der Pins findest Du, wie solls auch anderst sein im Datenblatt ;-). (Hab keins vom mega16 da sonst würd ich auch nachschauen) Was die eignung angeht ist es wie crazy geschrieben hat davon abhängif was Du noch nutzen willst daher ist keine allgemeine aussage möglich. Kurzes Bsp. vom mega8: hier hängen z.B. auf dem PORTD das USART und die externen Interrupts. auf dem PORTC hängen die A/D Wandler und auf PORTB die Eingänge für einen externen Oszilator bzw das ISP-Interface. Je nach dem wie die Pins beim mega16 nun belegt sind musst Du halt schauen welche Sonderfunktionen Du nicht brauchst und da hänst Du Dein Diplay ran. Viel Spaß, der Jochen
Ausnahmsweise! Port A: A/D-Wandler PORT B: SPI, Analog-Komperator PORT C: JTAG und I2C PORT D: UART, ext. Interrupts, Timer1 OCR und ICP ist nicht vollständig, für den Überblick reichts aber. Wenn du nun A/D-Wandler,SPI, UART und I2C benutzen möchtest, hast du ein kleines Problem mit dem Anschluss des LCD. Aber selbst dann lässt sich was machen, es schreibt dir niemand vor, ein LCD an einen kompletten Port zu hängen. Theoretisch kannst du jeden Pin einzeln irgendwo anschliessen, dabei bekommst du aber graue Haare beim Programmieren, fertige Routinen kann man natürlich auch nicht benutzen. Einen Ausweg gibts aber: zumindest den Datenbus des LCD sollte man zusammen in einem nibble lassen, die Steuerleitungen (RS, RW und E ) kann man verteilen, das erfordert dann nur geringe Nacharbeit am Programm. Und nun: viel Spass!
Oder man verwendet ein schieberegister oder einen I2C nach 8bit Wandler(PCF8574) dann brauchst Du nur zwei Port-Pins am uC Gruß Jochen
Ok, vielen Dank Euch beiden. Ich nehme dann wohl PORT B, das erscheint mir am sinnvollsten. Gruß Markus
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.