Hallo Tipfix,
nicht für alle Probleme gibt es bereits "vorgekaute" Lösungen in BASCOM aber das ist auch kein Problem denn ich glaube - bin mir ziemlich sicher - dass Du das auch allene hinbekommst.
Neee, keine Angst, mit alleine meine ich nicht, dass ich Dich im Stich lasse sondern ich meine damit ...
... Vor den Erfolg haben die Götter den Schweiß gesetzt
Uns außerdem, wenn es dann funktioniert und man es selbst hinbekommen hat, dann freut "mann" sich doppelt. Aus diesem Grund werde ich Dir diesmal keine Lösung vorzaubern sondern wir zaubern gemeinsam. OK? Ich liefere Dir die Zaubersprüche und die Werkzeuge und den Zauber ausführen darfst Du selbst. Einverstanden?
Also, zunächst habe ich folgendes dazu zu sagen:
Du solltest Dir eingehend das Datenblatt verinnerlichen. Falls Du kein vernünftiges Datenblatt hast so schaue doch mal unter
www.datasheetcatalog.com
Die haben so ziemlich alles als downloadbares PDF. Von besonderm Interesse dürfte dabei das Logik-Diagramm und die Zustandtabelle der Pin's inkl. Pegel an. Über die Zustandstabelle bekommst Du sehr schnell auch die Funktionsweise raus. Schaus Dir genau an und wenn Du nochmal Fragen hast dann melde Dich wieder.
Weiter!
Über Timings usw. machen wir uns erst mal überhaupt keine Gedanken. Soweit sind wir nämlich noch nicht. Als erstes solltest Du Dir die benötigten freien PIN's Deines Megas raus suchen und festlegen. Ich behaupte jetzt einfach mal - ohne Deinen genauen UseCase zu kennen - dass Du 5 Pin's vo Mega spendieren musst um die voll Funktionalität des 74HC595 auszunutzen.
Vieleicht erzählts Du uns auch ein bissle darüber, was Du damit realisieren möchtest.
Unter Umständen lässt sich dann der eine oder andere PIN direkt via HW auf einen bestimmten Pegel fixieren.
Überlege Dir ob Du Eingänge und Ausgänge vom Mega benötigst oder wie der IC am besten angeschlossen wird. Kleiner Tipp
Ich würde 5 Ausgänge verwenden. Überprüfen und bestätigen musst Du mir die Aussage!
So.....
Wenn der 595 erstmal am Mega hängt und nicht gleich explodiert
dann kannst Du Dir Gedanken über BASCOM machen. Hierfür ein paar Gedanken:
- Die Ansteuerung des 595 machen wir selbst zu Fuß, das ist kein Problem
- Fertige Lösungen sind langweilig
- also, Ports bzw Pins konfigurieren
- Beachte das alle Pins des Mega bei Reset "Tristate" = hochohmig werden und damit undefiniert Zustände annehmen können. Du solltest also ggf. (je nach Anwendung PullUp oder PullDown Widerstände vorsehen.
- Einige Funktionen des 595 wirst Du mir RESET bzw. SET Funktionen auf die von Dir definierte PINs umsetzen müssen.
- In welcher Reihenfolge die Pin's zu toggeln oder zu setzen/rückzusetzen sind häng davon ab, was Du machen möchtest. Hierbei hilft Dir das Timing Char aus dem Datenblatt.
Sooooo....
nun wirst Du mir sicherlich die wichtigste Frage stellen, nämlich, wie bekomme ich die Daten in den Chip. Richtig?
- Schau Dir bitte hierzu mal den Befehlt SHIFTOUT von BASCOM an. Dieser kleine unscheinbare Befehl dürfte nämlich schon die meisten Hausaufgaben erledigen. Er müsste alles können was Du brauchst. Probiers aus!
- Das bissle Bitgezappel drum herum ist dann noch schnell erledigt!
Was hältst Du von diesem Ansatz? Am besten Du steckst das Ding an einem Steckbrett mal zusammen und hängst an jeden Ausgang des 595 eine LED und los kann die Spielerei gehen. Auf diesem Weg kannst Du Dir eine eigene kleine universelle Funktion oder Subroutine für BASCOM schreiben.
Ich hoffe ich konnte Dir erstmal weiterhelfen. Für weitere Fragen wenn Du hängen bleibst stehe ich gerne zu Verfügung. Ich bin gespannt auf Dene Lösung.
Viel Spass beim Entwickeln!
Und los......
Markus