35
FH Frankfurt Computertechnik Labor 19.03.09 Fachhochschule Frankfurt am Main Fachbereich 2: Informatik und Ingenieurwissenschaften Computertechnik Labor Laborübungen mit dem Mikrocontroller XC888 aus der 8051-Familie Laborversuche Befehlslisten Schaltungen Version 3.0 1

CT Laboranleitung

Embed Size (px)

Citation preview

Page 1: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik und Ingenieurwissenschaften

Computertechnik Labor

Laborübungen mit dem Mikrocontroller XC888 aus der 8051-Familie

Laborversuche Befehlslisten Schaltungen

Version 3.0

1

Page 2: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Aufbau Laborsystem mit dem Mikrocontroller XC888 aus der 8051-Familie

2

Page 3: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Laborversuche Versuch 1: Microcontrollerentwicklungssystem „Keil µVision3“ Versuch 2: Sprünge und Schleifen (mit Assembler) Versuch 3: Port-Anzeige und Unterprogramme Versuch 4: Tabellenbearbeitung Versuch 5: LCD-Anzeige (C-Programmierung) Versuch 6: Interrupt (C-Programmierung) Jede Gruppe besteht aus maximal zwei Teilnehmern und hat individuelle Aufgaben zu lösen, die vorbereitet sein müssen und an den Versuchsterminen vorzuweisen sind. Bei mangelhafter Vorbereitung oder verspätetem Erscheinen erfolgt keine Zulassung zum Versuchstermin. Der Student hat dann einen Fehlversuch, den er heilen kann, indem an einem speziell angebotenen Sondertermin einen von den Betreuern vorgegebenen Versuch nachholt. Allerdings wird nur ein Sondertermin im Semester angeboten. Bei zwei Fehlversuchen müssen alle Laborversuche in einem späteren Semester wiederholt werden. An jedem Labortermin ist nur der an diesem Tage vorgesehen Laborversuch dran. Kein Vor- oder Nachholen anderer Versuche an diesem Termin! Die individuellen Aufgaben ergeben sich aus der Gruppenbezeichnung und den Namen der Gruppenteilnehmer. Ermitteln Sie den Gruppencode (G-Code) und den Namenscode (N-Code) gemäß folgendem Schema, gezeigt am Beispiel der Gruppe „B10, Müller / Schulze“: B ASCII-Tabelle, die niederwertigsten 4 Bits: 0010b 10d binär: 1010b

Summe (die niederwertigsten 4 Bits) = G-Code: 1100b = 0Ch = 12d M ASCII-Tabelle, die niederw. 4 Bits = N-Code: 1101b = 0Dh = 13d Jeder Teilnehmer hat am Versuchstag ein Deckblatt auszufüllen und von einem Betreuer als Anwesenheitsnachweis abzeichnen zu lassen. Von jeder Gruppe ist pro Versuch ein Laborbericht anzufertigen. Die Deckblätter aller Teilnehmer sind mit dem Versuchsbericht zu Beginn des nächsten Labortermins abzugeben. Die Versuchsberichte müssen auch alle unter „Vorbereitung“ aufgeführten Punkte ausführlich behandeln. Registrieren und kommentieren Sie alle Beobachtungen und Messungen.

3

Page 4: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Versuch 1: Microcontrollerentwicklungssystem „Keil µVision3“ Mit dem Entwicklungssystem können die Programme im Simulationsmodus getestet werden und im Labor auf unserem Microcontrollerlaborsystem (MCT-System) ausgeführt werden. Das EWS „Keil-µVision3“ können Sie unter www.keil.com Evaluation-Software C51 ( www.keil.com/demo/eval/c51.htm ) herunterladen. 1.1 Vorbereitung

Ermitteln Sie Ihren individuellen G-Code und N-Code gemäß Schema auf Seite 1 der Versuchsbeschreibung. Diese Codes werden Sie auch in den späteren Laborversuchen immer mal wieder benötigen. Gruppe (Buchstabe und Zahl): G-Code (4 Bit): Name: N-Code (4 Bit):

