Pfad: Home => AVR-DE => Anwendungen => DCF77-Empfänger => Geregelter OpAmp => Anzeige ATmega48   This page in English: Flag EN
DCF77 receiver logo Anwendungen von
AVR-Einchip-Mikrocontrollern AT90S, ATtiny, ATmega und ATxmega
Anzeige für geregeltem OpAmp async-Signale mit ATmega48
Logo
Dieses Projekt ist experimentell. Ich bin nicht sicher, ob und wie es funktioniert. Die Software dafür ist noch in Arbeit. Nachbau auf eigene Gefahr!

4.7 DCF77-Anzeige für Sync-Signale vom geregelten Operationsverstärker mit ATmega48

Der DCF77-Geradeausempfänger mit dem geregelten Operationsverstärker gibt am Pins 3 auf Wunsch ein asynchrones serielles Signal ab. In diesem Teilprojekt werden diese asynchronen Signale empfangen, ausgewertet und auf einer LCD angezeigt. Damit kann eine Anzeige von Datum und Uhrzeit auf einer beliebigen LCD erfolgen und es können Statusmeldungen des DCF77-Empfängers dargestellt werden.

4.7.1 Benötigte Hardware

LCD-Anzeige mit ATmega48 Um nicht in die allzu große Tiefe abzugleiten und einen Empfangsalgorithmus für asynchrone serielle Kommunikation schreiben zu müssen, wählen wir hier einen AVR, der eine serielle Schnittstelle an Bord hat. Das kann ein ATtiny2313, ein ATmega8 oder, wie hier gezeigt, ein ATmega48 ganz mühelos.

Wer seine Uhr auch ohne DCF77 ganz genau haben will, braucht natürlich einen Quarz als Taktgeber. Da der ATmega48 dann aber keinen vollständigen 8-Bit-Datenbus für die LCD hat, habe ich hier mal auf diese Genauigkeit verzichtet. Wer das unbedingt haben will, steigt auf einen 40-poligen ATmega324 oder ähnlich um, wie hier gezeigt.

Die seriellen Signale werden am RXD-Pin von Mega48 aufgesammelt. Da zwischen dem ATtiny25 im geregelten Operationsverstärker und dem ATmega48 hier keine invertierenden Zwischenstücke liegen und weil für eine kurze Verbindung zwischen ATtiny25 und ATmega48 eine RS232-Schnittstelle überkandidelt wäre, stellen wir den ATtiny25 auf nicht-invertierte asynchrone Signalausgabe ein und verbinden den Data-Ausgang direkt mit RXD und den Clock-Eingang (Clear-To-Send) an Pin 7 direkt mit PD1. Nachdem der ATmega48 seine Auftaktveranstaltung absolviert hat und empfangsbereit ist, legt er PD1 dauerhaft auf High und regt damit den ATtiny25 zum Senden an.

An den Pins PD2 und PD3 liegen zwei Tasten an. Diese dienen dazu, die Uhr auch ohne DCF77-Signal auf die korrekte Zeit einzustellen. Key1 startet mit dem INT0 den Einstellvorgang, am Poti, der an ADC0 hängt, werden dann die Stunden eingestellt. Sind die Stunden ok, wird Key2 (INT1) betätigt und die Minuten eingestellt. Ist beides ok, lässt ein weiterer Tastendruck mit den Sekunden auf Null die Uhr loslaufen.

Die LCD hängt mit ihrem Datenbus am Port B, mit ihren drei Kontrolleingängen am Port D (PD5 bis PD7. Angeschlossen werden kann jede beliebige LCD, deren Anzahl Zeilen und Spalten bestimmen dann über die verfügbaren Darstellungsarten. Diese Einstellung wird im Quellcode vorgenommen.

Berechnungsgrundlagen für das Projekt sind in der Libre-Office-Calc-Datei hier angegeben.


©2021 by http://www.avr-asm-tutorial.net