Hallo, ein leicht übertakteter ATmega1284p - 22MHz - generiert ein s/w vollgrafik BAS-Signal (composite video) mit 360x256 Pixeln. Der Beschleunigungssensor BMA020 wird durch den TWI/I2C-BUS ca.100 mal pro Sekunde ausgelesen und das Ergebnis im Diagramm angezeigt. Wird eine Erschütterung registriert, dann wird ein Marker gesetzt und nach ca. 2 Sekunden friert die Kurve mit Zeitstempel ein. Ein Tastendrück erweckt das System wieder zum Leben :-) Drückt man gleichzeitig "TASTE +" und "TASTE -" führt das Assembler-Programm einen Soft-Reset aus. Die Tasten erlauben eine Menuesteurung, auch die Ansprechschwelle, Datum und Zeit ist einstellbar. Bei Programmstart liest das Programm den RTC DS1307 aus, man kann auch auf ihn verzichten. Nach einem Programmstart wird folgendes angemeckert: - fehlender BMA020 - fehlender DS1307 - gedrückte Taste - belegter TWI/I2C-BUS Hinweis: Im TV-Bild unten ist eine wandernde "Laus" zu sehen, das ist eine Sekunden-Markierung, denn die LOOP-Schleife arbeitet unterschiedlich schnell, je nach Bilddatenmenge des Seismografen. LEDs: GRÜN leuchtet: flackert, alles ok (Lebenslicht) GELB leuchtet: ALARM wurde ausgelöst ROT leuchtet: schwerer Fehler, aber Programm läuft weiter Blinken die LEDs, das ist nicht gut ! ROT blinkt: Fehler im Programmcheck ROT+GELB blinken: WDR-Zeitüberschreitung ROT+GELB+GRÜN blinken: unkorrekter Interruptaufruf Besonderheiten Programm: Die Offset-Werte des BMA020 werden minütlich vorsichtig korrigiert, um z.B. den Einfluss des Mondes auf die Erdanziehungskraft zu kompensieren. Um wertvolle Takte zu sparen, wird bei der Bild-Generierung untersucht, ob eine TV-Zeile Daten enthält, wenn nicht, dann wird sofort die Bild-Interrupt-Routine verlassen. Verschachtelte Interrupts sind eingebaut. Ein zusätzlicher Timer ermöglicht eine Taktkorrektur, um das Jittern des Bildes zu unterbinden. Bildspeicher=45Bytes/Zeile x 256Zeilen=11.520Bytes Permanent werden diverse Register und SRAM-Werte auf Plausibilität geprüft. Der 22x10 ASCII-Zeichensatz (16x24) ist in der Tabelle hinterlegt, kann bei Bedarf geändert werden, ein ASCII-Zeichen wird auf dem Monitor so dargestellt, wie es in der Tabelle optisch zu sehen ist, ein spezieller FONT-Generator ist nicht zwingend erforderlich. Bernhard
:
Bearbeitet durch User
@alle Diese Version speichert bis zu 60 Ereignisse im EEPROM 24FC1025. Das Assembler-Programm kommt auch ohne externen EEPROM oder/und RTC zurecht. Bernhard
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.