Sie sind auf Seite 1von 35

FH Frankfurt

Computertechnik Labor

19.03.09

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik und Ingenieurwissenschaften Computertechnik Labor

Laborbungen mit dem Mikrocontroller XC888 aus der 8051-Familie

Laborversuche Befehlslisten Schaltungen

Version 3.0

FH Frankfurt

Computertechnik Labor

19.03.09

Aufbau Laborsystem mit dem Mikrocontroller XC888 aus der 8051-Familie

FH Frankfurt

Computertechnik Labor

19.03.09

Laborversuche
Versuch 1: Versuch 2: Versuch 3: Versuch 4: Versuch 5: Versuch 6: Microcontrollerentwicklungssystem Keil Vision3 Sprnge und Schleifen (mit Assembler) Port-Anzeige und Unterprogramme Tabellenbearbeitung LCD-Anzeige (C-Programmierung) Interrupt (C-Programmierung)

Jede Gruppe besteht aus maximal zwei Teilnehmern und hat individuelle Aufgaben zu lsen, die vorbereitet sein mssen und an den Versuchsterminen vorzuweisen sind. Bei mangelhafter Vorbereitung oder versptetem 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 mssen alle Laborversuche in einem spteren Semester wiederholt werden. An jedem Labortermin ist nur der an diesem Tage vorgesehen Laborversuch dran. Kein Voroder 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 (NCode) gem folgendem Schema, gezeigt am Beispiel der Gruppe B10, Mller / Schulze: B ASCII-Tabelle, die niederwertigsten 4 Bits: 0010b 10d binr: 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 auszufllen und von einem Betreuer als Anwesenheitsnachweis abzeichnen zu lassen. Von jeder Gruppe ist pro Versuch ein Laborbericht anzufertigen. Die Deckbltter aller Teilnehmer sind mit dem Versuchsbericht zu Beginn des nchsten Labortermins abzugeben. Die Versuchsberichte mssen auch alle unter Vorbereitung aufgefhrten Punkte ausfhrlich behandeln. Registrieren und kommentieren Sie alle Beobachtungen und Messungen.

FH Frankfurt

Computertechnik Labor

19.03.09

Versuch 1: Microcontrollerentwicklungssystem Keil Vision3


Mit dem Entwicklungssystem knnen die Programme im Simulationsmodus getestet werden und im Labor auf unserem Microcontrollerlaborsystem (MCT-System) ausgefhrt werden. Das EWS Keil-Vision3 knnen 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 spteren Laborversuchen immer mal wieder bentigen. Gruppe (Buchstabe und Zahl): G-Code (4 Bit): Name: N-Code (4 Bit):

Entwerfen Sie die 5 Assemblerprogramme Rechnen Sie die zu erwartende Anzeige ausfhrlich vor. Erprobung der einzelnen Programme im Simulationsmodus Das Grundprojekt finden Sie unter http://ti.fb2.fh-frankfurt.de PersonalGrote DateienMCT-Labor_Versuch1 (direkt: http://ti.fb2.fh-frankfurt.de/personal/Grote/MCTLabor_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). Anschlieend ffnen Sie die Entwicklungsumgebung KeilVision3. 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) Fr die Simulation und das Laden auf dem MCT-System wird nur der Debuggermodus verwendet. Bei der Ausfhrung von mehreren Programmen hintereinander mssen Sieam Ende eines Einzelprogramms einen Unterbrechungspunkt (Breakpoint) setzen (siehe Punkt 4 der Kurzanleitung Keil Vision3). Das letzte Programm schliet 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 fhren 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 PSWRegister auf Port P5 an.
4

FH Frankfurt
1.3.4

Computertechnik Labor

19.03.09

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. Schlieen Sie das Programm durch eine Dauerschleife ab.

Freiwillige Aufgabe: 1.3.5 Verwenden Sie diese logische Schaltung:

Setzen Sie in die Kstchen 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 Ergebnis Cy Simulation PSW MCT-System PSW

Aufgabe Nr.

Ergebnis

Cy

Ergebnis

Cy

1.3.1 1.3.2 1.3.3 1.3.4


5

FH Frankfurt

Computertechnik Labor

19.03.09

Versuch 2: Sprnge und Schleifen - arbeiten mit dem Assembler 2.1 Vorbereitung 2.1.1 Entwerfen Sie die Flussdiagramme (Programmablaufplne) zu den gestellten Aufgaben. 2.1.2 Schreiben Sie die Programme mit Assemblerbefehlen und Kommentaren. 2.1.3 Berechne Sie fr das Programm TON ausfhrlich die Tonkonstante fr Ihre Frequenz (Siehe unten). 2.1.4 Berechnen Sie fr das Programm LIMITON ausfhrlich die Konstanten fr die Tonlnge 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 PersonalGrote DateienMCT-Labor_Versuch2 (http://ti.fb2.fh-frankfurt.de/personal/Grote/MCTLabor_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 mssen Sie den Namen des Programms eingeben welches gestartet werden soll. 2.2 Labor Am Anfang des Laboers fhren 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 fllt. 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. berprfen 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 Frequenzzhler gemessen Ist-Frequenz: 2.3.3 .. Hz

Entwerfen Sie das Programm LIMITON, das den Ton aus der vorherigen Aufgabe 10 Sekunden lang ertnen lsst.

FH Frankfurt

Computertechnik Labor

19.03.09

Versuch 3: Port -Ausgabe und Unterprogramme


3.1 Vorbereitung Flussdiagramm (Programmablaufplan) ja ja ja Assemblerprogramm mit Kommentaren ja ja ja

Programm Zeit Lauflicht1 Lauflicht2

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 fhren Sie die Programme im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme auf dem MCT-System. 3.3 3.3.1 Aufgaben

Entwerfen Sie das Programm Zeit, dass eine Zeitverzgerung 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 (fr alle ungeraden Gruppennummern) und von rechts nach links (fr alle geraden Gruppennummern) fortschreitet. Wechsel erfolgt alle 200ms. Die Verzgerungszeit 200ms wird durch das Unterprogramm Zeit erreicht. Dieses Programm luft in einer Endlosschleife. Schreiben Sie das Programm Lauflicht2, in welchen ein Einzelbit an Port5 gleichzeitig von links nach rechts bzw. von rechts nach links fortschreitet. Zeitverzgerung analog Aufgabe 3.3.2

3.3.2

FH Frankfurt

Computertechnik Labor

19.03.09

Versuch 4: Tabellenbearbeitung
4.1 Vorbereitung Flussdiagramm (Programmablaufplan) ja nein ja ja Assemblerprogramm mit Kommentaren ja nein ja ja

Programm / Tabelle TONTEST Melodietabelle MELODIE UPTON

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 fhren 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 Hhe und einstellbarer Dauer erzeugt. R1 Tonlngenzahl R2 Tonhhenzahl, Tonhhenzahl = 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 drfen! 4.3.3 Codieren Sie eine beliebige, bekannte Melodie (ca. 10 Tne). Tabelle: Tonlngenzahl 1, Tonhhenzahl 1 Tonlngenzahl 2, Tonhhenzahl 2 usw. Tonlngenzahl = 0 = Wiederholung 4.3.4 Entwerfen Sie das Hauptprogramm MELODIE, das den Melodiecode der Tabelle verwendet und die Tne ber den Lautsprecher ausgibt.

FH Frankfurt

Computertechnik Labor

19.03.09

Versuch 5: LCD-Anzeige Programmierung in C


5.1 Vorbereitung Flussdiagramm (Programmablaufplan) ja ja C-Programm mit Kommentaren ja ja

Programm / Tabelle Text Laufanzeige

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. Fr die Aufgabe 5.3. 1 wechselt die Anzeige im Fenster Serial Window nur in Zeile1 zwischen FH-Frankfurt und TI-Labor. Die Wechsel werden mitgezhlt. Anwendung Serial Window siehe Kurzanleitung Punkt 10 5.2 Labor

Am Anfang des Laboers fhren Sie die Programme im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme mit Hilfe der LCD-Anzeige auf dem MCT-System. Die Funktionen fr die LCD-Anzeige finden Sie unter http://ti.fb2.fh-frankfurt.de PersonalGrote DateienMCT-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 fgen Sie Ihrem Projekt hinzu. Folgende Funktionen stehen zur Verfgung: void lcd_clear (void); // LCD-Display lschen 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 5.3.1 Aufgaben Schreiben Sie ein Programm, dass an der LCD-Anzeige auf Zeile 1 FH-Frankfurt und auf der Zeile 2 TI-Labor anzeigt. Anschlieend wechselt die Anzeige auf Zeile 1 TI-Labor und auf der Zeile 2 FH-Frankfurt. Dieser Wechsel soll stndig erfolgen im Sekundentakt. Auf der Zeile1 ab Position 14 werden die Wechsel mitgezhlt. Schreiben Sie ein Programm, dass an der LCD-Anzeige Zeile 1 einen Lauftext anzeigt mit flexibler Textlnge. Der Text wird eingeschlossen im Vorspann und im Nachspann von jeweils 16 Leerzeichen.

5.3.2

FH Frankfurt

Computertechnik Labor

19.03.09

Versuch 6: Interrupt Programmierung in C


6.1 Vorbereitung Programm / Flussdiagramm Tabelle (Programmablaufplan) Counter ja ISR ja C-Programm mit Kommentaren ja Ja

Erprobung der Programme im Simulationsmodus. Legen Sie ein eigenes Projekt an gem Kurzanleitung Punkt 5. Zur Simulation des Testgerrtes finden Sie die Datei unter http://ti.fb2.fh-frankfurt.de PersonalGrote DateienSimulator Testgert. ( Kurzanleitung Punkt 11) ( http://ti.fb2.fh-frankfurt.de/personal/Grote/test.ini ) 6.2 Labor Am Anfang des Labors fhren Sie das Programm im Simulationsmodus Ihren Betreuer vor. Testen Sie die Programme mit Hilfe der LCD-Anzeige auf dem MCT-System. Die Funktionen fr die LCD-Anzeige siehe Versuch5. Im Labor existiert ein Testgert, das eine festgelegte Anzahl von Impulsen abgibt. Verbinden Sie den Ausgang dieses Testgertes mit dem INT0-Eingang (Port 1_4) des MikrocontrollerSystems. Zum Rcksetzen des Zhlerstandes 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 stndig wiederholend den Inhalt eines Zhlregisters auf der LCD-Anzeige anzeigt. LCD-Anzeige Zeile1: Impulsmessung LCD-Anzeige Zeile2: Anzahl: 0000 Die Interrupt-ServiceRoutine ISR zhlt die Impulse. Das Zhlregister und damit die Anzeige sollen mit dem Schalter S = P4_0 gelscht werden.
10

FH Frankfurt

Computertechnik Labor

19.03.09

Hinweise:
Im Hauptprogramm mssen Sie das Pin fr den externen Interrupt 0 selektieren. Wir verwnden fr 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 knnen mssen sie das Bit wieder zurcksetzen. Schreiben Sie den folgenden Befehl in die letzte Zeile ihrer Routine: IRCON0 &= ~ (ubyte) 0x01; .?...................................................................................................

11

FH Frankfurt

Computertechnik Labor

19.03.09

Kurzanleitung fr das Mikrocontrollerentwicklungssystem Keil Vision3

1. Verwendung eines Grundprojektes

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

Projekt geffnet

Die Umschaltung zwischen Simulation und MCT-System erfolgt in der Menleiste

12

FH Frankfurt

Computertechnik Labor

19.03.09

2. bersetzen, laden und ausfhren von Programmen

Start des Programms im Debuggermodus

3. Simulation und Anzeige der Peripherieergebnisse

Im Debuggermodus wird die entsprechende Peripherie ausgewhlt. Zur stndigen Aktualisierung des Bildschirmes aktivieren Sie Perodic Window Update

13

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 fr 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

FH Frankfurt

Computertechnik Labor

19.03.09

Mikrocontrollertyp Infineon XC888CLM -8FF auswhlen und OK drcken

Die Standarteinstellungen fr den Prozessor mit in das Projekt aufnehmen(die Abfrage mit JA besttigen).

Zur Einstellung eines Projektes mit verschiedenen Optionen whlen Sie Setup File Extensions,Books and Environment aus.

15

FH Frankfurt

Computertechnik Labor

19.03.09

Fr 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 . Fr die Simulation aktivieren Sie Use Simulator und Load Application at Startup

16

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 (fr Versuch 1 nicht erforderlich) und fgen 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)

Fgen 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 fgen 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

Fgen Sie diese Datei dem aktuellen Projekt hinzu , Kontextmen auf Source Group1 -> Add Files to Group 17

FH Frankfurt

Computertechnik Labor

19.03.09

7. Aktivierung Memory Window


Im Debuggermodus besteht die Mglichkeit die Speicherbelegung anzuzeigen durch den Modus Memory Window

Im Memory Window kann auch fr 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 hinzufgen. Kontextmen auf unspecified Setup PA 18

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

FH Frankfurt

Computertechnik Labor

19.03.09

Anschlieend wird das Programm gestartet. Im Diagramm ist der Signalverlauf ersichtlich. Nach kurzer Laufzeit Programm stoppen. Mit Hilfe des Cursors knnen die Zeiten ermittelt werden.

20

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 PersonalGrote 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 fgen Sie Ihrem Projekt hinzu. Folgende Funktionen stehen zur Verfgung: void UART_vInit(void); //Initalisierung UART void zeit (int m); m=5 ca. 300ms Zur Ausgabe verwenden Sie die printf-Funktion. Steuerzeichen: \r = rckstellen 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 Testgertes


Den Simulator fr das Testgert finden Sie unter http://ti.fb2.fh-frankfurt.de (PersonalGrote Dateien
Simulator Testgert).

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 Testgert unter VIEW Toolbox


21

FH Frankfurt

Computertechnik Labor

19.03.09

22

FH Frankfurt

Computertechnik Labor

19.03.09

23

FH Frankfurt

Computertechnik Labor

19.03.09

24

FH Frankfurt

Computertechnik Labor

19.03.09

25

FH Frankfurt

Computertechnik Labor

19.03.09

26

FH Frankfurt

Computertechnik Labor

19.03.09

27

FH Frankfurt

Computertechnik Labor

19.03.09

INSTRUCTION CODES - LCD-Modul LM162551 Sharp / LTN211R-10 Philips / DV-16244 DataVision Set Instruction RS R/ (Befehl) W Clear Display 0 0 Return Home Entry Mode Set Display ON/OFF Cursor or Display Shift Function Set 0 0 0 0 0 0 0 0 0 0 Instruction Code D D D D D D D D Beschreibung 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 Lscht den Anzeigespeicher und setzt den Cursor auf die Startposition. 0 0 0 0 0 0 1 * Setzt den Cursor auf die Startposition (1. Zeile, 1. Position) 0 0 0 0 0 1 I/ S Cursorverschiebung: ja/nein D und Richtung (schr. u. lesen) 0 0 0 0 1 D C B EIN/AUS: Display, Cursor, blinken der Cursors 0 0 0 1 S/ R/ * * Cursor- oder DisplayC L Verschiebung links/rechts 0 0 1 D N F * * Setzt Datenlnge, ZeilenL Anzahl, Format der Matrix 0 1 ACG Setzt die CG RAM Adresse (schreiben und lesen) 1 ADD Setzt die DD RAM Adresse (schreiben und lesen) B 1.1.1 AC Liest Busy Flag (BF) und F Adrezhler Schreibt Daten in den Write Data DD RAM oder CG RAM (inkr. autom. RAM-Adr.) Liest Daten vom 1.1.2 Read Data DD RAM oder CG RAM max. Zeit in s 1640 1600 1640 40 40 40 40 40 1 40 40

