Hallo, bin absoluter Programmierneuling, brauche aber dringend Hilfe. Mein Problem: ich will den Uhrenbaustein PCF 8583 mit dem Atmega16 zusammen benutzen und mein Problem ist nun, wie kann ich die aktuelle Zeit über den MC an meine 72 LED´s (Kreis mit 60 LED´s für Minuten und Sekunden und zweiter Kreis mit 12 für Stunden) ausgeben. Meine Idee, das ganze mit 72 if Schleifen zu machen ist sicher sehr schlecht, aber ne bessere Idee ist mir noch nicht gekommen. Ich habe mal den Schaltplan in Eagle als Anhang rangehängt, damit vielleicht mein Problem deutlicher wird. Wäre toll, wenn mir jemand eine Idee geben könnte. Ich mach das ganze übrigens in C Vielen Dank, Caro
wie gibt der 8583 dir denn die zeit zurück, d.h in welchem format. hab gerad keine lust datenblätter zu lesen
als 8 bit Wort in Hexadezimal -> bei z.b. 15 Minuten: 0001 0101 bei Sekunden genauso, nur bei Stunden ist es xx10h 1h Glaube das heißt BCD Code
Schau mal in die Codesammlung. Dort findest du meinen C-Treiber für dieses IC. Ist zwar für einen PIC, aber das portieren dürfte nicht allzu schwierig sein. Gruß Stephan
Hallo, ich glaube nicht, das es um einen Treiber für das IC geht. Vielmehr geht es darum, wie man den BCD-Code aus dem IC in einen "1 aus 60" Code der Minuten (Sekunden) oder "1 aus 12" Code der Stunden überführt. @Carolin: Du könntest auch Zeit und Kalender im AVR direkt programmieren (Code gibts im Forum). Dann kannst Du auf den Uhrenbaustein verzichten. (Wenn Du kein Batterie Backup benötigst). Dann könnntest Du die LEDs mit Schiebeoperationen ansteuern. Wenn Du den Uhrenbaustein Uhrenbaustein unbedingt verwenden willst, dann könntest Du das vielleicht über eine Tabelle lösen. (Also Anzahl der Sekunden ermitteln und in einer vorher angelegten Tabelle unter Punkt 15 dann die Bitkombination speichern.) Das ist mal so ins unreine gesprochen. Gruss Andreas
über schieberegister gehts auch noch einfacher. alle hintereinander hängen bei 0 ein sgnal anlegen und einmal takten und danach nur noch bei jeder veränderung der zahl (die eigentlich zahl ist dann egal) eins weiterschieben. sollte ja eigentlich syncron laufen
Hallo, danke für die vielen Tipps. @Stephan: Habe mir deinen Code angeschaut. Nur mein Problem ist, dass ich nicht weiß, wie ich jetzt dieses BCD Wort in eine c schleife oder ähnliches verpacke um dann die LED´s blinken zu lassen. Den Uhrenbaustein brauche ich denke mal schon, weil ich mit dieser Uhr noch was machen möchte, und zwar, ist Sinn dieser ganzen Sache eine Uhr zu bauen, die je nachdem wie rum der Stecker in der Steckdose steckt(analogteil jetzt nicht ersichtlich) einmal vorwärts und einmal rückwärts laufen soll. Und dafür muss ich ja öfter die aktuelle Zeit auslesen. Hoffe auf weitere gute Tipps und Ideen, Danke
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.