Entwerfen Sie die 5 Assemblerprogramme Rechnen Sie die zu erwartende Anzeige ausführlich vor. Erprobung der einzelnen Programme im Simulationsmodus

Das Grundprojekt finden Sie unter http://ti.fb2.fh-frankfurt.de Personal Grote Dateien MCT-Labor_Versuch1 (direkt: http://ti.fb2.fh-frankfurt.de/personal/Grote/MCT-Labor_Versuch1.zip ). Speichern Sie das Grundprojekt in einem eigenen Ordner (z.B. auf dem Laborrechner C:\keil_mct\versuch1). Entpacken Sie das Zip_File (rechte Maustaste Kontextmenü). Anschließend öffnen Sie die Entwicklungsumgebung „KeilµVision3“. Geben Sie Ihr Programm ein (siehe Punkt 1 der Kurzanleitung „Keil µVision3“) Übersetzen und laden Sie das Programm (siehe Punkt 2 der Kurzanleitung „Keil µVision3“) Für die Simulation und das Laden auf dem MCT-System wird nur der Debuggermodus verwendet. Bei der Ausführung von mehreren Programmen hintereinander müssen Sieam Ende eines Einzelprogramms einen Unterbrechungspunkt (Breakpoint) setzen (siehe Punkt 4 der Kurzanleitung „Keil µ Vision3“). Das letzte Programm schließt mit einen Sprung auf den ersten Befehl ab. Unser Programm startet auf der physikalischen Adresse 0. (siehe Punkt 2 der Kurzanleitung) 1.2 Labor Am Anfang des Laboers führen Sie die Programme im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme auf dem MCT-System. 1.3 Aufgaben 1.3.1 Laden Sie die Konstante 1Bh in Register A (Akkumulator). Addieren Sie die

Konstante N-Code zu A. Zeigen Sie das Ergebnis auf Port P4 an und zeigen Sie das PSW-Register auf Port 5 an.

1.3.2 Laden Sie die Kostante FEh nach Register R0. Laden Sie die Konstante G-Code nach Register A. Addieren Sie R0 zu A. Geben Sie das Rechenergebnis auf P4 aus und zeigen Sie das PSW-Register auf P5 an.

1.3.3 Laden Sie die Konstante 74h nach Register A. Subtrahieren Sie die Konstante N-Code

von A. Geben Sie das Rechenergebnis auf Port P4 aus und zeigen Sie das PSW-Register auf Port P5 an.

4

Page 5: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

1.3.4 Laden Sie die Konstante G-Code nach Reg. A. Subtrahieren Sie die Konstante 57h von A. Geben Sie das Rechenergebnis auf Port P4 aus und zeigen das PSW-Register auf Port P5 an. Schließen Sie das Programm durch eine Dauerschleife ab.

Freiwillige Aufgabe: 1.3.5 Verwenden Sie diese logische Schaltung:

Setzen Sie in die Kästchen der Logikbausteine LB1 und LB2 die Logikgatter gemäß Tabelle ein:

G-Code LB1 LB2 0000 AND AND 0001 AND NAND 0010 AND OR 0011 AND NOR 0100 NAND AND 0101 NAND NAND 0110 NAND NOR 0111 NAND NOR 1000 OR AND 1001 OR NAND 1010 OR OR 1011 OR NOR 1100 NOR AND 1101 NOR NAND 1110 NOR OR 1111 NOR NOR

1.4 Ausarbeitung 1.4.1 Alle unter Vorbereitung genannten Punkte. 1.4.2 Tragen Sie die Ergebnisse in die Übersichtstabelle ein:

theoretisch ermittelt Simulation MCT-System

Aufgabe Nr. Ergebnis Cy Ergebnis PSW Cy Ergebnis PSW Cy 1.3.1 1.3.2 1.3.3 1.3.4

5

labcomputer
Note
G-Code: 0Ch=1100b LB1: NOR - 00010001b LB2: AND - 11000000b LB3: 11010001b R1=AAh R2=CCh R3=F0h
Page 6: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Versuch 2: Sprünge und Schleifen - arbeiten mit dem Assembler -

2.1 Vorbereitung 2.1.1 Entwerfen Sie die Flussdiagramme (Programmablaufpläne) zu den gestellten

Aufgaben. 2.1.2 Schreiben Sie die Programme mit Assemblerbefehlen und Kommentaren. 2.1.3 Berechne Sie für das Programm TON ausführlich die Tonkonstante für Ihre Frequenz

(Siehe unten). 2.1.4 Berechnen Sie für das Programm LIMITON ausführlich die Konstanten für die

Tonlänge 10 s. 2.1.5 Erprobung der Aufgaben 2.3.1 und 2.3.2 im Simulationsmodus

Das Grundprojekt finden Sie unter http://ti.fb2.fh-frankfurt.de Personal Grote Dateien MCT-Labor_Versuch2 (http://ti.fb2.fh-frankfurt.de/personal/Grote/MCT-Labor_Versuch2.zip ) Weiterer Ablauf siehe Punkt 1 und 2 der Kurzanleitung Hinweis: Schreiben sie ihr Programm unter das jeweilige vorbereitete Label. In der „main.c“ müssen Sie den Namen des Programms eingeben welches gestartet werden soll.

2.2 Labor Am Anfang des Laboers führen Sie die Programme im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme auf dem MCT-System. 2.3 Aufgaben 2.3.1 Entwerfen Sie das Programm FUELL, das den Speicher von F000h...F0FFh mit der

Konstanten G-Code füllt. Kontrollieren Sie den Speicherbereich F000h...F100h mit der „Memory Window“ – Funktion (siehe Punkt 7 der Kurzanleitung ).

2.3.2 Schreiben Sie das Programm TON, das einen Dauerton erzeugt. Überprüfen Sie die Frequenz im Simulationsmodus mit Hilfe des Logic Analysers (Kurzanleitung Punkt 9). Laden Sie das Programm auf dem MCT-System und protokollieren Sie mit einem Frequenzmesser das Ergebnis. Ihre Soll-Frequenz lautet: 500 Hz + 10 * (G-Code) Hz = ……….. Hz Frequenz im Simulationsmodus: T= t2……….. – t1…………. f =………..Hz Die mit einem Frequenzzähler gemessen Ist-Frequenz: ..……… Hz

2.3.3 Entwerfen Sie das Programm LIMITON, das den Ton aus der vorherigen Aufgabe 10 Sekunden lang ertönen lässt.

6

labcomputer
Note
Program a frequency of 500Hz Choose T_isr=20 us = 2*10^-5 s
Page 7: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Versuch 3: Port -Ausgabe und Unterprogramme

3.1 Vorbereitung Programm Flussdiagramm

(Programmablaufplan) Assemblerprogramm

mit Kommentaren Zeit ja ja Lauflicht1 ja ja Lauflicht2 ja ja Erprobung der einzelnen Programme im Simulationsmodus. Legen sie ein eigenes Projekt an gemäß Punkt 5 und 6 der Kurzanleitung. Laden sie die Datei RegXC888_lite.inc unter http://ti.fb2.fh-frankfurt.de Personal→ Grote→ Dateien→ RegXC888_lite ( http://ti.fb2.fh-frankfurt.de/personal/Grote/REGXC888_lite.zip ) herunter. Entpacken Sie die Datei und legen diese in ihrem Projektordner ab. 3.2 Labor Am Anfang des Labors führen Sie die Programme im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme auf dem MCT-System. 3.3 Aufgaben 3.3.1 Entwerfen Sie das Programm Zeit, dass eine Zeitverzögerung von 200ms erreicht.

Die Laufzeit der Funktion ermitteln Sie im Simulationsmodus (siehe Punkt 8 der Kurzanleitung ).

3.3.2 Schreiben Sie das Programm Lauflicht1, in welchen ein Einzelbit an Port5 von links nach rechts (für alle ungeraden Gruppennummern) und von rechts nach links (für alle geraden Gruppennummern) fortschreitet. Wechsel erfolgt alle 200ms. Die Verzögerungszeit 200ms wird durch das Unterprogramm Zeit erreicht. Dieses Programm läuft in einer Endlosschleife.

3.3.2 Schreiben Sie das Programm Lauflicht2, in welchen ein Einzelbit an Port5 gleichzeitig

von links nach rechts bzw. von rechts nach links fortschreitet. Zeitverzögerung analog Aufgabe 3.3.2

7

Page 8: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Versuch 4: Tabellenbearbeitung

4.1 Vorbereitung Programm / Tabelle

Flussdiagramm (Programmablaufplan)

Assemblerprogramm mit Kommentaren

TONTEST ja ja Melodietabelle nein nein MELODIE ja ja UPTON ja ja Erprobung Aufgabe 4.31 im Simulationsmodus. Laden sie die Datei RegXC888_lite.inc unter http://ti.fb2.fh-frankfurt.de Personal→ Grote→ Dateien→ RegXC888_lite ( http://ti.fb2.fh-frankfurt.de/personal/Grote/REGXC888_lite.zip ) herunter. Entpacken Sie die Datei und legen diese in ihrem Projektordner ab. 4.2 Labor Am Anfang des Laboers führen Sie das eine Programm im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme auf dem MCT-System. 4.3 Aufgaben 4.3.1 Entwerfen Sie ein Unterprogramm UPTON, welches einen Ton einstellbarer Höhe und

einstellbarer Dauer erzeugt. R1 Tonlängenzahl R2 Tonhöhenzahl, Tonhöhenzahl = 0 = Pause Testen Sie das Unterprogramm UPTON, indem Sie ein Testprogramm TONTEST schreiben, das die Übergabewerte in die Register R1 und R2 schreibt und UP TON aufruft. Beachten Sie, dass Unterprogramme nicht direkt gestartet werden dürfen!

4.3.3 Codieren Sie eine beliebige, bekannte Melodie (ca. 10 Töne).

Tabelle: Tonlängenzahl 1, Tonhöhenzahl 1 Tonlängenzahl 2, Tonhöhenzahl 2 usw.

Tonlängenzahl = 0 = Wiederholung 4.3.4 Entwerfen Sie das Hauptprogramm MELODIE, das den Melodiecode der Tabelle

verwendet und die Töne über den Lautsprecher ausgibt.

8

Page 9: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Versuch 5: LCD-Anzeige

Programmierung in C

5.1 Vorbereitung Programm / Tabelle

Flussdiagramm (Programmablaufplan)

C-Programm mit Kommentaren

Text ja ja Laufanzeige ja ja Erprobung der Programme im Simulationsmodus. Legen Sie ein eigenes Projekt an gemäß Kurzanleitung Punkt 5. Im Simulationsmodus wird die LCD-Anzeige mit hilfe der seriellen Schnittstelle getestet. Für die Aufgabe 5.3. 1 wechselt die Anzeige im Fenster „Serial Window „ nur in Zeile1 zwischen „FH-Frankfurt“ und „TI-Labor“. Die Wechsel werden mitgezählt. Anwendung „Serial Window“ siehe Kurzanleitung Punkt 10 5.2 Labor Am Anfang des Laboers führen Sie die Programme im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme mit Hilfe der LCD-Anzeige auf dem MCT-System.

Die Funktionen für die LCD-Anzeige finden Sie unter http://ti.fb2.fh-frankfurt.de Personal Grote Dateien MCT-Labor_LCD