Set CG RAM 0 0 Address Set DD RAM 0 0 Address Read Busy 0 1 Flag & Adr. Write Data 1 0 to CG RAM or DD RAM Read Data 1 1 from CG or DD RAM * Doesnt 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 1 Steuerbits I/D S D C B S/C BF (Busy Flag) R/L DL (Data Length) N (Number) F (Character Font) Inkrementieren Shift Display EIN Display EIN Cursor EIN Blinken EIN Displayverschiebung aktiv Abarbeitung intern Verschieben nach rechts 8-Bitbus 2 Zeilen
28

0 Dekrementieren Shift Display AUS Display AUS Cursor AUS Blinken AUS Cursorverschiebung aktiv Eingabebereit Verschieben nach links 4-Bitbus 5 x 7 Punktmatrix

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 fr den zu sendenden Steuercode: Steuercode = 80h + ADD Der Zeichensatz des LCD-Moduls Die darstellbaren Zeichen und die Zeichencodes knnen 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 knne bis zu 8 Sonderzeichen auf der Punktmatrix 5 x 7 (+ Cursor 5 x 8) darstellen mit den Zeichencodes 0...7. Dazu mssen Sie vorher den Zeichengenerator (CG RAM) laden. Die CG RAM Pltze liegen zwischen 40h und 7Fh. Der Bereich 40h...47h enthlt 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 knnen. 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. ACG RS 1.1.3 Sendecode 1.1.4 Beschreibung CG RAM Adresse 7 6 5 4 3 2 1 0 (autom. inkrem.) 0 0 1 0 0 0 0 0 0 CG RAM Adresse 1. Reihe, 1. Zeichen 1 * * * 0 1 1 1 0 Code fr die 1. Reihe, 1. Zeichen 00h * * * 1 0 0 0 0 Code fr die 2. Reihe 01h * * * 1 1 1 1 0 Code fr die 3. Reihe 02h * * * 1 0 0 0 1 Code fr die 4. Reihe 03h * * * 0 1 1 1 1 Code fr die 5. Reihe 04h * * * 0 0 0 0 1 Code fr die 6. Reihe 05h * * * 0 1 1 1 0 Code fr die 7. Reihe 06h * * * 0 0 0 0 0 Code fr die 8. Reihe, Cursor-Position 07h 1 * * * 1 1 1 1 1 Code fr die 1. Reihe, 2. Zeichen 08h * * * 0 1 0 1 0 Code fr die 2. Reihe 09h * * * 0 1 0 1 0 Code fr die 3. Reihe 0Ah * * * 0 1 0 1 0 Code fr die 4. Reihe 0Bh * * * 0 1 0 1 0 Code fr die 5. Reihe 0Ch * * * 0 1 0 1 0 Code fr die 6. Reihe 0Dh * * * 1 1 1 1 1 Code fr die 7. Reihe 0Eh * * * 0 0 0 0 0 Code fr die 8. Reihe, Cursor-Position 0Fh * = egal Laut Instruction Code Tabelle ist das Bit D6 immer 1. Deshalb gilt fr den zu sendenden Steuercode: Steuercode = 40h + ACG
29

FH Frankfurt

Computertechnik Labor

19.03.09

30

FH Frankfurt

Computertechnik Labor

19.03.09

31

FH Frankfurt

Computertechnik Labor
Anschlussbelegung Busleisten

19.03.09

32

FH Frankfurt

Computertechnik Labor

19.03.09

33

FH Frankfurt

Computertechnik Labor

19.03.09

34

FH Frankfurt

Computertechnik Labor

19.03.09

35