LED Uhr mit 74HC595 und ATmega32

OP #3710261
Lesenswert?

Hallo,
ich muss für die Schule ein Projekt in Fach Mikrocontroller durchführen. 
Ich habe mir ausgesucht eine LED Uhr zu bauen und zu programmieren. Die 
Uhr besteht aus 132 LED's, die mit einem 74HC595 angesprochen werden 
sollen. Also Controller kommt ein ATmage32 zum Einsatz. Die Uhr selbst 
und die Platinen sind fertig, ich hänge momentan aber daran, wie ich 
diese an meinem Controller anschließe und wie ich ein Schieberegister in 
C "programmiere". Ich werde leider auch nicht aus den Tutorials schlau.

Ich würde mich riesig freuen, wenn mir jemand bei der Initialisierung 
eines Schieberegisters in C helfen könnte und mir eventuell ein Beispiel 
geben kann, wie ich so eine LED anschalte. Die restlichen LED's wären 
dann ja nur noch Transferarbeit.

Ich hoffe irgendjemand kann mir helfen.

Anbei ein Bild der Uhr im inneren, sowie ein Bild des Schaltplans der 
einzelnen Platinen. Insgesammt habe ich 3 Platinen. Jeweils eine für 
Stunden, Minuten und Sekunden.
Angehängte Dateien:
#3710346
Lesenswert?

Die Frage ist, wo genau dein Problem ist, bei der Ansteuerung des 
Schieberegisters oder bei der Abstraktion der Daten und was du in das 
Schieberegister hineinschreiben sollst.

Hast du schon etwas in das Schieberegister hineinbekommen, also 0/1/0/1 
oder so etwas ähnliches und das bei den LEDs gesehen?

Im wesentlichen solltest du dir klar machen, was folgende Pins am 
Schieberegister bewirken, wie sie angeschlossen sind und was du dort vom 
Mikrocontroller aus gesehen anlegen must, das etwas passiert.

MR 10 master reset (active LOW)
SHCP 11 shift register clock input
STCP 12 storage register clock input
OE 13 output enable input (active LOW)
DS 14 serial data input

Insbesondere, wann muss bei SHCP, STCP etwas passieren und wie, wie muss 
MR und OE im normalen Betrieb beschaltet sein. Am Besten du schreibst 
einmal runter, was du mit diesen Eingängen machen würdest, dann kann 
dich jemand hier korrigieren, wenn du es falsch machst.

Alles vorkauen ist aber auch nichts, denn du sollst es auch verstehen.
#3710378
Lesenswert?

So ein 595 Schieberegister ist eigentlich eine ganz einfache Sache.
Lies dir doch hier
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
mal die Beschreibung durch, wie das ganze prinzipiell funktioniert.

> Ich würde mich riesig freuen, wenn mir jemand bei der
> Initialisierung eines Schieberegisters in C

Am 595 gibts nichts zu initialisieren. Der Baustein arbeitet nach dem 
Anlegen der Versorgungsspannung einfach so.
Wenn du ihn komplett per Software ansteuerst, brauchst du einfach nur 
die Pins am Mega, an denen die SR-Eingänge liegen auf Ausgang schalten 
und schon kannst du loslegen.
Wenn du das Hardware SPI Modul zur Ansteuerung nimmst, dann musst du 
eben das im Mega initialisieren. In deinem Fall würde ich allerdings 
erst mal zu einer Software Ansteuerung greifen. Denn die kannst du 
leicht verstehen und vor allen Dingen kannst du, falls die Ansteuerung 
nicht funktioniert, das Pinwackeln dann so langsam wie notwendig machen 
um dir mit ein paar LED an den Leitungen die Zustände anzeigen zu lassen 
und mit dem vergleichen wie es eigentlich sein sollte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren