Eingangsport Erweiterung

#4165951
Lesenswert?

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
Moderator (Firma: Titel) Persönliche Seite #4165986
Lesenswert?

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...

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