Forum: Mikrocontroller und Digitale Elektronik Timer Ausgänge Umlegen???


von Pascal N. (pascal)


Lesenswert?

Hallo!
Ich programmiere momentan einen ATMEGA168 und habe auf dem Komplette 
PortD eine LCD liegen. Nun benötige ich aber die Timer Ausgänge die auf 
diesem Port liegen nutzen. Gibt es die möglichkeit diese auf Andere Pins 
zu legen? Ach ja, ich verwende auch die anderen Timerausgänge an PortB, 
also kann ich die nicht nehmen. Hätte da vllt jemand eine Idee??

Danke schon mal im vorraus.

von jack (Gast)


Lesenswert?

Wieso steuerst Du nicht das LCD mit einem Schieberegister an?
Im 4-Bit Modus brauchst Du dann fürs LCD 3 Portausgänge.

von Rolf Magnus (Gast)


Lesenswert?

ISR schreiben und die Pins dort manuell verstellen. Es gibt keine 
Möglichkeit, die Timer-Pins umzuleiten.

von Rahul, der Trollige (Gast)


Lesenswert?

>Gibt es die möglichkeit diese auf Andere Pins zu legen?
Nicht einfach so.
Ich gehe mal davon aus, dass du ein PWM ausgeben willst.
Dabei sind die OC-Ausgänge fest mit dem Portpins verdrahtet.
Das kann man auch nicht ändern. Lösen kann man das Problem nur dadurch, 
dass man die gewünschten Ausgänge in der Software schaltet.
Besser wäre es wohl, die LCD-Pins auf verschiedene Ports zu verteilen - 
LCDs werden in der Regel sehr langsam angesprochen, und sofern die 
Ansteuersoftware dafür selbst geschrieben ist, sollte man sie 
entsprechend anpassen können.

von Pascal N. (pascal)


Lesenswert?

Mmmhhh ich seh schon das Problem. Da ich die Ansteuerung für das LCD 
nicht selbst geschrieben habe, sondern eine Vorlage verwendet habe 
bekomme ich da nun Probleme dies in eine Routine zu verpacken. Hab es 
auch schon Probiert das Lcd dann auf den PortC zu legen, aber leider 
ohne erfolg. Nach dem anpassen des Codes hat sich nichts getan und der 
Code lande im Abfalleimer. Dann werd ich mir wohl selbst eine LCD 
Ansteuerung schreiben müssen. Dachte es geht einfacher....

von Karl H. (kbuchegg)


Lesenswert?

Die LCD-Library von Peter Fleury lässt sich sehr leicht
auf andere Ports umstellen. Es ist auch kein Problem
die Steuersignale quer über mehrere Ports und verschiedene
Pins zu verteilen.

von Peter D. (peda)


Lesenswert?

jack wrote:
> Wieso steuerst Du nicht das LCD mit einem Schieberegister an?
> Im 4-Bit Modus brauchst Du dann fürs LCD 3 Portausgänge.

Im 8-Bit Modus auch (74HC164 hat ja 8 Ausgänge).


Peter

von jack (Gast)


Lesenswert?

Wie wird dann RS und EN angesteuert?
Ich komm nicht drauf ;-)

von Pflorz (Gast)


Lesenswert?

Eine LCD ist ja nicht so'n Ding. Ein paar Befehle in eine paar Register.

Pf

von jack (Gast)


Lesenswert?

Ja, klar hab's schon verstanden. Schieberegister abschalten, dann
hat man ja immer noch Clock und Daten frei.

von jack (Gast)


Lesenswert?

Nee, doch nicht.

von Falk (Gast)


Lesenswert?

@jack.

>> Wieso steuerst Du nicht das LCD mit einem Schieberegister an?
>> Im 4-Bit Modus brauchst Du dann fürs LCD 3 Portausgänge.

>Im 8-Bit Modus auch (74HC164 hat ja 8 Ausgänge).

>Wie wird dann RS und EN angesteuert?
>Ich komm nicht drauf ;-)

Ganze einfach.

1 Pin für den Takt am 164er
1 Pin für E am LCD
1 Pin für Daten am LCD UND RS, damit hat man quasi 9 Datenpins

;-)

MFG
Falk

P.S. OK, lesen geht dann nicht, aber wer macht das schon.

von jack (Gast)


Lesenswert?

Alles klar, danke.

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.