Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[ARL] Die Echtzeituhr OKI 6242 (MSM 6242)
#1
Information 
Diese Uhr verfügt über 16 4-Bit-Register und liefert neben der Uhrzeit auch noch Wochentag und Datum.

Beim A2000-A hat sie die Adresse SD80000, beim A2000-B und beim A500 SDC0000. Ihre Registerbelegung
sieht folgendermaßen aus:

   
-----

Für die Zeitregister ($DC0000 - SDC0019) gilt:

-> Alle Registerinhalte haben BCD-Format
-> Wenn die Uhr im 12-Stunden-Modus ist, werden die Stunden von 12 AM bis 11 AM und von 12 PM bis 11 PM gezählt, im 24-Stunden-Modus gehen sie von 0 Uhr bis 23 Uhr, das AM/PM-Bit ist dann ungültig.
-> Für den Kalender gelten die normalen Schaltjahre
-> Sonntag ist Wochentag Nr. 0 ($DC0019 = 0), Montag Nr. 1 usw.

Die unterschiedlichen Bits in den Kontrollregistern haben folgende Funktionen

HOLD

Um die Zeitregister der Uhr lesen oder beschreiben zu können, muß das HOLD-Bit auf 1 gesetzt werden. Damit wird verhindert, daß ein Registerübertrag stattfindet, während man die Register gerade ausliest oder ändert. Ein Zählimpuls während HOLD=l wird gespeichert und ausgeführt, wenn man HOLD wieder auf 0 setzt. Da nur ein solcher Übertrag gespeichert werden kann, sollte man HOLD niemals eine Sekunde oder länger auf 1 setzen, da sonst eine Sekunde verlorengeht, was zur Folge hat, daß die Uhr irgendwann einmal nicht mehr Echt-, sondern Falschzeituhr ist.

BUSY

Mit BUSY=0 zeigt die Uhr an, daß jetzt Daten gelesen oder geschrieben werden können, nachdem man HOLD auf 1 gesetzt hat. Die Verzögerung zwischen HOLD=l und BUSY=0 beträgt etwa 190 Mikrosekunden. BUSY kann nur gelesen werden.

IRQ, MASK, INTR, T0,T1

Diese Bits steuern die Funktion des Standard-Pulse-Pins der Uhr. Verbindet man diesen Pin mit einer der Interrupt-Leitungen eines Prozessors, kann der Uhrenbaustein auch noch als Interrupt-Quelle dienen. Dieser Pin ist im Amiga nicht beschaltet, so daß diese fünf Bits keine Auswirkung haben. (In IRQ sollte man bei einem Zugriff auf Control D immer eine 1 schreiben.)

RESET

Mittels RESET=1 wird der Zähler zurückgesetzt, der die Frequenz des internen Quarzes auf 1 Hertz für die Sekunden herabteilt. Damit kann man die Uhr mit anderen Zeitgebern synchronisieren.

STOP

Mit STOP=1 wird obiger Zähler angehalten. Die Uhr steht. Wie der Name schon sagt, kann man mit diesem Bit die Uhr zwischen AM/PM- und 24-Stunden-Modus umschalten. (24/12 = 0 entspricht dem 24-Stunden-Modus.) Allerdings muß man dazu folgende Reihenfolge einhalten:

RESET=1
24/12-Bit auf gewünschten Modus setzen
RESET=0

TEST

Test-Bit, für normalen Betrieb immer auf 0 setzen.
-----

.

if ($ahnung == false or $problem == true)
{ read the fucking FAQ; use SEARCH; load brain; }
else
{ use brain; make post; }

Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste