Forum: Mikrocontroller und Digitale Elektronik Bascom, SPI, Kaskadieren 74HC595


von kollimann (Gast)


Lesenswert?

Hallo und gleich am Anfang SORRY für die Überschrift, ich wußt wirklich 
nix anderes. Weiterhin möchte ich mich im Vorfeld entschuldigen das ich 
Links aus anderen Foren post, leider hab ich aber keinerlei andere 
Quellen.
Danke für Euer Verständnis.

Zum Problem
Was habe ich, Bascom als Soft, Atmega8 und irgendwelche chinesischen LED 
Röhren die ich gern steuern möchte.
Nach dem Zerlegen der Röhren kamen verschieden ICs zum Vorschein, ein 
"Controller" oder besser ein IC der das Eingangsignal entgegen nimmt. 
Der ist schonmal abgelötet, da ich darüber garnix bzw. sehr wenig finden 
konnte.
Dann kommen ICs 3Stk vom Typ 74HC595 die wie hier beschaltet sind oder 
sich so beschalten lassen.
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
unter Kaskadieren zu finden
an den Ausgängen hängen einige Widerstände und Transistoren.

Gut nun zur Sache, ich habs noch nie gemacht und hoffe ihr könnt helfen.
Wenn ich das in den Atmega gebe
' SERiell nach PArallel (serpa) mit Hardware-Unterstuetzung
' Beispiel mit 2 Datenbytes

' SPI Bus (Hardware) als Master konfiguiren
Config SPI = Hard , Master = Yes

' SPI Bus initialisieren
' setzt das DDR Register entsprechend
Spiinit

' Bytes für die Daten
Dim Serpa(2) As Byte
Serpa(1) = &B10101010
Serpa(2) = &B00000000

' Die Bytes auf den SPI Bus schieben
Spiout Serpa(1) , 2

zu finden unter 
http://www.roboternetz.de/wissen/index.php/Portexpander_am_AVR
ganz unten bei Bascom Code

dann flackert alles wie wild, ausserdem ist meine Röhre andersrum, also 
an den Strom anstecken bedeutet ALLES leuchtet obwohl der Atmega noch 
ohne Saft ist.
Nun müsste ich warscheinlich erstmal alle Ports zumachen mit meinem 
Atmega das alles ausgeht, und dann so hoffe ich kann ich mit dem obigen 
Code und der richtigen "Serpa(1) = &B10101010" das erste Segment bzw den 
ersten Ausgang des 74HC595 anmachen.

Wäre jemand so lieb mir das zu erklären bzw. mir ein Stück Bascom Code 
zu geben das ich das malt testen könnte?

Oder hab ich bisher alles völlig falsch interpretiert bzw. verstanden?

Besten Dank kollimann

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.