Forum: Mikrocontroller und Digitale Elektronik 20x4 LCD am Atmega16: Welche Ports?


von Sergej M. (Gast)


Lesenswert?

Hallo,
Ich bin ein Anfänger und möchte ein Display am Atmega16 in 4bit-Modus 
ansteuern und habe gleich hier im AVR-Tutorial nachgelesen wie das geht.
Doch sind bei mir die Ports PD2 & PD3 für zwei Interrupts besetzt. Im 
Tutorial sind die aber für das Display empfohlen.

Kann ich stattdessen beliebige Ports verwenden?
Ich würde gerne die Ports PB oder PC nehmen. Wird das gehen?

Zweite Frage:
Kann ich stattdessen auch einfach die Interrupts auf andere Ports 
setzen?
Im Datenblatt steht nämlich dass PD2 & PD3 unter anderem für externe 
Interrupts da sind, wesshalb ich sie auch dafür benutze.

Vielen Dank

von Stefan B. (stefan) Benutzerseite


Angehängte Dateien:

Lesenswert?

Kannst du machen.

Bei PORTB musst du auf die ISP Schnittstelle aufpassen. Schau dir die 
Appnote 'AVR042: AVR Hardware Design Considerations' von Atmel an.

Bei PORTC musst du auf die JTAG Schnittstelle aufpassen und per [[AVR 
Fuses]] abschalten.

Wenn dein Programm INT0 und INT1 benutzt, sind die an PD2 und PD3 
gebunden. Die kannst du nicht hardwaremäßig verlegen.

von Karl H. (kbuchegg)


Lesenswert?

Sergej M. schrieb:
> Hallo,
> Ich bin ein Anfänger und möchte ein Display am Atmega16 in 4bit-Modus
> ansteuern und habe gleich hier im AVR-Tutorial nachgelesen wie das geht.
> Doch sind bei mir die Ports PD2 & PD3 für zwei Interrupts besetzt. Im
> Tutorial sind die aber für das Display empfohlen.

Empfohlen ist das falsche Wort.
Irgendeinen Port muss man nehmen. Also warum nicht Port D?

> Kann ich stattdessen beliebige Ports verwenden?

Ja klar.
Ein LCD ist ja nicht auf bestimmte Spezialfunktionalität angewiesen. Und 
Bitklimpern (gezielt auf 0 oder 1 setzen) kann man mit jedem Port.

> Ich würde gerne die Ports PB oder PC nehmen. Wird das gehen?

Bei C aufpassen: JTAGEN per Fuse abschalten.

> Kann ich stattdessen auch einfach die Interrupts auf andere Ports
> setzen?

Nein.
Wenn ein Portbit Spezialfunktionalität hat, dann ist man an genau diesen 
Pin gebunden, wenn man diese Funktionalität benutzen will.

von Sergej E. (sergej_m)


Lesenswert?

Danke für Eure schnellen Antworten, Stefan und Karl.

Das ist genau das, was ich wissen wollte.

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.