P R A K T I K U M   M I K R O C O M P U T E R




Versuch 3: Serielle Schnittstelle, ASCII-Zeichenketten

Bei diesem Versuch soll unter Verwendung des SCI (Asynchronous Serial Communications Interface) des M68HC11 Datenverkehr zwischen Prozessor M68HC11 und PC als Terminal durchgeführt werden. Es soll grundsätzlich im polling mode gearbeitet werden, d.h. ohne Unterbrechungen. Geeignete Programmteile sind als Unterprogramm zu formulieren. Zeichnen Sie immer zuerst ein Flußdiagramm und programmieren Sie dann danach.

[1]   Das ASCII-Zeichen 'R' soll mit einer Wiederholfrequenz von etwa 5 Hz andauernd 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 Zeiches soll durch ein Unterprogramm CHOU erfolgen, das das im Akku A übergebene Zeichen (bei freier Schnittstelle) sendet.

[2]   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.

[3]   a) Ein über die Tastatur eingegebenes Zeichen ist mittels des Unterprogramms CHIN einzulesen und mittels des Unterprogramms CHOU als Echo auszugeben (Endlos-Schleife). Das Unterprogramm CHIN übergibt das gelesene Zeichen im Akku A.

b) Nun soll ein String über die Tastatur eingegeben, mittels des Unterprogramms STIN eingelesen und im Speicher abgelegt werden. Zur Kontrolle wird er mittels des Unterprogramms STOU wieder ausgegeben (Endlos-Schleife). Das Unterprogramm STIN soll folgende Eigenschaften besitzen:

  1. STIN echot die mittels CHIN eingelesenen Zeichen und legt sie im Speicher ab. Die Adresse des Eingabepuffers wird im Indexregister X übergeben.
  2. Das ASCII-Zeichen CR beendet die Eingabe, es wird ohne Echo als ETX abgelegt.
  3. STIN wird durch die Ausgabe von CR und LF abgeschlossen.

[4]   Mittels STIN soll nun eine Zeichenkette eingelesen und mit einem im Programm abgelegten, konstanten String zeichenweise verglichen werden (z. B. als Passwortabfrage). Das Ergebnis soll über Port B [3:0] ausgegeben und mittels der 7-Segment-Anzeige A1 (mit Decoder) dargestellt werden: