mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Alarm setzen im pcf8583


Autor: Jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guten morgen bastler,

ich versuche gerade, einen 2313 aus seinem tiefschlaf von einem pcf8583
wecken zu lassen. dass soll über die alarmfunktion des pcf als
interrupt realisiert werden. nun habe ich schon eine weile rumprobiert
und finde aber viele widersprüchliche angaben über die zu setzenden
bits, deshalb hier kurz ein abriss der entsprechenden code-segmente:

zuerst, alarm aktivieren:
I2cwbyte &HA0           'write addres of PCF8583
I2cwbyte &H00           'select control / state register
I2cwbyte &H04           'select enable alarm control register

I2cwbyte &HA0           'write addres of PCF8583
I2cwbyte &H08           'select alarm control register
I2cwbyte &H80           'select alarm interrupt enable

Das war das, was ich in meinem verständniss tun müsste um den
interrupt zu enablen....

damit alles einfach bleibt (ich brauche die uhrzeit nicht wirklich)
setze ich in jedem durchlauf die uhrzeit auf 0.0.:00 zurück

I2cstart                'generate start
I2cwbyte &HA0           'write mode
I2cwbyte 2              'select seconds Register
I2cwbyte 0              'write seconds
I2cwbyte 0              'write minuts
I2cwbyte 0              'write hours
I2cwbyte 0              'write days
I2cwbyte 0          'write months
I2cstop

und dann schreib ich den alarm auf 0 uhr... und 10 sekunden fest

'alarmzeit wird auf +10s gesetzt
I2cstart            'generate start
I2cwbyte &HA0       'write mode
I2cwbyte 10         'select alarm seconds Register
I2cwbyte &H10       'write seconds
I2cwbyte 0          'write minuts
I2cwbyte 0          'write hours
I2cwbyte 0          'write days
I2cwbyte 0          'write months
I2cstop

damit ich in 10 sekunden (oder irgendwann) wieder geweckt werden.
in der int0 service routine setze ich dann nur wieder die neue uhrzeit
und den alarm

============================================================

allein, es will nicht. habe ich noch ein doofes bit vergessen????
mein i2c bus geht, ich kann das 1Hz signal (am IRQ) an- und
abschalten.....

hat jemand vielleicht eine idee????

gruss jack

Autor: Dirk (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Tobias und ich haben mit dem gleichen Chip gekaempft. Im Anhang ein
funktionierender Code. Bei mir zaehlt er im 2 sec takt ... Ich meine es
liegt daran das ich kein Kondensator am quarz habe... Sonst
funktioniert alles.


Das Programm ist fuer Bascom.
Ich gebe keine Garantie fuer irgendwelche Fehler.
Mfg

Dirk

Autor: Jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ihr,

vielen Dank schaue mir den code mal am wochenende an und
teste das alles und lasse euch mal wissen wie es ausschaut...


vielen dank noch mal

jack

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dem Code fehlt noch ein Overlay! Hier in der dritten Zeile... :-)


Declare Sub Gettime()


Dim Tm(5) As Byte At &H60             OVERLAY!!!
Dim I As Byte , Temp As Byte

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich verwende den PCF8583 zum auslesen eines Zeitstempels für meine
Daten nun wollte ich den Interruptausgang INT noch nutzen,dass z.B.alle
5 Sekunden ein Interrupt ausgelöst wird.
Habe die Register schon auf einige Arten beschrieben jedoch am INT tut
sich nichts.
Kann mir jemand sagen mit welchen Werte ich in die Register schreiben
muss also in das control/status und alarm control Register.
Ich habe einige Werte Probiert aber ohne Erfolg hier mal die die ich
denke die richtig sind.
Control Status = 0x04(00000100) und Alarm Control = 0x83(10000011).
Ich hoffe einer hat sich schon Mal damit beschäftigt und kann mir
weiterhelfen.

Gruß

TOM

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat hier wirlich keiner eine Ahnung????????????????

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.