Forum: Mikrocontroller und Digitale Elektronik DCF-Uhr mit Alarmfunktion


von Andy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Ich hab folgendes Problem; Ich hab ein Programm geschrieben (mit BasCom
AVR) um das DCF77-Signal zu empfangen und auszuwerten. das klappt auch
wunderbar. Auch die Alarmfunktion klappt super. Nur Resetet sich mein
8581 alle ppar Minuten oder fängt auf einmal an irgendwelche
undefinierbare Zeichensätze auf dem LCD-Display durchlafen zu lassen.
Den Grund kenn ich nicht und ich hoffe ihr könnt mir helfen. Es könnte
auch sein, dass mein Code falsch oder umständlich ist, ich kenn mich
nochnicht so gut mit Bascom aus.

Grüsse Andy

von jesper (Gast)


Lesenswert?

ein end würde ich am Ende setzen.
zeile 309 steht: end sub anzeige ?
sonst läuft es, im simulator jedenfalls.
hilft das weiter?

von jesper (Gast)


Lesenswert?

nachtrag:
config lcd habe ich in eine zeile gesetzt, datenrichtungsreg port b für
lcd auf ausgang

von Andy (Gast)


Angehängte Dateien:

Lesenswert?

@ jesper

Danke für die End sub - info. ich hab nun nochmal das cls in zeile 122
von 9 auf 10 geändert. jetzt läuft es zumindest mal ca. 4 minuten
konstant, dann resetet er jedoch wieder und setzt alles auf null.
könnte es auch hardwareproblem sein? (.brd liegt bei) das board wird
bald die platine. ist jedoch zur zeit nur auf einem testboard

von Jesper (Gast)


Lesenswert?

Das Relais würde ich weiter vom Prozessor platzieren (Kontakt
Impulse)oder elektronisches Relais. Den Quarz näher ran, und der
DCF-Empänger strahlt bestimmt auch ein bischen rum, also weiter weg
damit.

von Jesper (Gast)


Lesenswert?

Das Relais ohne Treibertransistor, ohne Freilaufdiode? Zieht das an?
Die Taster ohne Pul_up_down_widerstände?

von Andy (Gast)


Lesenswert?

okay werd ich ändern. auf meinem Testboard habe ich einen Abstand von
ca. 15cm zwischen 8515 und DCFempfänger. das sollte genügen.

von Andy (Gast)


Lesenswert?

ja ich hab ein relais mit 2 spulen die ich jeweils entgegengesetzt
ansteuer. das relais hat eine betriebsspannung von 5v. ich nehme
entprellte taster, oder für was die pull-up-widerstände..?

von Jesper (Gast)


Lesenswert?

wenn die Int_Eingänge freihängen, genügt ein Störimpuls vom Staubsauger
und so'n Taster meint, es hätte ihn jemand gedrückt.
Wusst gar nicht, dass die Ports so'n Relai direkt treiben können, und
'ne Diode würde die Umkehrfunktion beeinträchtigen...

von Andy (Gast)


Lesenswert?

das mit dem relai, so wurde mir gesagt würde auf die dauer zur
schädigung des µC führen. aber jetzt gehts ganz gut. zumindest mit
einem anderem programm ohne DCF-Empfang. Das Hauptanliegen liegt im
moment an der störungsfreien Uhr. Das Relais kann man ja leicht
einbaunen. könnte man doch nur erfahren wieso der 8518 machmal alles
auf null zurücksetzt...

von Jesper (Gast)


Lesenswert?

naja, weil er neu startet, die Variablen werden am Anfang zu Null oder
auf andere Werte gesetzt.
Ev. solltest du in den Interuptroutinen weitere Interupts verhindern
nach Abarbeiten  am Ende wieder freigeben.

von Andy (Gast)


Lesenswert?

er startet machmal willkürlich neu. das ist mein problem.
du meinst ich soll interrupts deaktivieren wenn das eine an ist und
wieder aktivieren wenn das andere an ist, oder? also

Int1=>an;Int0=>Aus dann Int1=>aus;Int0=>an? (zeile 313-327)

von k.m. (Gast)


Lesenswert?

hallo
nach nun mehr als 1 1/2 jahren bin ich hier auf dem forum gelandet.
wollt mir deinen code mal laden und compilieren,musst aber feststellen
das dieser für die demoversion von bascom zu groß ist.
frage:
kannst du mir das hex-file zukommen lassen,wollt deinen code gerne
mal ausprobieren und testen.
oder füge ihn hier im forum ein,können ja alle davon profitieren.

danke k.m.

p.s. hast dein problem schon lösen können.

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.