Tag 4 7 Segment-Anzeige, File Include, LC-Display

Ähnliche Dokumente
Tag 3 Timer, ADC und PWM

Anwendung und Programmierung von Mikrocontrollern. Anwendung und Programmierung von Mikrocontrollern

Arduino für FunkAmateure

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

150 ma (bei eingeschalteter Hintergrundbeleuchtung)

Display Controller für ein 320x240 4 Bit Display

Entwicklungsboard 16F1824

HD44780-LC-Display am Atmel-AVR Mikrocontroller

Zusatzinformation zum USB-Flashdrive mit ARM und RS232

Arduino für FunkAmateure

Tag 2 Eingabe und Interrupts

I2C-Echtzeituhr am Atmel AVR

HelvePic32 Breadboard. Internet Data Logger

Haftkünstler auf dem Prüfstand. Online Ergänzung HOLGER FLORIAN BOHN OLGA SPECK THOMAS SPECK

Aufgabe 2 -Grafische Messwertdarstellung. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J.Hampel Dipl.-Ing. (FH) A.

Für den Anschluss dieses und anderer Module dieser Serie an das myavr Board steht ein Adapter zur Verfügung.

LCDT240128B-MT-SR Matrix-Touch-Screen

Arduino LCD Shield. Quelle:

MSP-EXP430G2. LaunchPad Entwicklungskit MSP-EXP430G2. Schnellstart mit dem Texas Instruments. LaunchPad Entwicklungskit

Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino

LCD-GRAFIKMODUL 120x32 PIXEL

Parallel-IO. Ports am ATmega128

GRAFIK 128x64 IN 2 GRÖSSEN MIT ST7565. preliminary

Fuses mit BASCOM und USBASP setzen

Programmierung Nibo 2 Teil 3 Display. * by nicaisystems

Rechnerarchitektur, Einführung in die Laborübungen

Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:

Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber

LCD-Display am MVUS (nur einfachste Betriebsweise im Text Display Modus - ausführliche Beschreibung )

Arduino LC-Display-Ansteuerung Seite 2

Wetterdaten online GND 3,3V VIN CLK MISO MOSI CS VBEN IRQ GND V D13 D12 D11 D10 D5 D3. Arduino

Überarbeitetes LCD Board (LCDB)

BOOTLOADER für AVR-Entwicklungsmodule

Microcontroller Kurs Programmieren Microcontroller Kurs/Johannes Fuchs 1

Bedienungsanleitung Version 1.0

PLIN-Slave Test-Slave für den LIN-Bus mit diversen I/Os. Benutzerhandbuch V1.1.0

Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber

USB-LCD-Textdisplay.

Die ganze Welt der Bauelemente

C.1 Serielle Schnittstelle, erstes Testprogramm (a)

SCAN OPERATOR 12. Bedienungsanleitung. Ab Version Internet:

Stopp-Uhr. Erstellen Sie ein Programm (in Zweier- bzw. Dreier-Gruppen), welches folgende Bedingungen erfüllt:

Makros sind Textersetzungen, welche vom Präprozessor aufgelöst werden. Dies Passiert bevor der Compiler die Datein verarbeitet.

ATmega169 Chip: Pin-Layout

AVR-Mikrocontroller in BASCOM programmieren

Es gibt die verschiedensten Ausführungen. Eine kleine Auswahl ist hier unten abgebildet.

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Labor Automatisierungstechnik

Modellgestütztes Software Engineering. Versuch 5. Wintersemester 2015

Bedienungsanleitung BOTEX DMX OPERATOR

Klausur Grundlagen der Programmierung

serielles 8-Digit LED Display PL0045

UART-Kommunikation mit dem Atmel AVR

Arduino - Einfacher Teiler

BASIC-Tiger Starter Kit. Tel: +49 (241) Fax: +49 (241)

Interrupt-Programmierung

Blue Eco 900 / Gebrauchsanleitung

Speicheraufbau des AT89C5131

DL100 Technisches Datenblatt - RS232 zu LCD-Konverter, Anzeigebaustein via RS232 (Nachfolger des LCDChipRS232)

Thermostat PL0045 mit Rampenfunktion. und Schaltausgang. Bedienungsanleitung

BLUE LINE BLAU NEGATIV MIT WEISSER LED

Ergänzungen zum Manual OS V 2.05/2.06

// Daniel Ettenhuber // Projekt Kameraslider // letzte Änderung: // //

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

Funktionen der UTFT-Library

Ansteuerung eines alphanumerischen. Display (mit PIC-Mikrocontroller)

Dokumentation Metronom

U Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer

Die Kleinsteuerung Comat BoxX (Mit Sprachmodul)

BLUE LINE BLAU NEGATIV MIT WEISSER LED

Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen.

Frei programmierbare 4-8 Digit / Bargraph LED-Anzeige für µcontrolleranwendungen

RN-Control ARDUINO Bibliothek ATMEL 32 Version 0.2

Die serielle Schnittstelle mit den Atmega32: USART

11: Echtzeitbetriebssystem ucos-ii

Bedienung des Infineon Evaluationboards XC167

Schaltungshinweise zum Linux Control System mit DIL/NetPC DNP/7520

Kombinierter Pitch Bend/Modulation Joystick GLOBAL) oder führt ein Aktion aus (WRITE, TAP TEMPO) Keyboard

Data Monitor Anzeige der zuletzt gesendeten bzw. empfangenen Daten

i2c-bus.de I2C-001 KURZBESCHREIBUNG I 2 C Modul mit PCF Bit I/O Port-Expander Dokument NR.: I2C-001-D-01

EA DOGM163W-A + EA LED55x31-W

A n l e i t u n g. Beamer- Treiber- Download (FBI EB/ 19 )

Projekt Nr. 15: Einen elektronischen Würfel erstellen

Fakultät für Informatik, Institut für Robotik Laborpraktikum I Legorobotik in JAVA EV3

Arbeitsblätter - ADC-Grundlagen -

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 4

MDE-Konfigurationsprogramm Version 1.12

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014

LCD - Anzeigensysteme

LCD-Verwaltungssoftware LCD-VSW

Bedienungsanleitung. Name:Programmierbarer LED Controller Model:TC420

ABB i-bus KNX LCD-Display LD/W

Der Rumpf. Titel Seite 3

i2c-bus.de I2C-002 KURZBESCHREIBUNG I 2 C Modul mit PCA Bit I/O Port-Expander Dokument NR.: I2C-002-D-01

Messwerterfassung mit dem Arduino und dem "Data logging shield" Mai 2011

Inbetriebnahme mit Tebis TX TX100 Verknüpfung

Transkript:

Tag 4 7 Segment-Anzeige, File Include, LC-Display 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1

Die 7-Segment-Anzeige Eigentlich 8-Segment-Anzeige Gesteuert über 8 Pins an Port B A-G entspricht 0-7 Sonst wie LED-Reihe Darstellung von Zeichen nicht einfach Jedes Zeichen muss explizit programmiert werden Einbindung von komplexer Funktionalität durch externe Dateien #include seven_seg.h F E H A G D B C 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 2

Liquid-Crystal-Display (Flüssigkristalldisplay) Eigenschaften 128x64 Pixel Gesteuert über 30 Pins per Displaycontroller Hintergrundbeleuchtung Keine Programmierung des Displays! Nur der Controller wird gesteuert! 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 3

128x64 Pixel 8 Zeilen (jeweils 8 Pixel hoch) Jede Zeile enthält 128 Bytes Jedes Byte beschreibt eine Spalte innerhalb einer Zeile 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 4

128x64 Pixel 8 Zeilen (jeweils 8 Pixel hoch) 1. Zeile Jede Zeile enthält 128 Bytes Jedes Byte beschreibt eine Spalte innerhalb einer Zeile 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 5

128x64 Pixel 8 Zeilen (jeweils 8 Pixel hoch) Jede Zeile enthält 128 Bytes Jedes Byte beschreibt eine Spalte innerhalb einer Zeile 1. Zeile, Byte 3 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 6

128x64 Pixel 8 Zeilen (jeweils 8 Pixel hoch) Jede Zeile enthält 128 Bytes Jedes Byte beschreibt eine Spalte innerhalb einer Zeile 1. Zeile, Byte 3, Bit 2 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 7

Grundlegende Funktionen zur Kommunikation mit dem Displaycontroller: Senden eines Bytes an den Controller void lcd_send(uint8_t c); Senden eines Datenbytes an den Controller (verwendet lcd_send(c)) void lcd_data(uint8_t data); Senden eines Kommando-Bytes an den Controller (verwendet lcd_send(c)) void lcd_command(uint8_t cmd); Lesen eines Bytes vom Controller uint8_t lcd_read(); 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 8

Abbildung: Datenblatt KS0713 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 9

Programmcode: void lcd_send(uint8_t c) { LCD_CTL &= ~(1 << LCD_RW); // write mode LCD_DATD = 0xff; // data direction: output LCD_DAT = c; // data LCD_CTL &= ~(1 << LCD_CS); // chip select on LCD_CTL = (1 << LCD_EN); // write enable on _delay_us(1); // >125 ns delay LCD_CTL &= ~(1 << LCD_EN); // write enable off LCD_CTL = (1 << LCD_CS); // chip select off } 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 10

Kompliziertere Funktionen: Initialisieren des Displays void lcd_init(void); An eine bestimmte Displaystelle springen void lcd_goto(uint8_t col, uint8_t row); Die untersten 3 Bit von row werden nicht berücksichtigt (weil keine Positionierung innerhalb einer Zeile möglich ist) In eine bestimmt Displayzeile springen void lcd_gotoline(uint8_t line); Gesamten Displayinhalt löschen void lcd_clear(); 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 11

Einzelne Pixel manipulieren Status eines einzelnen Pixel auslesen uint8_t lcd_read_point(uint8_t x, uint8_t y); Einzelnen Pixel schwärzen void lcd_draw_point(uint8_t x, uint8_t y); Einzelnen Pixel löschen void lcd_erase_point(uint8_t x, uint8_t y); Einzelnen Pixel umschalten void lcd_toggle_point(uint8_t x, uint8_t y); 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 12

Textausgabe Benötigt pixelweise definierten Font (#include font1.h ) Ausgeben eines einzelnen Zeichens void lcd_char(uint8_t c); Ausgeben eines kompletten Strings void lcd_text(uint8_t *s); 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 13

Aufgaben Zeichensatz für die 7-Segment-Anzeige erweitern Mehrzeiligen Text auf dem LC-Display ausgeben Zeichensatz für das LC-Display verändern Funktion zum Zeichnen einer Verbindungslinie zwischen zwei Punkten auf dem Display Bewegen eines Objekts mit dem Joystick über das Display Ausgeben einer Melodie auf dem Lautsprecher (Timer im CTC Modus) 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 14