Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage 74HC165


von Sven (Gast)


Lesenswert?

Hallo,

ich habe das Wochenende damit zugebracht den 74HC165 einzulesen, es ist 
mir aber nicht gelungen das richtig hinzubekommen (trotz vielen 
googlens). Habe dazu eine kleine Testschaltung, wie folgt aufgebaut: 8 
poligen DIP-Schalter mit den Eingängen D0-D7 verbunden, die Eingänge 
werden mit Pull-Down-Widerständen auf Masse gezogen. Ist ein Schalter 
aus liegt an dem jeweiligen Eingang des 74HC165 logisch 0 an, ist ein 
Schalter an entsprechend logisch 1.

Das Einlesen habe ich mir wie folgt gedacht:

1.) /PL (Pin 1) auf 0 und dann wieder auf 1 setzen (Die Zustände von 
D0-D7) werden ins Shiftregister des 74HC165 übernommen.

2.) Dann lese ich das erste Bit am Ausgang Q7 (Pin 9) aus

3.) CP (Pin 2) auf 1 und dann wieder auf 0 setzen (einmal Takten)

... das ganze 8 mal wiederholen, dann sollte ich ein Byte ausgelesen 
haben, leider bekomme ich kein sinnvolles Ergebnis. Mir ist auch die 
Funktion von DS (Pin 10) nicht ganz klar, muss dieser möglicherweise auf 
Masse gelegt werden? Ich habe bisher immer mit dem 4021 als 
Shiftregister (Parallel Input - seriell Output) gearbeitet und hatte 
niemals Probleme damit.

Ich hoffe mir kann jemand einen Tip geben wo mein Denkfehler ist. Vielen 
Dank

von Michael U. (Gast)


Lesenswert?

Hallo,

DS ist der Eingang des Shift-Registers, der Wert wird mit der steigenden 
CP-Flanke in das erste FF eingelesen.

CE auf L gelegt? Sonst kommt kein Takt durch.

Steht aber eigentlich alles in der Wahrheitstabelle des Datenblatts 
drin.

Gruß aus Berlin
Michael

von johnny.m (Gast)


Lesenswert?

Hast Du den CE\- (Clock Enable-) Pin auf Masse gelegt?

von yalu (Gast)


Lesenswert?

> 3.) CP (Pin 2) auf 1 und dann wieder auf 0 setzen (einmal Takten)

Was geht bei CP rein? Ein Schalter? Ist der entprellt?

Sonst erzeugst du jedesmal mehrere Takte.

von Sven (Gast)


Lesenswert?

Ja, /CE (Clock Enable) liegt auf Masse. Angesteuert wir der 74HC165 
durch den Parallelport eines PC's:

D0 -> /PL (Parallel Load)
D1 -> CP (Clock Pulse)
Error <- Q7 (serieller Ausgang)

Ich kann mir wirklich nicht erklären warum das bei mir nicht klappt, ich 
muss da einen denkfehler machen. Ich habe ja auch schon mit dem 595, 
4021, 4094 gearbeitet und keinerlei Probleme gehabt, aber mit dem 
74HC165 bekomm ich das einfach nicht hin.


von Falk (Gast)


Lesenswert?

@Sven

>Ich kann mir wirklich nicht erklären warum das bei mir nicht klappt, ich
>muss da einen denkfehler machen. Ich habe ja auch schon mit dem 595,

Programmierfehler in der Ansteuerung? Ein Digitaloszi wäre hier Gold 
wert.

MFG
Falk



von Karl H. (kbuchegg)


Lesenswert?

An die Ein/Ausgänge Led anhängen und das Pgm mit
vielen Verzögerungszeiten langsam machen.

von Falk (Gast)


Lesenswert?

>An die Ein/Ausgänge Led anhängen und das Pgm mit
>vielen Verzögerungszeiten langsam machen.

Poor's Man Digi-Scope ;-)

MfG
Falk

von Sven (Gast)


Lesenswert?

Vielen Dank für die Hilfe, ich kann jetzt den 74HC165 auslesen. Dennoch 
habe ich bei mir eine (für mich) komische Besonderheit festgestellt: Ich 
habe zwei Parallelports in meinem PC (LPT1 Basisadresse 0x3BC und LPT2 
Basisadresse 0x378). Den 74HC165 habe ich versuchsweise mit einem der 
Parallelports verbunden, an einen LPT funktioniert alles am anderen 
nicht, obwohl der Versuchsaufbau und das Programm (QBasic) identisch 
sind. Beide Parallelports sind in ordnung, habe dies mit einem Drucker- 
und Leuchtdiodentest überprüft. Natürlich habe ich die Basisadresse im 
Programm den entsprechenden Port angepasst. An dem einen Druckerport 
fuktioniert es nur, wenn ich die Eingänge /PL und CP am 74HC165 
zusätzlich mit den Parallelport eines anderen Computer verbinde um die 
Signale mit meinen primitiven Logicanalyzer (ebenfalls in QBasic) 
auszulesen.

hoffendlich kann mir jemand erklÄaren warum dies so ist, ich habe dafür 
keier Erklärung.

Danke für einen Tip.

von Falk (Gast)


Lesenswert?

@Sven

>Programm den entsprechenden Port angepasst. An dem einen Druckerport
>fuktioniert es nur, wenn ich die Eingänge /PL und CP am 74HC165
>zusätzlich mit den Parallelport eines anderen Computer verbinde um die

Vielleicht ist dieser Port in Ulta-Billig-Murks und hat Open Drain 
Ausgänge ohne Pull-ups?
Häng mal je 2k Pullups an \PL und CP und probiers nochmal.

MfG
Falk

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.