[1] Die Stellung der Schalter S3 - S0 soll andauernd über Port C [3:0] eingelesen, über Port C [7:4] ausgegeben und als einstellige Sedezimalzahl angezeigt werden. Dazu ist die 7-Segment-Anzeige A1 (mit Decoder) zu verwenden. Die Initialisierung des Ports C soll als Unterprogramm (PINI) formuliert werden.
[2] Die Stellung der Schalter S3 - S0 soll andauernd über Port C [3:0] eingelesen, zusätzlich zu [1] über Port B [6:0] ausgegeben und als einstellige Sedezimalzahl angezeigt werden. Dazu ist die 7-Segment-Anzeige A5 (ohne Decoder) zu verwenden. Die Umcodierung des anzuzeigenden Wertes ist als Unterprogramm ENCO zu formulieren:
Übergabeparameter:
(B) = anzuzeigende 4-stellige Dualzahl rechtsbündig
Rückgabeparameter:
(B) = Bitmuster für Segmente a-g rechtsbündig
[3] Ein dualer mod-16-Zähler ist mit einer Frequenz von 1 Hz zu betreiben. Seine aktuelle Stellung ist als einstellige Sedezimalzahl unter Verwendung des Unterprogramms ENCO anzuzeigen. Mittels der Taste T0, die am Eingang STRA des M68HC11 anzuschließen ist, kann der Zähler gestartet oder gestoppt werden (toggle).
[4] Zur Beeinflußung des Zählers aus [3] ist die Stellung der Schalter S3 - S0 des Experimentier-Boards zu übernehmen (Port C [3:0]). Der eingelesene Wert stellt die Zählerfrequenz in Hz dar, wenn er größer 0 ist. Der Wert 0 führt zu einem Blinken der Anzeige mit 2 Hz (kein/alle Segmente). Verwenden Sie hierfür ein eigenes Unterprogramm namens BLINK.
Anmerkung: Das Umrechnen der Frequenz in die Periodendauer kann auf zweierlei Weise geschehen, durch (Integer-)Division oder durch eine Tabelle. Überlegen Sie die beiden Lösungen und vergleichen Sie sie hinsichtlich Speicheraufwand und Laufzeit. Programmieren Sie dann eine der beiden Lösungen.