Forum: Mikrocontroller und Digitale Elektronik LCD-Ansteuerung


von dieter (Gast)


Lesenswert?

Hallo

Ich muss gerade entscheiden, wie ich ein LCD-Display ansteuere:
Ich benutze einen ATMega16 der ganze Port C ist frei.
(an dem Port sind auch die i2C Pins)

Welche Vorteile und Nachteile hat I2C gegenüber
einer 8bit Ansteuerung von dem LCD Display?

Insbesondere für Programmieraufwand und externe Beschaltung.


Grüße dieter

von Rahul, der Trollige (Gast)


Lesenswert?

>Welche Vorteile und Nachteile hat I2C gegenüber
>einer 8bit Ansteuerung von dem LCD Display?

Nur 2 Pins.

Nachteil: Display ist (vermutlich) teuerer, und TWI ist nicht ganz 
einfach zu programmieren.

von Joe (Gast)


Angehängte Dateien:

Lesenswert?

Siehe Anhang, 3 Leitungen, standard Display.

von Rahul, der Trollige (Gast)


Lesenswert?

>Siehe Anhang, 3 Leitungen, standard Display.
Mit TWI/I²C?

von Joe (Gast)


Lesenswert?

Mit Verstand ;-)), nennt sich Schieberegister. Beliebige Portpins dran 
und fertig.

von Rahul, der Trollige (Gast)


Lesenswert?

>Mit Verstand ;-)), nennt sich Schieberegister. Beliebige Portpins dran
>und fertig.

Nö, nicht wirklich.
Wenn der gesamte PortC noch frei ist, kann man sich einen (deinen) 
Baustein sparen...

von dieter (Gast)


Lesenswert?

@Rahul

>>Nachteil: Display ist (vermutlich) teuerer,
>>und TWI ist nicht ganz einfach zu programmieren.

Was ist denn genau schwerer zu programmieren?
ich meine das eine ist parallel(ganzer port)
dies ist seriell:

c:
void sende(unsigned char  datenbyte)
{

PORTC.7=datenbyte &0b00000001;
wartekurz();
PORTC.7=datenbyte &0b00000010;
wartekurz();
PORTC.7=datenbyte &0b00000100;
...

wartekurz();
PORTC.7=datenbyte &0b01000000;
}

ist das nicht möglich?


dieter

von Rahul, der Trollige (Gast)


Lesenswert?

>Welche Vorteile und Nachteile hat I2C gegenüber
>einer 8bit Ansteuerung von dem LCD Display?

Auf die Frage kommt sowas:
1
void sende(unsigned char  datenbyte)
2
{
3
4
PORTC.7=datenbyte &0b00000001;
5
wartekurz();
6
PORTC.7=datenbyte &0b00000010;
7
wartekurz();
8
PORTC.7=datenbyte &0b00000100;
9
...
10
11
wartekurz();
12
PORTC.7=datenbyte &0b01000000;
13
}
Was hat das mit I²C zu tun?
I²C heisst bei Atmel TWI. Guck dir das am besten mal Datenblatt an.
I²C kann man auch "zu fuß" programmieren. Als Master gar keine Problem, 
als Slave ziemlich anstrengend bis unmöglich.

von dieter (Gast)


Lesenswert?

achso ich hab mir mal die TWI-note von atmel durchgelesen ....


also der mega16 kann  die TWI direkt in hardware übernehmen?
ich muss nur sagen welche datenübertragungsrate benötigt wird
und dann die daten innnen Puffer schreiben?


von dieter (Gast)


Lesenswert?

Nachtrag:

Kann man TWI-fähige-LCDModule kaufen oder muss man die TWI mit einem 
weiteren chip realisiern?

dieter

von Rahul, der Trollige (Gast)


Lesenswert?

>ich muss nur sagen welche datenübertragungsrate benötigt wird
>und dann die daten innnen Puffer schreiben?

Entweder das oder zu fuß...
Allerdings heisst es (hier im Forum), dass das TWI etwas buggy ist. Das 
weiß ich aber nur vom "Horensagen".

von Joe (Gast)


Lesenswert?

> Nö, nicht wirklich. Wenn der gesamte PortC noch frei ist, kann man sich > einen 
(deinen) Baustein sparen...

Da haste recht, 4 BIT Modus und 3 Steuerleitungen passen´an einen Port 
aber bevor ich ein serielles Display kaufe nehme ich die genannte 
Lösung.

Nen paar BITs seriell zu schieben benötigt keine TWI I2C etc...

Aufwand ? nen 4 Zeiler (vielleicht auch 5 ;-))

von Rahul, der Trollige (Gast)


Lesenswert?

>Da haste recht, 4 BIT Modus und 3 Steuerleitungen passen´an einen Port
>aber bevor ich ein serielles Display kaufe nehme ich die genannte
>Lösung.

Das ist richtig.

>Kann man TWI-fähige-LCDModule kaufen oder muss man die TWI mit einem
>weiteren chip realisiern?

kann sein. (Du hast die Idee geäussert...)

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.