Forum: Mikrocontroller und Digitale Elektronik PCF Interrupt jede Sekunde in atmega auslösen


von iGast (Gast)


Lesenswert?

Hallo,

habe in diesem Forum sowie im AVR-GCC Tutorial schon nach einer Lösung 
gesucht, habe aber noch keine Antwort gefunden.

Ich möchte mit dem PCF8583 jede Sekunde einen Interrupt auslösen, um das 
Display zu aktualisieren. Auslesen und Anzeigen der Uhrzeit auf dem 
Display läuft. Für den PCF8583 nutze ich die Codes von Frank Nitzsche 
V1.1.

Nun muss ich ja zuerst die Register im PCF8583 konfigurieren. Im Code 
habe ich dazu folgendes geschrieben:



Write_RTC_RAM(PCF8583_CTRL_STATUS_REG,02); // Adresse 00h
Write_RTC_RAM(PCF8583_ALARM_CONTROL_REG, 11)// Adresse 08h


Muss ich den ein anderes Register auch noch laden? Sind die Angaben im 
Control und Alarm Register so richtig?

Und wie lese ich nun den Interrupt im Atmega32 ein? Woher bekomme ich 
den Interrupt fürs Programm?

von iSoftRTC (Gast)


Lesenswert?

iGast schrieb:
> Und wie lese ich nun den Interrupt im Atmega32 ein? Woher bekomme ich
> den Interrupt fürs Programm?

Da wirst du dir wohl einen I/O-Pin vom µC verwenden müssen, der vom 
open-drain interrupt output des PCF8583 agestoßen wird und dann per 
Pin-Change-Interrupt alles weitere veranlaßt. Aber warum nimmst du für 
den µC nicht eine Software-Uhr, die nur nach einem Reset anhand der RTC 
gestellt wird?
Beitrag "Die genaue Sekunde / RTC"

von iGast (Gast)


Lesenswert?

Hallo,

ja, die genaue Sekunde wäre eigentlich auch eine Möglichkeit gewesen. 
Nun habe ich aber schon den pcf8583 auf der Platine. Er funktioniert ja 
auch soweit, jedoch scheitere ich daran, den pcf so einzustellen, dass 
jede Sekunde der PIN7 (INT Signal liegt am PINC2 des Atmega32) ein 
Signal ausgibt.

Wie muss ich das Control Status Register (Adresse 00h), Alarm Control 
Register (Adresse 08h) einstellen?

habe es bisher wie folgt schon versucht aber ohne Erfolg:
Control Status mit 02h
Alarm Control mit 08h
und Alarm seconds (Adresse 0Ah) mit 01h

Aus dem Datenblatt werde ich auch nicht ganz schlau.

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
Noch kein Account? Hier anmelden.