versuche verzweifelt einen 74hc595 an einem mega8 zum laufen zu kriegen. es sollen 8 leds geschaltet werden. den aufbau habe ich der c't entnommen, wo er so im c't bot verwendet wird. leider klappt die ansteuerung nicht so, wie ich es mir vorgestellt habe - es passiert garnichts, bis auf, dass am mega8 das rauskommt, was ich ausgebe (siehe unten) aber anscheinend ist da noch immer ein denkfehler drin. vom sinn her soll das programm dem 595 mitteilen, welche led an, welche aus ist. hier mein aufbau: (hc595 + atmega8) hc595: pin 8 (GND) : GND (ach was....) pin 16 (vcc) : 5 V pin 10 (sclr) : 5 V pin 13 (g) : GND pin 14 (SI) : pin 2 ( PD0 ) am mega8 pin 12 (RCK) : pin 4 ( PD2 ) am mega8 pin 11 (SCK) : pin 3 ( PD1 ) am mega8 an den ausgängen ( Qa - Qh ) LEDs mit vorwiderständen (200 ohm) gegen GND der aufbau für den 595 hier ausm forum stimmt so weit ja überein (oder hab ich was vertauscht?), leider fehlt mir noch ein einfacher beispiel code. mein programm: 8x { bit für PD0 setzen (oder auch nicht, je nach gewünschtem schaltzustand) bit für PD1 setzen ( steigende flanke erzeugen ) PD1 zurück setzen } dann steigende flanke an PD2 und das ganze in ner endlosschleife hab ich auch schon versucht. habe schon alles mögliche aus dem datenblatt des 595 versucht, leider ohne erfolg. hab auch die bauteile ausetauscht, aber das hats auch nicht gerichtet. wie gesagt, mega8 gibt ein schönes signal auf dem oszilloskop, keine reaktion am 595. wäre euch für eine anfänger-freundliche antwort (wann muss ich wo was an/aus schalten ;) ) sehr verbunden. vielleicht einen kurzen quelltext, der einfach ein paar leds an, ein paar aus schaltet. danke schön
--> mein programm: --> --> 8x --> { --> bit für PD0 setzen (oder auch nicht, je nach gewünschtem --> schaltzustand) --> --> bit für PD1 setzen ( steigende flanke erzeugen ) --> PD1 zurück setzen --> } Hmmm... eigenartige Programmiersprache...
hmpf... ;) naja, hab jetzt mal mein letztes, verzweiflungs programm dran gehängt^^ die wiederholung hatte ich teilweise auch mal weggelassen, teilweise ganz am anfang mal RCK oder SCK gesetzt und und und leider keine wirkliche hilfe das ganze.
In (8051)Assembler würde das ganze so aussehen(Bitfolge ist im Akku): setb clock For Zähler = 8 rlc A mov Datenpin, C clr clock ;fallende Flanke setb clock next setb RCLK ;Daten ins Ausgangsregister übernehmen clr RCLK
@kitesurfer1404: Kann es sein, dass einer oder mehrere der folgenden Punkte auf deine Schaltung zutreffen? - die Schaltung ist auf einem Steckbrett aufgebaut - der HC595 hat keinen eigenen Abblockkondensator spendiert bekommen - der HC595 wird überlastet (lt. Datenblatt max. 75mA gesamt) - die Eingänge des HC595 sind mit den falschen Pins am AVR verbunden - die LEDs sind falsch herum bestückt (Anode / Kathode) Gruß Magnetus
also: ja: die Schaltung ist auf einem Steckbrett aufgebaut nein, (wo muss der hin?): der HC595 hat keinen eigenen Abblockkondensator spendiert bekommen nein: der HC595 wird überlastet (lt. Datenblatt max. 75mA gesamt) (waren nur 2 leds im test dran, keine signale an den ausgängen (multimeter/oszilloskop)) so wie es oben^^ steht, doppelt gecheckt: die Eingänge des HC595 sind mit den falschen Pins am AVR verbunden auch doppelt kontrolliert, keine spannung am multimeter: die LEDs sind falsch herum bestückt (Anode / Kathode)
--> nein, (wo muss der hin?): der HC595 hat keinen eigenen Abblockkondensator spendiert bekommen Den Kondensator (i.d.R. 100nF) direkt an die VCC-/GND-Pins des HC595 hängen. --> ja: die Schaltung ist auf einem Steckbrett aufgebaut Potentielle Fehlerquelle: relativ hohe Übergangswiderstände bei den Federkontakten der Steckbretter (viel Spaß) Ist GND des Controllers auch mit GND des HC595 verbunden? (Klingt vielleicht etwas hirnverbrannt, aber solche Fälle gabs hier auch schon!) Gruß Magnetus
hab an den drähten des hc595 direkt gemessen, weil ich mir so was schon dachte, dass da was nicht richtig verbunden ist oder so. naja, kam auf jeden fall was an. GND ist auch an GND (habe nur ein GND, das auch überall mit ~1 Ohm zu erreichen ist.) versuche das jetzt mal mit den kondensatoren und nem neuen quelltext...
also.... nun geht's lag tatsächlich nur am quelltext. so wie ich es sehe, hatte ich eine steigende flanke, um die bits einzulesen, es wird aber eine fallende benötigt... tja, der teufel ist ein eichhörnchen und steckt im detail und so weiter. vielen dank an alle, die mir weitergeholfen haben!
ach so, die wiederholund ist garnicht nötig, der hc595 hält die pins, bis man ihm was neues gibt. wieder was gelernt :D
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.