Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo André, > > danke für den Tipp. > > Es lag am Kondensator. > Ich habe jetzt einen 10pF eingebaut. > Läuft perfekt. > > MfG > Tieli > > > > Hallo Tieli, > > > > Zuerst: Ein Ausrufezeichen im Betreff reicht. Dein Posting wird schon nicht übersehen. :-) > > > > Hast Du zum Quarz auch einen Trimmerkondensator, wie im Datenblatt des PCF8583 > > beschrieben, zwischen OSCI und VDD gesetzt. Sonst schwingt der Quarz nicht an. > > Ich habe den PCF8583 gerade angeschlossen und dies auch festgestellt. Da ich keinen > > Trimmer zu Hand hatte, habe ich einen Keramikkondensator mit 22pF benutzt. > > Der Quarz hat erst nach ca. 1 Minute angefangen zu schwingen. Ich weiß nicht, ob diese > > mit einem Trimmerkondensator schneller anfängt zu schwingen. > > > > Hier das kleine Testproggie: > > Es gibt die Uhrzeit(hh:mm:ss) des PCF8583 an der seriellen > > Schnittstelle aus (Hyperterminal, 57600Baud). > > Die Adresse für den PCF8583 ist auf 162/163 gesetzt (A0 auf VDD). > > Wenn Du A0 auf GND hast mußt Du diese auf 160/161 ändern. > > > > thread main > > /* requires: i2c.c2, hwcom.c2 V2.x */ > > {byte sec,min,std;string s; > > hwcom.init(); > > hwcom.setspeed(8); > > hwcom.put(12); > > loop > > { > > i2c.start(162); > > i2c.write(0x02); > > i2c.start(163); > > sec=i2c.read(); > > min=i2c.read(); > > std=i2c.readlast(); > > i2c.stop(); > > s=((std shr 4) +0x30) + ((std & 0xf) +0x30); > > s=s + ":"; > > s=s + ((min shr 4) +0x30) + ((min & 0xf) +0x30); > > s=s + ":"; > > s=s + ((sec shr 4) +0x30) + ((sec & 0xf) +0x30); > > hwcom.put(12); > > hwcom.print(s); > > sleep 995; > > } > > } > > > > > > MfG André H. > > > > > > > > > Hallo alle zusammen, > > > > > > ich habe mir den PCF 8583 gekauft, das Modul pcfuhr heruntergeladen und eine Uhr programmiert (Anlage). > > > > > > Ich habe, wie im Datenblatt beschrieben, einen 32768Hz Quarz an OSCI und OSCO angeschlossen. > > > > > > Wenn ich jetzt die Systemzeit in den PCF lade und dann die Systemuhr neu abgleichen will, läuft die Uhr ab der zuletzt gespeicherten Zeit weiter!!!!!! > > > > > > Der PCF arbeitet also nicht. > > > Er arbeitet zur Zeit nur als Speicher. > > > Wenn ich 12:12:12 in den PCF einlese, 1 Minute warte, und die Systemuhr mit dem PCF abgleiche, müsste eigentlich 12:13:12 als Zeit angezeigt werden. > > > Aber die Systemuhr startet beim PCF-Abgleich wieder bei 12:12:12. > > > > > > Ich habe mit dem Ozilloskop am Quarz genau 50Hz gemessen, nicht 32768Hz, warum?????? > > > > > > Ist der PCF defekt? > > > > > > Anbei mein Uhrprogramm. > > > > > > Wenn ich die Taste 7 drücke, wird die Systemzeit in den PCF geladen. > > > Wenn Taste 3 gedrückt wird, wird die Systemzeit mit der PCF-Zeit aktualisiert. > > > > > > Allerdings wird auch das Jahr genullt! > > > > > > Ist das Modul pcfuhr defekt? > > > > > > Danke für Eure Hilfe. > > > > > > thread main > > > { > > > lcdext.init(); > > > i2c.init(); > > > > > > byte a; > > > int s,m,h,t,mo,j; > > > string zeit,datum; > > > > > > loop > > > { > > > s=system.second(); > > > m=system.minute(); > > > h=system.hour(); > > > t=system.day(); > > > mo=system.month(); > > > j=system.year(); > > > > > > str.putintf(zeit,h,2); > > > str.putstring(zeit,":"); > > > str.putintf(zeit,m,2); > > > str.putstring(zeit,":"); > > > str.putintf(zeit,s,2); > > > > > > lcdext.print(zeit); > > > str.clear(zeit); > > > > > > lcdext.goto(1,0); > > > > > > str.putintf(datum,t,2); > > > str.putstring(datum,":"); > > > str.putintf(datum,mo,2); > > > str.putstring(datum,":"); > > > str.putintf(datum,j,4); > > > > > > lcdext.print(datum); > > > str.clear(datum); > > > > > > lcdext.home(); > > > > > > if tast.taste()==3 > > > {a=1; > > > pcfuhr.get_I2C_time (a); > > > } > > > sleep (200); > > > a=0; > > > > > > if tast.taste()==7 > > > {pcfuhr.set_I2C_time ();} > > > sleep (200); > > > > > > } > > > > > > > > > > > > } > > >