(http://ti.fb2.fh-frankfurt.de/personal/Grote/MCT-Labor_LCD.zip ). Die Dateien LCD.c , LCD.h und IO.h kopieren Sie in Ihrem Projektordner. Die Datei LCD.c fügen Sie Ihrem Projekt hinzu. Folgende Funktionen stehen zur Verfügung: void lcd_clear (void); // LCD-Display löschen void set_cursor (unsigned char column, unsigned char line);// Cursor setzen Spalte,Zeile void lcd_print (unsigned char const *string);// String an LCD schreiben void zeit (int m); m=5 ca. 300ms

5.3 Aufgaben 5.3.1 Schreiben Sie ein Programm, dass an der LCD-Anzeige auf Zeile 1 „FH-Frankfurt“

und auf der Zeile 2 „TI-Labor“ anzeigt. Anschließend wechselt die Anzeige auf Zeile 1 „TI-Labor“ und auf der Zeile 2 „FH-Frankfurt“. Dieser Wechsel soll ständig erfolgen im Sekundentakt. Auf der Zeile1 ab Position 14 werden die Wechsel mitgezählt.

5.3.2 Schreiben Sie ein Programm, dass an der LCD-Anzeige Zeile 1 einen Lauftext anzeigt mit flexibler Textlänge. Der Text wird eingeschlossen im Vorspann und im Nachspann von jeweils 16 Leerzeichen.

9

Page 10: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Versuch 6: Interrupt Programmierung in C

6.1 Vorbereitung Programm / Tabelle

Flussdiagramm (Programmablaufplan)

C-Programm mit Kommentaren

Counter ja ja ISR ja Ja Erprobung der Programme im Simulationsmodus. Legen Sie ein eigenes Projekt an gemäß Kurzanleitung Punkt 5. Zur Simulation des Testgerärtes finden Sie die Datei unter http://ti.fb2.fh-frankfurt.de

Personal Grote Dateien Simulator Testgerät. ( Kurzanleitung Punkt 11) ( http://ti.fb2.fh-frankfurt.de/personal/Grote/test.ini ) 6.2 Labor Am Anfang des Labors führen Sie das Programm im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme mit Hilfe der LCD-Anzeige auf dem MCT-System.´ Die Funktionen für die LCD-Anzeige siehe Versuch5. Im Labor existiert ein Testgerät, das eine festgelegte Anzahl von Impulsen abgibt. Verbinden Sie den Ausgang dieses Testgerätes mit dem INT0-Eingang (Port 1_4) des Mikrocontroller-Systems. Zum Rücksetzen des Zählerstandes verbinden Sie den Ausgang der Taste mit Port4_0.

6.2 Aufgaben

Schreiben Sie ein Hauptprogramm COUNTER, das im Vorspann den externen Interrupt0 aktiviert und dann ständig wiederholend den Inhalt eines Zählregisters auf der LCD-Anzeige anzeigt. LCD-Anzeige Zeile1: Impulsmessung LCD-Anzeige Zeile2: Anzahl: 0000 Die Interrupt-Service–Routine ISR zählt die Impulse. Das Zählregister und damit die Anzeige sollen mit dem Schalter S = P4_0 gelöscht werden.

10

Page 11: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Hinweise: Im Hauptprogramm müssen Sie das Pin für den externen Interrupt 0 selektieren. Wir verwnden für IR0 das PIN von Port 1.4. Nachdem sie den externen Interrupt 0 aktiviert haben geben Sie folgende Anweisung ein: MODPISEL = 0x02; .?………………………………………………………………………… Beim Aufrufen der ISR wird das letzte Bit von IRCON0 gesetzt, um die ISR wieder aufrufen zu können müssen sie das Bit wieder zurücksetzen. Schreiben Sie den folgenden Befehl in die letzte Zeile ihrer Routine: IRCON0 &= ~ (ubyte) 0x01; .?...................................................................................................

11

Page 12: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Kurzanleitung für das Mikrocontrollerentwicklungssystem „Keil μVision3“

1. Verwendung eines Grundprojektes

• Öffnen Sie das Grundprojekt ( Menü Project -> Open Projekt)

Projekt geöffnet

Die Umschaltung zwischen Simulation und MCT-System erfolgt in der Menüleiste

12

Page 13: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

2. Übersetzen, laden und ausführen von Programmen

Start des Programms im Debuggermodus

3. Simulation und Anzeige der Peripherieergebnisse

Im Debuggermodus wird die entsprechende Peripherie ausgewählt. Zur ständigen Aktualisierung des Bildschirmes aktivieren Sie „Perodic Window Update“

13

Page 14: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

4. Setzen von Unterbrechungspunkten (Breakpoints)

5 Anlegen eines neuen Projektes

• Legen Sie einen eigenen Ordner auf Ihren Stick oder im Ordner C:\Keil_mct für die Projektdateien an.

• Starten Sie μVision3 • Erzeugen Sie ein neues Projekt ( Menü Project -> New μVision Project)

• Geben Sie dem Projekt einen Namen und speichern Sie es in Ihren Ordner

14

Page 15: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

• Mikrocontrollertyp Infineon XC888CLM -8FF auswählen und OK drücken

• Die Standarteinstellungen für den Prozessor mit in das Projekt aufnehmen(die Abfrage mit JA bestätigen).

• Zur Einstellung eines Projektes mit verschiedenen Optionen wählen Sie „Setup File Extensions,Books and Environment“ aus.

15

Page 16: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

• Für Target „MCT-System“ und „Simulation“ werden folgende Optionen eingestellt :

Registrierkarte Target -> Use On-Chip XRAM(0xF000-0xF5FF) aktivieren

Registrierkarte Debug -> Aktivieren Sie das MCT-System „Use Infineon XC800 ULINK Driver” und “Load Application at Startup ” . Für die Simulation aktivieren Sie “Use Simulator” und “Load Application at Startup ”

16

Page 17: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Registrierkarte Utilities -> Aktivieren Sie „Use Target Driver for Flash Programming“, “Infineon XC800 ULINK Driver” , „Update Target before Debugging“ und mit OK die Einstellungen übernehmen

6.Quellcodedateien anlegen Erstellen Sie die Quellcodedatei main.c (für Versuch 1 nicht erforderlich) und fügen diese Datei dem aktuellen Projekt hinzu.

• Erstellen einer neuen Datei File -> New • Speichern Sie diese Datei in Ihrem Ordner • Dateinamen main.c ( C-Datei) vergeben • Folgende Grundeintragungen sind erforderlich (nur Versuch 1- 4)

} • Fügen Sie diese Datei dem aktuellen Projekt hinzu ,

Kontextmenü auf Source Group1 -> Add Files to Group Erstellen Sie eine weitere Ouellcodedatei versuchx.src (x=Versuchsnr.) und fügen diese Datei dem aktuellen Projekt hinzu.

• Erstellen einer neuen Datei File -> New • Speichern Sie diese Datei in Ihrem Ordner • Dateinamen versuchx.src ( Assembler-Datei) vergeben • Folgende Grundeintragungen sind erforderlich

• Fügen Sie diese Datei dem aktuellen Projekt hinzu , Kontextmenü auf Source Group1 -> Add Files to Group

17

Page 18: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

7. Aktivierung Memory Window Im Debuggermodus besteht die Möglichkeit die Speicherbelegung anzuzeigen durch den Modus „Memory Window“

Im Memory Window kann auch für die Adresse direkt das Label eingegeben werden 8. Ermittlung der Laufzeit einer Funktion im Simulationsmodus Im Hauptprogramm wird die zu untersuchende Zeitfunktion gestartet.

Start des Debuggers im Simulationsmodus

Im neuen Fenster die Funktion „Zeit“ hinzufügen. Kontextmenü auf „unspecified“

Setup PA

18

Page 19: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Die Funktion muss markiert werden. Programm starten und Zeit im untern Fenster ablesen.

9. Logic Analyser im Simulationsmodus

• Start Logic Analyser

19

Page 20: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Anschließend wird das Programm gestartet. Im Diagramm ist der Signalverlauf ersichtlich. Nach kurzer Laufzeit Programm stoppen. Mit Hilfe des Cursors können die Zeiten ermittelt werden.

20

Page 21: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

10 Anwendung „Serial Window“ In dem vorhandenen Projekt sollten keine LCD-Funktionen verwendet bzw. aufgenommen werden. Zur Verwendung von „Serial Window“ ist es notwendig die serielle Schnittstelle zu initialisieren. Die Funktionen finden Sie unter http://ti.fb2.fh-frankfurt.de Personal Grote Dateien Initialisierung_UART (http://ti.fb2.fh-frankfurt.de/personal/Grote/INIT_UART.zip ). Die Dateien UART.c , UART.h kopieren Sie in Ihrem Projektordner. Die Datei UART.c fügen Sie Ihrem Projekt hinzu. Folgende Funktionen stehen zur Verfügung: void UART_vInit(void); //Initalisierung UART void zeit (int m); m=5 ca. 300ms Zur Ausgabe verwenden Sie die printf-Funktion. Steuerzeichen: ‚\r’ = rückstellen des Cursors auf Zeilenanfang ‚\n’ = Zeilenvorschub und Cursor auf Zeilenanfang Im Dubuggermodus aktivieren Sie das Fenster „Serial Window“. Zum Abschluss starten Sie Ihr Programm

11. Simulation des Testgerätes Den Simulator für das Testgerät finden Sie unter http://ti.fb2.fh-frankfurt.de (Personal Grote Dateien Simulator Testgerät). Kopieren Sie die Datei in Ihr Projekt. Nehmen Sie diese Datai unter „Option For Target“ Registerkarte „Debug“ „Initialization File“ in Ihr Projekt auf.

Im Debuggermodus finden Sie das Testgerät unter „VIEW“ „Toolbox“

21

Page 22: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

22

Page 23: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

23

Page 24: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

24

Page 25: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

25

Page 26: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

26

Page 27: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

27

Page 28: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

INSTRUCTION CODES - LCD-Modul LM162551 Sharp / LTN211R-10 Philips / DV-16244 DataVision –

Set Instruction Code

Instruction (Befehl)

RS R/W

D7

D6

D 5

D4

D3

D2

D 1

D0

Beschreibung

max. Zeit in μs

Clear Display

0 0 0 0 0 0 0 0 0 1 Löscht den Anzeigespeicher und setzt den Cursor auf die Startposition.

1640

Return Home

0 0 0 0 0 0 0 0 1 * Setzt den Cursor auf die Startposition (1. Zeile, 1. Position)

1600

Entry Mode Set

0 0 0 0 0 0 0 1 I/D

S Cursorverschiebung: ja/nein und Richtung (schr. u. lesen)

1640

Display ON/OFF

0 0 0 0 0 0 1 D C B EIN/AUS: Display, Cursor, blinken der Cursors

40

Cursor or Display Shift

0 0 0 0 0 1 S/C

R/L

* * Cursor- oder Display- Verschiebung links/rechts

40

Function Set

0 0 0 0 1 DL

N F * * Setzt Datenlänge, Zeilen- Anzahl, Format der Matrix

40

Set CG RAM Address

0 0 0 1 ACG Setzt die CG RAM Adresse (schreiben und lesen)

40

Set DD RAM Address

0 0 1 ADD Setzt die DD RAM Adresse (schreiben und lesen)

40

Read Busy Flag & Adr.

0 1 BF

1.1.1 AC Liest Busy Flag (BF) und Adreßzähler

1

Write Data to CG RAM or DD RAM

1 0 Write Data

Schreibt Daten in den DD RAM oder CG RAM (inkr. autom. RAM-Adr.)

40

Read Data from CG or DD RAM

1 1 1.1.2 Read Data

Liest Daten vom DD RAM oder CG RAM

40

* Doesn’t matter (egal) DD RAM Display data RAM CG RAM Character generator RAM ACG CG RAM address ADD DD RAM address AC Address counter used for both DD RAM und CG RAM address

Steuerbits 1 0

I/D Inkrementieren Dekrementieren S Shift Display EIN Shift Display AUS D Display EIN Display AUS C Cursor EIN Cursor AUS B Blinken EIN Blinken AUS S/C Displayverschiebung aktiv Cursorverschiebung aktiv BF (Busy Flag) Abarbeitung intern Eingabebereit R/L Verschieben nach rechts Verschieben nach links DL (Data Length) 8-Bitbus 4-Bitbus N (Number) 2 Zeilen F (Character Font) 5 x 7 Punktmatrix

28

Page 29: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Cursor der LCD-Anzeige setzen ADD DD RAM – Adressen (Bit D0...D6) des LCD-Moduls (hex) Stelle (dez): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1. Zeile: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 2. Zeile: 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F Laut Instruction Code Tabelle ist das Bit D7 immer 1. Deshalb gilt für den zu sendenden Steuercode: Steuercode = 80h + ADD

Der Zeichensatz des LCD-Moduls

Die darstellbaren Zeichen und die Zeichencodes können Sie aus der Zeichensatztabelle des LCD-Moduls entnehmen. Soll z.B. Zeichen „A“ darstellt werden, ist der Code (ASCII-Code) 01000001b = 41h zu senden.

Darstellung von Sonderzeichen Sie könne bis zu 8 Sonderzeichen auf der Punktmatrix 5 x 7 (+ Cursor 5 x 8) darstellen mit den Zeichencodes 0...7. Dazu müssen Sie vorher den Zeichengenerator (CG RAM) laden. Die CG RAM Plätze liegen zwischen 40h und 7Fh. Der Bereich 40h...47h enthält das erste Sonderzeichen, 48h...4Fh das zweite, ...usw... , 78h...7Fh das achte Sonderzeichen. An einem Beispiel wird Ihnen gezeigt, wie die Sonderzeichen „§“ und „II“ in den Zeichengenerator geladen werden können. Die Zeichen sind in der dargestellten Matrix erkennbar, wenn Sie die fett gedruckten Einsen verbinden. Beachten Sie bitte, dass lediglich die erste CG RAM Adresse (hier 40h) gesendet werden muß, da die Adresse automatisch mit dem Senden des Codes inkrementiert wird.

1.1.3 Sendecode RS 7 6 5 4 3 2 1 0

1.1.4 Beschreibung

0 0 1 0 0 0 0 0 0 CG RAM Adresse 1. Reihe, 1. Zeichen

ACG CG RAM Adresse (autom. inkrem.)

1 * * * * * * * *

* * * * * * * *

* * * * * * * *

0 1 1 1 0 0 0 0

1 0 1 0 1 0 1 0

1 0 1 0 1 0 1 0

1 0 1 0 1 0 1 0

0 0 0 1 1 1 0 0

Code für die 1. Reihe, 1. Zeichen Code für die 2. Reihe Code für die 3. Reihe Code für die 4. Reihe Code für die 5. Reihe Code für die 6. Reihe Code für die 7. Reihe Code für die 8. Reihe, Cursor-Position

00h 01h 02h 03h 04h 05h 06h 07h

1 * * * * * * * *

* * * * * * * *

* * * * * * * *

1 0 0 0 0 0 1 0

1 1 1 1 1 1 1 0

1 0 0 0 0 0 1 0

1 1 1 1 1 1 1 0

1 0 0 0 0 0 1 0

Code für die 1. Reihe, 2. Zeichen Code für die 2. Reihe Code für die 3. Reihe Code für die 4. Reihe Code für die 5. Reihe Code für die 6. Reihe Code für die 7. Reihe Code für die 8. Reihe, Cursor-Position

08h 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh

* = egal Laut Instruction Code Tabelle ist das Bit D6 immer 1. Deshalb gilt für den zu sendenden Steuercode: Steuercode = 40h + ACG

29

Page 30: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

30

Page 31: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

31

Page 32: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

Anschlussbelegung Busleisten

32

Page 33: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

33

Page 34: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

34

Page 35: CT Laboranleitung

FH Frankfurt Computertechnik Labor 19.03.09

35