Tricksen mit Ports

OP #2451627
Lesenswert?

Hallöle

Ich habe einen Atmega16 µC und steuere 4 Schrittmotoren (PORT D), 6 
Status-LEDs (PORT C), 6 Buttons (PORT B) und ein LCD Modul (PORT A) an.

Der µC hat nur diese 4 Ports.
Jetzt habe ich 4 Lichtschranken gekauft und erst jetzt fällt mir auf das 
ich zwar an einigen Ports noch freie Pins hätte, diese ja aber einzeln 
nicht für die Lichtschranken nutzen kann, meiner Meinung nach.

Gibt es irgend eine Möglichkeit diese 4 Lichtschranken noch irgendwie 
mit in das System meines Atmega16 zu integrieren?

PS: Die ganze Platine ist schon voll funktionstüchtig, die idee mit den 
Lichtschranken dient nur zur aufrüstung.
#2451636
Lesenswert?

Willi S. schrieb:

> Jetzt habe ich 4 Lichtschranken gekauft und erst jetzt fällt mir auf das
> ich zwar an einigen Ports noch freie Pins hätte, diese ja aber einzeln
> nicht für die Lichtschranken nutzen kann, meiner Meinung nach.

Warum sollst du das nicht können?
Natürlich kannst du das.


(Und falls das jetzt kommt. Ich denke nicht, dass deine Unterechungen 
der Lichtschranken so kurz sind, dass du unbedingt externe Interrupts 
dazu brauchst)
OP #2451650
Lesenswert?

Karl Heinz Buchegger schrieb:
> (Und falls das jetzt kommt. Ich denke nicht, dass deine Unterechungen
>
> der Lichtschranken so kurz sind, dass du unbedingt externe Interrupts
>
> dazu brauchst)

? Dich Lichtschranken werden jede 180° des Schrittmotors detektieren und 
da meine SM bis 1000rpm fährt ist das doch schon ne Leistung für die 
Lichtschranke, oder meintest du was anderes?

Ok das mit dem "einzeln Port direction ändern" kannte ich noch nicht :) 
Hab immer nur komplette Ports initialisiert.
Jetzt versuch ich gerade am ADC Port an LCD Modul Pins zu sparen... muss 
mich da noch bissl schlau machen was das Modul unbedingt an belegungen 
braucht
Gast #2451655
Lesenswert?

Krapao schrieb:
> Wieso sollte man freie Pins nicht benutzen können?
> Den Lichtschranken dürfte es egal sein, wo sie ihr Signal abliefern.

Das war früher mal. Die Lichtschranken sind mittlerweile so verwöhnt, 
dass sie nur noch an ein-und-dem-selben Port angeschlossen werden 
wollen.


So, und jetzt Spass beiseite, der Themenersteller möchte sicher gerne 
wissen, wie man die einzelnen Pins unabhängig vom Port auf I bzw. O 
programmiert.

Dazu wäre es sicher interessant zu wissen, in welcher Sprache er (du) 
programmier(s)t...
#2451661
Lesenswert?

Willi S. schrieb:
> Karl Heinz Buchegger schrieb:
>> (Und falls das jetzt kommt. Ich denke nicht, dass deine Unterechungen
>>
>> der Lichtschranken so kurz sind, dass du unbedingt externe Interrupts
>>
>> dazu brauchst)
>
> ? Dich Lichtschranken werden jede 180° des Schrittmotors detektieren und
> da meine SM bis 1000rpm fährt ist das doch schon ne Leistung für die
> Lichtschranke, oder meintest du was anderes?

Da gähnt doch dein µC nur müde darüber und löst zwischendurch noch ein 
paar teuflisch schwierige quadratische Gleichungen (tm: Douglas Adams)

> Jetzt versuch ich gerade am ADC Port an LCD Modul Pins zu sparen... muss
> mich da noch bissl schlau machen was das Modul unbedingt an belegungen
> braucht

Du hast doch 4 Pins frei, wenn ich richtig gezählt habe. Nutze sie, ist 
doch ganz einfach

AVR-GCC-Tutorial
AVR-Tutorial

> Ok das mit dem "einzeln Port direction ändern" kannte ich noch nicht :)

Dann wirds aber Zeit.

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