• Keine Ergebnisse gefunden

Rechnerarchitektur: Laborübung 6 (USART, Timer)

N/A
N/A
Protected

Academic year: 2021

Aktie "Rechnerarchitektur: Laborübung 6 (USART, Timer)"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Kemnitz, TU Clausthal. Rechnerarchitektur: Laborübung 6 1

Technische Universität 13. November 2018

Clausthal Institut für Informatik Prof. G. Kemnitz

Rechnerarchitektur: Laborübung 6 (USART, Timer)

Hinweise: Schreiben Sie die Lösungen, so weit es möglich ist, auf die Aufgabenblätter. Tragen Sie Namen, Matrikelnummer und Studiengang in die nachfolgende Tabelle ein und schreiben Sie auf jedes zusätzlich abgegebene Blatt ihre Matrikelnummer. Lassen Sie für vorgeführte Experimente vom Betreuer die Punkte auf dem Aufgabenblatt eintragen und geben Sie, wenn Sie fertig sind, alle Blätter ab. Für eine Bescheinigung der erfolgreichen Teilnahme sind in jeder bis auf einer Laborübung mindestens 60% der Punkte zu erreichen.

Name Matrikelnummer Studiengang Punkte von 12 ≥ 60%

Aufgabe 6.1: Zum ausprobieren der seriellen Schnittstelle sind wie im nachfolgenden Bild ein PModUSBUSART an den Stecker JH zu stecken, dieses mit einem USB-Kabel mit dem PC zu verbinden und Jumper JHX auf gekreuzt (=) zu drehen.

Auf dem PC ist das Terminal-Programm HTerm zu starten, der COM-Port auswählen

1

, 9600 Baud, 8 Daten, 1 Stopp- und kein Paritätsbit einstellen und die Verbindung herzustellen (Connect).

Auf den Mikrorechner ist folgendes Echo-Programm zu laden:

# include <avr /io.h> // Projekt : F3 - echo uint8_t daten ; // Datei : echo .c int main( void ){

UCSR2C =0 b110 ; // Format 8N1

UBRR2 =51; // 9600 Baud

UCSR2B =(1 < < RXEN2 )|(1 < < TXEN2 ); // Empf . + Sender ein

DDRJ = 0 xFF ; // LEDs als Ausgänge

1

Die COM-Schnittstelle, die nach Anstecken des USB-Kabels vom PmodUSBURT und R (Refresh Comport

List) als neuer Port erscheint.

(2)

Prof. G. Kemnitz, TU Clausthal. Rechnerarchitektur: Laborübung 6 2

PORTJ = 0; // LED - Ausgabe 0 x00

while (1){

while (!( UCSR2A &(1 < < RXC2)));

daten = UDR2;

while (!( UCSR2A &(1 < < UDRE2 )));

UDR2 = daten ; PORTJ ++;

} }

a) Senden Sie mit HTerm Zeichen und prüfen Sie, dass dieselben Zeichen empfangen werden.

2P

b) Bestimmen Sie für jede Zeile der Endlosschleife, welche Aufgabe diese erfüllt und kontrollie-

ren Sie Ihre Vermutungen im Schrittbetrieb. 2P

c) Ändern Sie das Programm so, dass es jeweils auf zwei Bytes wartet und dann die Summe

zurück schickt. 2P

Punkte Aufgabe 6.1 Aufgabe 6.2: Das nachfolgende Programm zählt unter Verwendung von Timer 1 im CTC-Modus die LEDs an Port J in gleichmäÿigen Zeitschritten hoch:

# include <avr /io.h>

int main( void ){

TCCR1A = 0; // WGM1 [1:0] = 0

TCCR1B = 0 b1101 ; // WGM1 [3:2] = 1, CS1 =0 b101

DDRJ = 0 xFF ;

OCR1A = 0 x1000 ; // Vergleichswert

while (1){

if ( TIFR1 & (1 << OCR1A )){

PORTJ ++;

TIFR1 = (1 << OCR1A ); // Vergleichsbit löschen } }

}

a) Wie groÿ ist der Zähltakt bei Vorteilereinstellung CS1=0b101? Diese Information nden

Sie in der Prozessorbeschreibung techwww.../site/Dokumentation/ATmega2560/ATmega2560.pdf

in Table 17-6. 2P

(3)

Prof. G. Kemnitz, TU Clausthal. Rechnerarchitektur: Laborübung 6 3

b) In welchen Zeitabstand zählen die LEDs hoch? Der Prozessor- und IO-Takt ist 8 MHz. Kon- trollieren Sie, ob die LEDs auf der Baugruppe wirklich in diesem Zeitabstand weiterzählen.

2P

c) Mit welchem Wert ist das Register OCR1A zu initialisieren und welcher Wert ist für CS1 zu verwenden, damit die LEDs die Zeit in Sekunden zählen? Kontrollieren Sie das Ergebnis

mit der Baugruppe. 2P

Punkte Aufgabe 6.2

Referenzen

ÄHNLICHE DOKUMENTE

Aufgabe 1 1 Punkt Geben Sie f¨ ur jede Aussage an, ob sie f¨ ur das folgende ER-Diagramm wahr (W) oder falsch (F) ist3.

Geben Sie den Namen aller Alben (album name) aus, die von einer vor 1975 ge- gr¨ undeten Band und einem Label mit mehr als 90 Mitarbeitern ver¨ offentlicht

Würden Sie zunächst den primalen oder den dualen Simplex-Algorithmus anwenden, um die optimale Lösung zu finden?.Z. Aufgabe

b) Schauen Sie im disassemblierten Programm nach, welche Befehle der Compiler zum Lesen und Schreiben der Register und Variablen verwendet und kennzeichnen Sie, ob direkte (D)

• Für Teil c das C-Programm, in Zweifelsfällen die korrekte Abarbeitung des Beispiels. 2P Punkte Aufgabe 3.1 Aufgabe 3.3: Für das nachfolgende Multiplikationsprogramm sind

d) Wie lange dauert die Abarbeitung der Befehlsfolge in der innersten Schleife jetzt. Auf welchen Wert muss die Anzahl der Schleifendurchläufe bei Übersetzung mit -O1 geändert

Hinweise: Schreiben Sie die Lösungen, so weit es möglich ist, auf die Aufgabenblätter. Tragen Sie Namen, Matrikelnummer und Studiengang in die nachfolgende Tabelle ein und schreiben

c) Welche Signale werden auf den Logikanalysator ausgegeben. 1P d) Welche Signalverläufe zeigt der Logikanalysator für die aufgezeichneten Signale an, wenn vom PC der Byte-Wert