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
>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.
Mit Verstand ;-)), nennt sich Schieberegister. Beliebige Portpins dran und fertig.
>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...
@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
>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.
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?
Nachtrag: Kann man TWI-fähige-LCDModule kaufen oder muss man die TWI mit einem weiteren chip realisiern? dieter
>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".
> 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 ;-))
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.