19.07.2013 Aufrufe

DCF77- Empfänger mit dem STK500 - schule.at

DCF77- Empfänger mit dem STK500 - schule.at

DCF77- Empfänger mit dem STK500 - schule.at

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4 ÜBUNGSAUFGABEN SEITE 6<br />

4.2 Funktionstest<br />

Erstellen Sie ein <strong>mit</strong> <strong>dem</strong> AVR Studio ein Projekt <strong>mit</strong> <strong>dem</strong> Namen <strong>DCF77</strong>. Als erstes soll die<br />

Funktion des <strong>Empfänger</strong>s überprüft werden: Dazu ist es zweckmäßig, den Ausgang des <strong>Empfänger</strong>s<br />

direkt <strong>mit</strong> den LEDs des <strong>STK500</strong> darzustellen. Um den <strong>Empfänger</strong> zu starten, ist es notwendig, einen<br />

Impuls am PON- Pin zu generieren: Nach <strong>dem</strong> Programmstart und den Initialisierungen 200ms<br />

warten, PON dann auf 1 schalten, wieder 200ms warten, dann wieder auf 0 ziehen.<br />

Die Ferritantenne ist senkrecht in Richtung Frankfurt auszurichten, weiters sollte sie nicht direkt neben<br />

<strong>dem</strong> <strong>STK500</strong> zu liegen kommen, da sonst Störungen eingefangen werden. Nach wenigen Sekunden<br />

sollten die LEDs im Sekundentakt zu blinken beginnen.<br />

4.3 Bestimmung der Impulslänge<br />

Um die Zeitinform<strong>at</strong>ion aus <strong>dem</strong> Signal zu bekommen muss nun zwischen langen und kurzen<br />

Impulsen unterschieden werden. Eine Möglichkeit besteht darin, den INT0 Eingang zu nutzen und bei<br />

jeder Flanke einen Interrupt auszulösen. Es muss nun detektiert werden, ob es sich um eine steigende<br />

oder eine fallende Flanke gehandelt h<strong>at</strong> und abhängig davon eine entsprechende Aktion getroffen<br />

werden. Man kann zum Beispiel bei einer steigenden Flanke einen Timer starten und bei einer<br />

fallenden Flanke den Zählerstand des Timers auslesen. Dieser muss nun <strong>mit</strong> den Toleranzgrenzen für<br />

einen 100ms bzw. einen 200ms Impuls verglichen werden und daraus kann er<strong>mit</strong>telt werden ob es sich<br />

um eine logische 1 oder 0 handelt. Zeigen Sie die Impulslänge als Zahlenwert am LCD-Display an.<br />

4.4 Erkennung des SYNC- Impulses<br />

Der SYNC- Impuls kann z.B. dadurch erkannt werden, in<strong>dem</strong> man bei einer fallenden Flanke den<br />

Zählerstand ausliest und bei einer steigenden wieder – ist die Differenz größer als eine Sekunde, dann<br />

ist es ein SYNC.<br />

4.5 Er<strong>mit</strong>teln der Zeit- und D<strong>at</strong>umsinform<strong>at</strong>ion<br />

Die Zeitinform<strong>at</strong>ion soll nun bitweise zu einem HH:MM:SS Form<strong>at</strong> zusammengestellt und am Display<br />

dargestellt werden. Ebenso das D<strong>at</strong>um in der Form DD:MM:JJJJ in der 2. Zeile des LCD- Displays. Es<br />

ist dabei immer die Prüfsumme über die jeweiligen Bits zu bilden und im Falle eines neg<strong>at</strong>iven<br />

Ergebnisses ist die Inform<strong>at</strong>ion zu ignorieren.<br />

4.6 Realisierung einer Uhr<br />

Unabhängig vom Funkuhrsignal soll eine Uhr realisiert werden, die durch einen Timer im<br />

Sekundentakt hoch zählt und sich bei einem gültigen Empfangsergebnis <strong>mit</strong> der Funkuhrzeit<br />

synchronisiert.<br />

4.7 Alarmfunktion<br />

Erweitern Sie das Programm um die Möglichkeit, eine Weckfunktion einzustellen. Dazu soll ein<br />

Lautsprecher an Port D angeschlossen werden und bei Erreichen der Weckzeit soll ein Wecksignal<br />

ertönen. Hierzu ist eine bedienerfreundliche Realisierung für die Einstellung und Aktivierung des<br />

Weckers erforderlich.<br />

<strong>DCF77</strong>- <strong>Empfänger</strong> <strong>mit</strong> <strong>dem</strong> <strong>STK500</strong> 08.05.2009 F.Doblinger

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!