Hallo zusammen, Ich habe mir jetzt mal diverse Male Tante Google zu Gemüte geführt und nach einer Möglichkeit gesucht um meinem ATmega8 um ein bis zwei Eingangsbytes zu erweitern. Habe diverse Möglichkeiten gefunden um Ausgänge über einen 8-bit Latch zu erweitern, aber das funktioniert ja mit Eingängen ja leider nicht so einfach. Oder ich habe da nen Knoten im Kopf. Soweit wie ich das verstanden habe müsste ich einen Baustein haben der den aktuellen Zustand am Eingangsbyte an meinen PINx weitergibt und beim weiterschalten auf ein anders Eingangsbyte den Zustand wieder "vergisst". Ich würde den Zustand am PINx in eine Variable schreiben und dann das nächste Byte abfragen. wenn ich das mit dem Latch durchdenke komme ich zu der Erkenntnis das der Latch den eingelesenen Zustand speichert und am Ausgang Q dauerhaft ausgibt. Ist das so richtig ? Was wäre denn das richtige Bauteil was ich bräuchte ? Ich stelle mir sowas vor wie so ein 8-bit Schalter der den Zustand am Bingangsbit erst auf Abfrage weiter gibt und dann wieder abfällt. Aber gibt es sowas ? Grüße Jörg
Versteh ich nicht.. meinst Du vielleicht einen 74HC165? Oder so eine Art 8 bit Eingang mit 1 Ausgang der das als getaktetes Signal ausgibt?
:
Bearbeitet durch User
Jörg Drösser schrieb: > Was wäre denn das richtige Bauteil was ich bräuchte ? Du brauchst einfach einen 8-Bit Bustreiber (z.B. 74245 o.ä.) mit Tristate pro 8 Eingänge. Dann nimmst du ein Byte-Enable Signal, schaltest damit einen der Bustreiber aktiv auf deinen Eingangsport, liest dieses Byte in eine Variable, schaltest den nächsten Bustreiber aktiv, liest das Ergebnis in eine Variable usw. Und jetzt kommt der Trick schlechthin: anschließend kannst du den Eingangsport auf Ausgang umschalten und damit deine Ausgangslatches bedienen.
1 | .--->---- Latch1 -->--- |
2 | | |
3 | o--->---- Latch2 -->--- |
4 | | |
5 | o--->---- Latch3 -->--- |
6 | | : |
7 | | : |
8 | | |
9 | (8 Bit-Bus) | |
10 | PA ------<->-------o---<---- Buffer1 --<--- |
11 | | |
12 | o---<---- Buffer2 --<--- |
13 | | |
14 | o---<---- Buffer3 --<--- |
15 | |
16 | PB0 -->-- Latch1 |
17 | PB1 -->-- Latch2 |
18 | PB2 -->-- Latch3 |
19 | PB3 -->-- BufferEnable1 |
20 | PB4 -->-- BufferEnable2 |
21 | PB5 -->-- BufferEnable3 |
Einfach mal ein Blatt Papier nehmen und aufzeichnen. Das ist Technik aus dem letzten Jahrtausend...
:
Bearbeitet durch Moderator
Also ich bin in der Thematik mit dem Schieberegister über den SPI Bus nicht so belesen. Wie funktioniert das denn genau ? Bekommt das Register denn damit eine eigne Adresse, so wie PINxy ?
Ist ja nicht so das ich es nicht versucht hätte, ich komme nur nicht mit dem SPI klar. Ich kenne den nur in Verbindung mit meinem STK500 programmer. Kann mir das mal einer versuchen zu erklären ?
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.