Also, ich wollte eine 7Seg Anzeige mittels des obigen Schieberegisters Ansteuern (eigentlich sind es 3 hintereinader aber das sollte ja erstmal egal sein). Beschaltet ist das ganze folgendermaßen: OE = +5V Strobe = +5V Clk = Port C, Pin3 Data = Port C, Pin 2 Das Problem ist jezt alelrdings das ich es nicht hinbekomme Daten an die Ausgänge zu legen, vielmehr sind alle Ausgänge immer HIGH. Das Programm: ------------- cbi PORTC, 2 ; Data LOW ldi tmp, 50 outzahl1: sbi PORTC, 3 ;clk HIGH dec tmp cbi PORTC, 3 ;clk LOW brne outzahl1 Ich hab jezt shcon mehrmals das Datenblatt studiert und auch nachgemessen das Alles "kontakt" hat, aber ich kriege die Daten einfach nicht rein... Laut Wahrheitstabelle und Timing Diagramm sollte das aber alles so korrekt sein. Habe das Datenblatt gleich mal angehangen, ich weiß mir gerade nicht mehr zu helfen :(
Nach dem Du alle Daten rausgeschoben hast, musst Du noch einen kurzen Impuls auf Strobe geben, damit die Daten auf die SR-Ausgänge gegeben werden. (siehe Datenblatt S.5) Gruß Andreas
Mit anderen Worten komm ich nicht drum rum die Strobe leitung auch an dne Controller zu legen? Eigentlich wollte ich gerne mit zwei leitungen auskommen ... :(
Das Schieberegister hat ein Output-Latch. Du kannst Daten in bzw. sogar durch das Register schieben, ohne dass sich die Ausgänge ändern. Wenn Du nur 2 Leitungen benutzen willst musst du das '164-Schiebergister (' = 74LS, 74HC, 74HCT...) nehmen.
Hm.. ok, das sit natürlich blöde, könnte ich das Strobe an die CLockleitung mit dranhängen? Dan müßte ja bei jedem CLock Impuls die Daten übernommen werden. @Rahul danke für den hinweis werd ich mir gleich mal ansehen udn beim nächsten mal mitbestellen.
Aber das '164 er kann man nicht kaskadieren oder seh ich das nun gerade falsch?
naja, du kannst den Eingang des folgenden Schieberegisters and den letzten Ausgang des vorherigen hängen. Anders läuft das beim 4094 auch nicht.
Hmm, eigentlich müsste das gehen, denn laut Datenblatt ist das Strobe-Signal nicht Flankengesteuert sondern Levelgesteuert. So steht es in der Beschreibung, so ist das IEC-Symbol gezeichnet und so ist es auch in der Logik-Tabelle und im Timing-Diagramm beschrieben. Hmm. Komisch.
Das meine ich doch auch, solange Strobe HIGH ist solten die Daten doch an den Ausgang durchgereicht werden ....
Das ist auch so, aber die Anzeige würde doch die unsinnigen Zustände auch anzeigen. Will er das? Manfred Glahe
Naja das Menschliche Auge ist träge ;) Da ich die Anzeige nur einmal beschreibe (z.b. das Bimuster für ne 5 reinschiebe) udn dan vileicht 5 Minuten nix mehr mache könnte ich zugunsten das ich nur zwei Leitungen brauche, das "unsinnige anzeigen" auf der Segemntanzeige in den paar ms verkraften. Die Anzeige wird ja auch nicht gemultiplext oder so, sondern an jedem der 8 Ausgänge hängt halt ein Segment der Anzeige, sodas nach dem reinschieben auch dauerhaft das zulezt gesnedet Bitmuster drine stehen sollte. Aber leider hab ich immer alle Ausgänge auf High heißt alle Segmente Leuchten... obwohl ich mittels des obigen programms erstmal alles auf "0" setzen wollte damit die Anzeige aus ist.
Philips Datenblätter... Unter ti.com findet man ein "shöneres". http://www-s.ti.com/sc/ds/cd74hc4094.pdf Ich gehe davon aus, dass STRobe auch eine Flanke braucht. Im functional diagramm sieht man schön die drei Teile des Bausteins. Offensichtlich ist aber in sämtlichen Datenblättern der gleiche "Fehler".
ich verwende immer die MOS4094 von reichelt. sind meist CD4094. kannst ja mal in das datasheet gucken. allerdings stimmen die timings nich mehr. strobe kannst du an clock hängen. Output Enable hängst du auf Vdd, sodass die Ausgänge nie High-Z sind.
Hm... das sit wirklich aergerlich, hat jemand ne Idee wie ich das Problem umgehn kann ohne jezt nue Bausteine besorgen zu müßen? Ich hab eben einfach mal Strobe an die Clock Leitung mit drangehangt aber das hat auch nicht wirklich geholfen :(
Ja ich werd das nochmal auseinader pfluecken, fehlt nurnoch das HC und MOS dinger unterschiedlich ticken ....
@Rahul: > Ich gehe davon aus, dass STRobe auch eine Flanke braucht. > Im functional diagramm sieht man schön die drei Teile des Bausteins. > Offensichtlich ist aber in sämtlichen Datenblättern der gleiche > "Fehler". Die Datenblätter sind definitv richtig. Egal welcher Hersteller, überall steht in den Datenblättern dass Strobe nicht Flankengetriggert ist. Also wenn Strobe auf High ist, müssen die Ausgänge transparent sein.
Also kann man sagen wenn OE + Strobe auf VDD sind dann muß alles was ich reinschiebe auch am Ausgang erscheinen, ergo hab ichs irgenwo anders verbockt?
Japp, der Unbekannte hat recht. Habe gerade ein Datenblatt von ST angeschaut, da sieht man ein bisschen mehr zum inneren Aufbau...
Hat eigetlich jemand zufällig gerde son teil rumleigen udn könnte mal nen Testaufbau machen? Ich komm hier einfach nicht weiter, an den Chips sollte es nicht leigen die sind neu und warum sollte an Drei Chips das selbe Problem auftreten das sit dann doch etwas unwarscheinlich... :(
Korrekt. Die Datasheets sind eindeutig, das Programmfragment sieht auch ganz manierlich aus. Wenn auch die Richtungs der Pins (DDRC) stimmt, dann ist wohl die Hardware dran. Mach mal die Schleife ggggggaaaaaaannnnnnnzzzzzz langsam zum mitlesen. Also 1sec Intervalle und Messgerät oder LEDs an die Pins.
--- ldi tmp, 0b11110011 out DDRC, tmp --- Sollte im Prinzip hinhauen, ich kan die Ausgänge ja High/Low setzen (und messen) werde mir mal eine Art stekcer mit LED löten und über Timer das ganze extrem verlangsammen, leider muß ich gleich nochmal los zur Uni werde also erst heute Abend "berichten" können.
Ach ja, Device sit ein Mega8 ich hoffe mal das der nciht irgenwelche Spezialfunktion wie der Mega16 hat das ich erst JTAG deaktivieren muß oder?
"ldi tmp, 0b11110011 out DDRC, tmp" Definiert 2+3 als Eingang und den Rest als Ausgang. Hmm.
Ich krieg zuviel du hast Recht, udn oh WUnder oh Wunder... auf einaml tut das Regsiter seine Arbeit, manchmal steht man echt davor und sieht den Wald vor lauter Bäumen nicht! Trozdem Danke an alle Beteiligten, wenigstens habe ich jezt die FUnktionsweise des Schieberegsiters mal richtig verstanden schäm
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.