Forum: Mikrocontroller und Digitale Elektronik MEGA8 Problem(e)


von Jens123 (Gast)


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

von crazy horse (Gast)


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.

von Ratber (Gast)


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.

von Andi (Gast)


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

von Hubert.G (Gast)


Lesenswert?

Ich habe auf meinem Display DB7 auf MOSI, Enable auf MISO und RS auf SCK
verträgt sich problemlos miteinander.

Hubert

von Andi (Gast)


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

von Thorsten (Gast)


Lesenswert?

Wenn du den Mega8 in TQFP nimmst, hast du zwei zusätzliche AD-Wandler
Pins (ADC6 und ADC7), die sonst keine weitere Funktion haben. Könnte
eventuell auch interessant sein.

Thorsten

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.