MEGA8 Problem(e)

Gast #127208
Lesenswert?

Hallo, nein es ist nicht das Problem, dass ich ihn nicht Programmieren
kann etc...

Mehr habe ich das Problem, dass ich die Ports brauche die Doppelt
belegt sind ARGG Ich hasse sowas..

Wie macht ihr das?? Einen µC fuer je eien Aufgabe und unternander mit
i2c verbinden?? Oder die Ports fuer mehrere Aufgaben nutzen?.

Ich nutze seit 3 Tagen AVRco sieht nett aus die Erste Simulation laeuft
auch nur ein nachteil ist, dass der AD Wandler auf dem port vom Display
liegt bzw das Display auf dem Port von der RS232.

Ich hasse den Mega8 einer sollte mal das Tutorial erweitern =)


Jens
Gast #127209
Lesenswert?

verstehe dein Problem nicht.
Entweder man kann Ports mehrfach nutzen, geht aber nicht immer.
Oder man schliesst Hardware so an, dass es reicht (LCD-Displays gibts
z.B. mit SPI)
Oder man macht externe Porterweiterung.
Oder das einfachste: Man nimmt gleich den richtigen MC für die
entsprechende Aufgabe und nicht den, den man gerade da hat, in deinem
Fall also den Mega16 z.B.

Über den einen kleineren MC nachzudenken und versuchen alles möglichst
geschickt reinzuquetschen, lohnt sich, wenn man darüber nachdenkt,
Platinen in >100 Stückzahlen zu produzieren. Für die Bastelei zu Hause
und für ein oder 2 Stück ist das aber völliger Unsinn.
Es liegt also nicht am Mega8, sondern an deiner unzureichenden bis gar
nicht vorhandener Vorplanung.
Und selbst wenn du planst: es kommt fast immer später noch was hinzu,
also auch da nicht unbedingt den Typ nehmen, der gerade so reicht.
Gast #127210
Lesenswert?

Der M8 hat für AD und LCD schon genug Ports bzw. kommt gerade mal so hin
aber selbst wenn es zuwenig sind gibt es da Lösungen.

Nur mal so locker vom Hocker Zwei Möglichkeiten

1.
Display per Schieberegister oder I2C anbinden.
Das kostet nur 3 bzw. 2  Pinne und ist immernoch schnell genug.


2.
Den AD-Port im Programm für beides Nutzen.
Also per Soft die Register von AD auf IO-Betrieb und umgekehrt
umschalten und dabei LC und Analoge Signale per Umschalter
(Analogschalter oder meinentwegen auch Relais) über einen zusätzlichen
Pin umschalten.


Es gibt sicher noch mehr aber was für dich Sinnvoll ist mußt du selber
Entscheiden.
Im Grunde sind genug Ports vorhanden.
Gast #127211
Lesenswert?

Ich weiß auch nicht, was Du hast.
Man kann die Anbindung eines LCD´s auch auf 2 Ports splitten.
Z. B. für den 4Bit-Modus D4 bis D7 an PC0 bis PC3.
Die Steuerleitungen E (Enabele) und R/S (Register Select) an PB0 und
PB1.
Wenn Du mit dem Busy-Flag arbeiten willst, dann noch R/W (Read/Write)
an PB2.
Somit hast Du 2 ADC-Channel, RXD und TXD frei.
Musst natürlich die LCD-Software darauf anpassen und dafür sorgen, das
bei der Ausgabe der LCD-Daten die anderen Pins PC4 - PC7 und PB2 - PB7
nicht beeinflusst werden, also mit Verknüpfungen arbeiten.
Oder Du machst gleich alle LCD-Pins an PortB. Allerdings muß man dann
halt beim proggen immer das LCD abstecken oder die Stromversorgung
abschalten.
Das läßt sich auch über einen Transistor steuern, welcher mit Reset
verbunden ist und beim proggen (Reset = low) den Strom zum LCD dann
sperrt.

Gruß
Andi
Gast #127213
Lesenswert?

Dann hast Du Glück gehabt.
Mitunter kann es beim proggen zum verstellen der Fuse-Bits kommen wenn
man an MISO, MOSI und SCK Pins eines LCD dran hat was bei mir passiert
ist.
Allerdings warens bei mir E und R/W an MOSI und MISO.
Kommt sehr auf die Funktion der LCD-Leitung an.

Gruß
Andi

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren