This is an old revision of the document!
Aufgaben
Ziel ist es, ein Programm zu schreiben, welches die unten beschriebenen Aufgaben erüllt.
Aufwärmübung
Für Anfänger
Stellen Sie die Zahlen im Hexadezimalsystem zufällig auf der 7-Segment-Anzeige dar. Die Frequenz beträgt 1 Hz.
Lassen Sie die äußeren 6 Segmente der 7-Segment-Anzeige periodisch im Abstand von 500 ms aufleuchten.
Schreiben Sie ein Programm für das LCD, welches den Code und das zugehörige Symbol anzeigt. Verwenden Sie Codes von 0 bis 255. Jedes Code-Symbol-Paar wird 1 Sekunde lang auf dem Display angezeigt.
Schreiben Sie ein Programm, mit welchem das Symbol “X” über den Bildschrim bewegt werden kann. Mit dem Schalter S1 kann es nach links bewegt werden, mit Schalter S3 nach rechts und mit Schalter S2 wird die Reihe gewechselt.
Stellen Sie auf dem graphischen Display 10 Zeilen Text dar. Mit den Schaltern S1 und S2 kann innerhalb des Textes hoch- und runtergescrollt werden.
Erstellen Sie eine Benutzerschnittstelle über welche mit den drei Schaltern Text eingegeben werden kann. Ein Schalter wählt beispielsweise das Zeichen aus, der zweite überprüft das Zeichen und der dritte überprüft schließlich den Text. Die maximale Länge des Textes beträgt 10 Zeichen und der Text soll in umgekehrter Reihenfolge in der zweiten Reihe dargestellt werden. Sie können das lateinische Alphabet nutzen und das Display selbst auswählen.
Für Fortgeschrittene
Zeige die griechischen Buchstaben am graphischen LCD an. Stelle folgende Reihen dar:
“Widerstand Ω”, “∑R=∑πR²”, “π=3.141592”. Nutze den Quellcode von der HomeLab Library (von der Webseite).
Schreibe einen Konverter um dezimale Nummern in Binäre zu konvertieren. Nutze die Knöpfe S3-S1 um dezimale Nummern einzufügen ( S3 - Hunderte S2 - Zehner S1 - Einer ) in 10 Sekunden.
Z.B. das Drücken von S3 4-mal zeigt die 400 an. Zeige das Zeichen für den Start der Eingabe an und das Ergebnis in Binär. Nutze ein beliebiges LCD.
Schreibe eine Funktion welche ein Rechteck am graphischen LCD anzeigt wenn die Weite Länge und die Koordinate der oberen linken Ecke gegeben werden. Die Linien-dicke ist 1 Pixel. Überprüfe ob das Rechteck ins Display passt. Es ist wichtig die Library des HomeLab zu studieren.
Schreibe ein einfaches Wurm-Spiel am graphischen LCD. Die Weite des Wurms ist 1 Pixel und die Länge 5 Pixel. Der Wurm kann sich entweder nach links oder nach Rechts mit den Knöpfen drehen. Der Wurm muss Kollisionen mit der Wand vermeiden (vorher drehen). Bonus Punkte gibt es für die Möglichkeit Eier aufzuheben und den Wurm wachsen zu lassen. Die Einfachste Lösung ist es den Wurm aus dem Buchstaben “O” zu machen.
Schreibe ein Programm um verschiedene Wetterbedingungen am graphischen LCD darzustellen. Sonnig - Bild der Sonne, Regen - eine Wolke mit Regen, bewölkt - eine Wolke, Schnee - eine Schneeflocke. Die Größe der Bilder kann sich unterscheiden, wichtig ist nur, dass die Bilder sichtbar unterscheidbar sind. Eine Möglichkeit die Bilder durch einen Knopf zu ändern muss gegeben sein.
Fragen
Wie viele Pins nutzt der 7-Segment Nummern-Indikator (mit Punktsegment), wenn es direkt mit dem Controller verbunden ist? Wie viele Pins wären benötigt, wenn es über einen Driver kontrolliert wird? (driver - A6275)
Was bestimmt die Helligkeit des 7-Segment Nummern-Indikators? Wie kann sie angepasst werden wenn der 7-Segment Nummern-Indikator durch a) direkt oder b) über einen Driver (driver - A6275) kontrolliert wird?
Wenn der 7-Segment Nummern-Indikator direkt an Port A des Controllers angeschlossen ist so das Segment A PA0, B PA1 … und DP PA7 ist, welches sind dann die Werte vom PortA Register mit den Nummern 0…9?
Was ist der Unterschied zwischen 4-Bit und 8-Bit alphabetischen LCD Controllern?
Über welche Pins und wie wird das Backlight der alphanumerischen LCDs reguliert?
Welches I/O Protokoll nutzt das graphische LCD? Beschreibe den Sinn der I/O Pins.
Wie können nummern im Dezimalsystem zu binären konvertiert werden (Text) und umgekehrt.
Zeiche eine konsistente Schicht aus LCD mit der twisted nematic Technologie.
Wie werden Buchstaben im graphischen LCD angezeigt?
Wie unterscheiden sind Monochrome LCD von Farbigen?