Untitled
Untitled
Untitled
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3.4.9 Beispiele fUr Lesen und Stellen<br />
der Uhr<br />
Die folgenden Erlauterungen sollten Sie<br />
ruhig einmal mit Hilfe des Programms<br />
12C-EXPER.HILFE nachvollziehen. Nur<br />
wenn Sie die Programmierung des Bausteins<br />
verstehen, werden Sie selbst aile<br />
Mbglichkeiten der Schaltung ausnutzen<br />
kbnnen.<br />
Wenn Sie aus dem Uhren-/Kalenderbaustein<br />
Informationen lesen wollen, miissen<br />
Sie zunachst genau bestimmen, mit wel<br />
cher Information zu beginnen ist. Nehmen<br />
wir einmal an, uns interessieren die<br />
Stun den und Minuten der laufenden Zeit.<br />
Dazu miissen wir mittels der Subadresse<br />
den Adrel3zeiger auf das Stundenregister<br />
stellen.<br />
Zuerst einmal wird das Adrel3byte des<br />
PCB 8573 fiir Schreiben gesendet:<br />
11010000 .<br />
Danach folgt das Subadrel3byte fiir<br />
Zeitzahler-Stunde. Dies ermitteln Sie aus<br />
Bild 3.14:<br />
00000000<br />
(ganz oben). Die beiden gefundenen Werte<br />
werden iibermittelt. Der Uhren-/Kalenderbaustein<br />
sendet keine Werte zuriick,<br />
Zehner<br />
zu Ta kt 1 2 3 4<br />
Datenwort aus UD UC US UA<br />
Stunde 0 0 d d<br />
Minute 0 d d d<br />
Tag 0 0 d d<br />
Monat 0 0 0 d<br />
5<br />
LD<br />
d<br />
d<br />
d<br />
d<br />
Ein [ 2 C-Bus am C 64 177<br />
aber nun steht sein interner Adrel3zeiger<br />
auf dem gewiinschten Wert.<br />
Daraufhin fangen wir neu an und senden<br />
die Adresse des PCB 8573 zum Lesen:<br />
11010001 ,<br />
also nur 1 Byte. Der Uhren-/Kalenderbaustein<br />
antwortet jetzt mit so vielen Datenbytes,<br />
wie wir haben wollen. Fordern Sie<br />
ruhig einmal zehn an (1m Experimentierprogramm<br />
»Anzahl der erwarteten Antwortbytes«:<br />
10).<br />
Das Format, in dem die Ziffern kodiert<br />
sind, zeigt Bild 3.15. Es handelt sich hier<br />
urn BCD-Zahlen. Das ist die Abkiirzung<br />
fiir Binary Coded Decimals, also binar<br />
codierte Dezimalziffern. In den oberen<br />
und unteren 4 Bit des Datenwortes, den<br />
beiden Nibbles (Halbbytes), werden dabei<br />
jeweils die Zehner und Einer einer zweistelligen<br />
Zahl gespeichert. 1m ersten Byte<br />
erhalt man so die ausgelesenen Stunden.<br />
Die Dezimalzahl 10 beispielsweise wird<br />
nun nicht mehr dargestellt durch die achtstellige<br />
Dualzahl<br />
00001010 ,<br />
sondern durch die Darstellung der 1 in der<br />
oberen Halfte des Datenwortes, und einer<br />
o in der unteren Halfte, also:<br />
1 0<br />
0001 0000<br />
Einer<br />
6 7 8<br />
LC LS LA<br />
d d d<br />
d d d<br />
d d d<br />
d d d<br />
Zustand von 0 0 0 MIN SEC NODA COMP POWF Bild 3.15: Codierung der Informalionen<br />
beim PCB 8573<br />
d � Datenbits