![]() |
MikrocomputertechnikProf. Jürgen Plate, Prof. Peter Schwalb |
[1] Ein 2-stelliger Hex-Zähler ist mit einer Frequenz von 10 Hz zu betreiben. Seine aktuelle Stellung soll über Port C [7:0] ausgegeben und mittels der 7-Segment-Anzeigen A1 und A2 (mit Decoder) dargestellt werden. Der zeitbestimmende Programmteil soll als Unterprogramm (D100) unter Verwendung des Registers Y formuliert werden.
[2] Das ASCII-Zeichen '*' soll bei jedem Zählschritt auf das Terminalfenster des IDE11-Systems ausgegeben werden. Die Initialisierung des SCI ist als Unterprogramm zu formulieren (Umschaltzeit des IDE11 auf das Terminalfenster beachten). Das Senden des Zeichens soll durch ein Unterprogramm CHOU erfolgen, das das im Akku A übergebene Zeichen (bei freier Schnittstelle) sendet.
[3] Ein vorbereiteter Text (ASCII-String) ist mittels des Unterprogramms STOU einmal auf das Terminalfenster des IDE11-Systems auszugeben. Das Unterprogramm STOU gibt die ab (X) stehenden ASCII-Zeichen unter Verwendung des Unterprogramms CHOU aus, bis das Steuerzeichen ETX gefunden wird, das selbst nicht mit ausgegeben wird. Stattdessen werden die Steuerzeichen CR und LF ausgegeben.
[4] Zusätzlich zu 2 sind nun bedingte Unterbrechungen zu bearbeiten. Mittels der Taste T0, die am Eingang STRA des M68HC11 anzuschließen ist, kann eine bedingte Unterbrechung ausgelöst werden. Als Folge darauf soll vom Hauptprogramm der Text "STRA seen" auf das Terminalfenster ausgegeben werden. Die zum Starten der Unterbrechungsbearbeitungen nötigen Vektoren nicht vergessen:
org $ffda
fdb pirq ; pulse accu input (PA7)
org $ffe8
fdb sirq ; IRQ/STRA
org $fffe
fdb main ; reset
Zur Signalisierung von der Unterbrechungsbearbeitung zum Hauptprogramm soll
eine Variable dflg (display flag) verwendet werden.