Forum: Mikrocontroller und Digitale Elektronik Bus-System mit AVR


von Julien (Gast)


Lesenswert?

Hallo zusammen,

hab da mal so ne frage der realisierung.

ist es möglich 7 Taster und 3 7seg-Anzeigen über ein Bus system oder 
ähnliches an den AVR zu hängen?

Hintergrund ist der, dass ich sehr wenig register und Port-Pins noch 
frei habe. verwende gerade den 8515


also falls jemand einen Vorschlag hat wäre ich sehr dankbar.

Gruß Julien

von infiniter (Gast)


Lesenswert?

Hallo!

Ich kenne zwar den AVR nicht, aber sicher ist das möglich. Kommt auf den 
Aufwand an. Willst du die LEDs direkt ansteuern, bräuchtest du 7 Ports 
für LED-Segmente und 3 Ports zur Selektion der 3 Anzeigen. Dann nochmal 
7 Ports für die Taster. Macht 17 Ports. Und die hast du nicht frei, 
nehme ich an.
Die Selektion könnte man mit 2 Leitungen und einem Demuxer machen, 
ebenso die LED-Segmente. Reduziert die Ports auf 2+3+7. Immer noch 
zuviel. Dann fallen mir nur noch zwei Lösungen ein: entweder ein 
Schieberegister (serial in, parallel out, 10 bit, für die Anzeigen) und 
noch eins (parallel in/serial out, 8 bit, für die Taster). Spart Ports, 
erfordert aber mehr Programmierarbeit. Die andere Lösung wäre eine 
Matrix. Für die benötigten 17 Schnittpunkte bräuchte man dann allerdings 
mind. 5+4 Ports, das ergibt 20 Schnittpunkte und du hättest noch drei 
übrig. Alles mehr oder weniger aufwendig. Am einfachsten und billigsten 
würden wohl Demultiplexer werden, die sogar so gut selektierbar sind, 
daß du mit 4 Ports 2 Stück 8-bit-Demultiplexer ansteuern könntest, also 
3 Bit Eingang auf 2 Demux und 1 Bit zu Selektion der Demux.

Viel Spaß!

Maik

von Sebastian Wille (Gast)


Lesenswert?

Hi,

wie wär's mit einem I2C-Register-Baustein? Nur 2 Ports und "unendlich 
viele Anschlüsse".

Sebastian

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.