Aufgabe 1 -SysTick und ADC. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A.

Größe: px
Ab Seite anzeigen:

Download "Aufgabe 1 -SysTick und ADC. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A."

Transkript

1 Aufgabe 1 -SysTick und ADC Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber

2 Inhalt 1 Einführung und Grundlagen Grundlagen zum SysTick-Timer Initialisierung SysTick starten SysTick mit Interrupt Zeitsteuerung Nutzen der Zeitsteuerung Grundlagen zum Interrupt Grundlagen zum Analog-Digital-Wandler (ADC) Typ Initialisierung Steuerung des ADC Quantisierung Umwandlung in nutzbare Werte Fehlerbetrachtung Grundlagen zur Dezimalzahlendarstellung Literatur Aufgaben Aufgabe Lauflicht mit SysTick Arbeitspunkte und Hinweise: Abnahmepunkte für Aufgabe AD-Wandlung mittels Taster Aufgabenpunkte für Abnahmepunkte für Aufgabe AD-Wandlung mittels SysTick Aufgabenpunkte für Abnahmepunkte für Mikrocontroller Labor Medizintechnik - 1 -

3 1 Einführung und Grundlagen Eine der Hauptaufgaben von kleinen Mikrocontrollersystemen besteht in der Erfassung von Daten. Diese Daten können in digitaler Form, also Spannungspegel von Pins (z.b. Taster gedrückt oder nicht) vorliegen. Bei analogen Signalen kommt ein Analog-Digital-Wandler zum Einsatz. Er kann wie in unserem Fall im Controller vorhanden sein oder aber als externer Baustein über Interfaces (SPI, I2C oder Datenbus) mit dem µc kommunizieren. In der aktuellen Aufgabe soll der Spannungswert des Potentiometers in zeitlich definierten Abständen erfasst und in unterschiedlichen Zahlenformaten dargestellt werden. Die Erzeugung dieser Abstände soll der SysTick-Timer übernehmen. 1.1 Grundlagen zum SysTick-Timer Dieser kleine Timer ist in allen Cortex-Derivaten enthalten und dient primär dazu, einen Interrupt für den Systemtimer zu erzeugen, wie er bei Betriebssystemen benötigt wird. In vielen Anwendungen wird der SysTick als zyklischer Zeitgeber verwendet, d.h. er wird auf einen bestimmten Wert initialisiert und seine Interruptmöglichkeit genutzt. Nach Ablauf der Zeitspanne tritt nun der Interrupt des SysTicks auf und innerhalb der ISR kann nun die Aufgabe erledigt oder angestoßen werden. Wenn er die Aufgabe selber erledigen soll, so wird der Programmcode innerhalb der ISR geschrieben. Bei größeren Aufgaben stößt er die Bearbeitung nur an, d.h. er setzt eine Variable auf einen dafür notwendigen Wert und ein anderer Programmteil, meistens die Main-Schleife, bearbeitet dann die Anforderung. Für einen etwas flexibleren Einsatz wurden in der Bibliothek für das M_Dongle folgende Funktionen realisiert Initialisierung Mit Hilfe von DrvSysTick_Init_ms(uint32_t msec); wird er für Abstände in Millisekunden konfiguriert. Dabei werden die Clock-Einstellungen des Systems verwendet und der SysTick wird damit mit einem Takt von 11,0592 MHz versorgt. Mit dieser Einstellung können Zeiten bis 1,517 s erzeugt werden. Für seine Funktion als Systemtimer ist die Zeitspanne ausreichend. Die SysTick-Einheit lädt automatisch nach dem Ablauf der eingestellten Zeit den alten Wert SysTick starten Das Makro M_SYSTICK_ENABLE; startet den Timer. Normalerweise wird der SysTick nur gestartet, aber nie wieder gestoppt. Mikrocontroller Labor Medizintechnik - 2 -

4 1.1.3 SysTick mit Interrupt Mit dem nächsten Makro M_SYSTICK_INT_ENABLE; wird der SysTick interruptfähig gemacht. Diese Betriebsart macht am meisten Sinn. Da es sich um einen Interrupt handelt, muss auch eine zugehörige Serviceroutine geschrieben werden, die bei Keil einen festgelegten Namen hat: void SysTick_Handler (void) // SysTick Interrupt Handler {...Insert function here } Zeitsteuerung Es ist nicht immer sinnvoll, Aufgaben innerhalb der Endlosschleife mit der vollen Ausführungsgeschwindigkeit des Mikrocontrollers zu bearbeiten. In unseren Fall ist dies der AD-Wandler, der ohne Bremse etwa Werte pro Sekunde erzeugt Nutzen der Zeitsteuerung Um eine bestimmte Zeit zu warten, könnten auch die Funktionen DrvSystem_Delay() oder DrvSystem_Wait_us() verwendet werden. Der Nachteil dieser Funktionen ist, dass sie während der Wartezeit das restliche Programm blockieren. Die Zeitsteuerung umgeht dieses Problem, da sie der Hauptschleife (der while(1)) nach jedem abgelaufenen Zeitintervall ein Signal gibt, das mit Hilfe des SysTick-Timers generiert wird. Dieser erzeugt nach jedem Zeitintervall einen Interrupt, in dessen Service Routine dann entschieden wird, was geschieht. In unserem Fall wird eine AD-Wandlung gestartet. In der Hauptschleife wird nur abgefragt, ob die Wandlung fertig ist und dann wird das Ergebnis entsprechend der Anforderung der Zahlenausgabe auf dem LCD dargestellt. Eine weitere Möglichkeit wäre, der Hauptschleife eine Meldung zu schicken, dass das Intervall abgelaufen ist und sie kann dann die entsprechende Aktion auslösen. 1.2 Grundlagen zu Interrupts Ein Interrupt ist eine Unterbrechung des normalen Programmablaufes. Dies bedeutet, dass die CPU die Bearbeitung des aktuellen Programmcodes stoppt und den Code aus der ISR (Interrupt Service Routine) ausführt. Ist der Code bearbeitet, kehrt die CPU wieder an die Stelle zurück, an der vorher gestoppt wurde und führt das Programm weiter aus. Ein Sinn von Interrupts ist es, auf Ereignisse reagieren zu können, ohne ständig auf diese hin abfragen zu müssen. Als Beispiel soll eine Eieruhr dienen. Ohne diese Interruptquelle müssten sie in bestimmten Zeitabständen nachschauen, ob die Kochzeit schon erreicht ist. Mit Hilfe des Signaltones meldet die Uhr den Ablauf der Zeit, sie unterbrechen ihre aktuelle Tätigkeit, Eier aus dem heißen Wasser (Funktion der ISR) und arbeiten weiter. Mikrocontroller Labor Medizintechnik - 3 -

5 1.3 Grundlagen zum Analog-Digital-Wandler (ADC) ADCs dienen dazu, eine angelegte analoge Spannung in einen digitalen Wert zu verwandeln. Die Hauptmerkmale sind die Wandungsgeschwindigkeit, die Auflösung und die Genauigkeit Typ Der im Mikrocontroller verbaute Analog-Digital-Wandler kommt aus der Familie der ADCs mit sukzessiver Approximation mit einer Auflösung von 12 Bit und max Werten pro Sekunde. Da die Genauigkeit nicht so gut ist, rät Nuvoton, nur 10 Bit zu nutzen Initialisierung Damit der ADC genutzt werden kann, müssen verschieden Einstellungen in den Registern des NUC130 gemacht werden. Die dafür notwendige Funktion ist in der Bibliothek vorhanden: DrvADC_Init(CHANNEL_2_SELECT); // Poti auf dem M_Dongle Sie stellt alle notwendigen Register auf die korrekten Werte ein, als einziges muss nur noch der verwendete Kanal angegeben werden Steuerung des ADC Mit dem Makro kann der ADC gestartet werden: M_ADC_CONVERT_START; Das folgende Makro gibt den aktuellen Zustand des Wandlungsvorganges wieder: u32result = M_ADC_CONVERT_DONE; // Lesen des ADF-Flags Im Fall einer 0 ist die Wandlung noch nicht beendet, wird eine 1 zurückgegeben, so kann dann mit u16result = M_ADC_DATA_READ(CHANNEL_2); // Poti auf dem M_Dongle der Wert ausgelesen werden und anschließend muss mit M_ADC_ADF_CLR; // Löschen des ADF-Flags die Meldung über die Beendigung der Wandlung gelöscht werden Quantisierung Das Datenregister des ADCs gibt die Anzahl der Quantisierungsstufen an. Ein Wandler mit 12 Bit erzeugt 4096 Stufen seiner Referenzspannung. Da das Laborsystem eine Referenzspannung von 3.3 Volt hat, ergibt sich eine Quantisierungsstufe von 3.3 Volt / 4095 = mv. Das bedeutet, dass der Wandler Spannungsunterschiede von >0.806 mv erfassen kann. Um den absoluten Wert der Spannung zu ermitteln, muss die Anzahl der Quantisierungsstufen mit mv multipliziert werden. Da die Multiplikation mit Gleitkommazahlen für den µc eine große CPU-Last darstellt, kann mit dem Trick u16adcmv = u16adcreg * 806 / 1000; // Umwandlung in mv mit viel weniger Rechenleistung ein Ergebnis erzielt werden. Mikrocontroller Labor Medizintechnik - 4 -

6 1.3.5 Umwandlung in nutzbare Werte Hier können nun zwei Wege beschritten werden. Der eine Weg multipliziert einfach die Quantisierungsstufenwert mit dem Datenregister des ADC, in unserem Fall ADC-Datenregister * 806 mv / 1000 und als Ergebnis kommt der ADC-Wert in mv heraus. Für einen Umrechnungsalgorithmus ist es unerheblich, ob es Vielfache von Volt oder mv sind, da die ermittelten Zahlen für beide Einheiten gleich sind. Der zweite Weg wurde in der Vorlesung schon behandelt und erhöht die Genauigkeit der Umrechnung indem nicht mit mv sondern mit µv multipliziert wird Fehlerbetrachtung Als große Fehlerquelle kommt der ADC selbst in Betracht, weshalb Nuvoton für den NUC130 angibt, dass nur 10 Bit genutzt werden sollen. Es üblich ist, nie einem einzigen ADC-Wert zu vertrauen, sondern Mittelwerte über Vielfache von 2 zu nutzen. Der Trick mit den Vielfachen kommt daher, dass die Division dann durch eine viel schnellere Schiebeoperation ersetzt werden kann Grundlagen zur Dezimalzahlendarstellung Variablen oder Register-/Speicherinhalte werden entweder als dezimale oder hexadezimale Zahlen dargestellt. Für beide Formate gilt, es müssen eigene Funktionen zur Umwandlung in darstellbare Zeichen geschrieben werden. Dafür ist es notwendig, sich vorher Gedanken über die Umwandlung in das dezimale Zahlenformat bzw. die Darstellung der gewandelten Zahl zu machen. Als Beispiel soll ein Wert aus dem Versuch mit dem ADC dienen: ADC-Wert in Hex: 0x80 ADC-Wert als Dezimalzahl: 1,650 Die Stelle für das Komma ist nur aus der Aufgabe bekannt, d.h. wenn die Ausgabe in Volt erfolgen soll, muss das Komma zwischen der ersten und zweiten Stelle eingefügt werden. Soll die Ausgabe in mv erfolgen, so wird kein Komma benötigt. Das ADC-Register enthält ja eigentlich nur Vielfache der Quantisierungsstufe (0.806 mv), die maximal den Wert von 3300 mv ergeben können. Für das Labor wird deshalb eine Umwandlungsfunktion benötigt, die eine Zahl mit vier Stellen berechnen kann. Der Programmierer entscheidet dann nach der Umwandlung, an welcher Stelle er das Komma setzt. Das setzt aber voraus, dass nur die einzelnen Stellen erzeugt werden. Der Hintergrund ist der, dass nur eine Funktion zur Umwandlung benötigt wird, die Skalierung (das Komma) wird ja nur für die Ausgabe benötigt. 2 Literatur µvision User's Guide C_Programmierung_mit_dem_M_Dongle.pdf, HS Pforzheim 2014 Kapitel aus der Vorlesung Mikrocontroller Labor Medizintechnik - 5 -

7 3 Aufgaben Mit Hilfe von SysTick, ADC und LCD soll eine Applikation entstehen, die in zeitlich definierten Abständen die Spannung vom Poti erfasst und umwandelt, in lesbare Zahlen umrechnet und anschließend auf dem LCD als Zahlenwerte ausgibt. Für die Darstellung auf dem LCD ist es notwendig, die Registerwerte in lesbare Zeichen um zu wandeln. Dies kann mit mathematischer Hilfe oder mittels einer Tabelle realisiert werden. Die Grundfunktion ermittelt aus den übergebenen 4 Bit das zugehörige darstellbare Zeichen. Übergeordnete Funktionen nutzen diese Grundfunktion dann, um größere darstellbare Zahlen zu erzeugen, wobei das Zahlenformat bei der Grundfunktion keine Rolle spielt. Für den ADC könnteeine Funktion geschrieben werden, die eine Wandlung auslöst, auf das Ende warten, den Wert in lesbare Zeichen umwandelt und auf das LCD ausgibt. Solche Funktionen sind unflexibel und nicht wieder verwendbar. Es ist besser, kleinere Funktionen zu erzeugen, die in einer Sequenz die obige ersetzen, doch auch einzeln in anderem Zusammenhang genutzt werden können. 3.1 Aufgabe Lauflicht mit SysTick Die erste Aufgabe soll in den Umgang mit dem SysTick einführen. Mit dessen Hilfe soll ein kleines Lauflicht realisiert werden. Die Lauflichtfunktion selbst wird in der ISR realisiert, weshalb die while(1) leer bleibt. Jede Sekunde soll die leuchtende LED um eine Position nach links geschoben werden, was einen Schiebetakt von einem Hertz ergibt. Für zeitliche Aufgaben, die mit Hilfe des SysTick oder mit Timern gelöst werden, gilt es folgendes zu beachten: - Die Aufgabe muss innerhalb des gewählten Zeitintervalls bearbeitet werden können - Die Zeitschleife entsteht nur durch die abgelaufene Zeit und dem anschließend ausgeführten Programmcode Als Erklärung für die Zeitschleife soll folgendes Szenario gelten: Sie stellen sich einen Kurzzeitwecker und öffnen jedes Mal, wenn dieser klingelt, ein Fenster und schließen es wieder. Ein Nachbarn sieht jetzt nur, wie sie in einem bestimmten Zeitabstand das Fenster öffnen und schließen. Dass sie in der restlichen Zeit etwas Anderes machen, sieht er nicht. Er sieht nur die Schleife, die keine ist, da sie ja nur etwas ausführen, dass von dem Wecker ausgelöst wird Arbeitspunkte und Hinweise: Machen Sie sich mit der Deklaration static und den Operatoren ~ bzw<<,>> vertraut. Denken Sie daran, dass die LEDs low aktiv sind. Anleitung und die notwendigen Kapitel aus dem Vorlesungsscript lesen Struktogramm / PAP für die ISR zeichnen Projekt anlegen und die notwendigen Initialisierungen einfügen Abnahmepunkte für 1.1 Das funktionierende Programm wurde vorgeführt Struktogramm / PAP für ISR Unterschrift: Mikrocontroller Labor Medizintechnik - 6 -

8 3.2 Aufgabe 1.2- AD-Wandlung mittels Taster Für die ersten Gehversuche mit dem ADC soll ein Programm mit manuellem Wandlungsstart geschrieben werden. Ein Tastendruck auf SW2 soll eine AD-Wandlung starten. Wenn der ADC fertig ist, wird dies durch ein aktives ADC-Flag signalisiert. In der Main-Loop werden SW2 und das ADC-Flag ADSR.ADF abgefragt und bei True dann die jeweilige Aktion ausgelöst. Ein aktiver Taster startet dabei nur die AD-Wandlung. Ist der ADC fertig, werden die Daten von Kanal 2 eingelesen und entsprechend bearbeitet. Damit die Wandlungen nicht zu schnell aufeinander folgen, soll eine Zeitschleife von 25 ms eingefügt werden. Das Datenregister des ADC enthält die Vielfachen der Quantisierungsstufe (siehe 1.3.4), die auf dem LCD dargestellt werden sollen. Zur Umrechnung des Registers in lesbare Zahlen kann die Funktion GLCD_ui16_to_4_BCD( ); verwendet werden. Denken Sie sich einen eleganten Weg aus, wie mit vorhandener Funktion das Ergebnis der obigen Funktion auf dem LCD dargestellt werden kann. Da es keinen Sinn macht, identische Werte immer wieder auf das LCD zu schreiben, muss vor der Ausgabe geprüft werden, ob sich der ADC-Wert verändert hat. Nur veränderte Werte werden dann umgerechnet und ausgegeben. Zugehörige LCD-Ansicht nach dem Start: ADC-Aufgabe ADC Digits: Aufgabenpunkte für 1.2 Anleitung und die notwendigen Kapitel aus dem Vorlesungsscript lesen Struktogramm für das Hauptfile und die Umwandlungsroutine zeichnen Projekt anlegen und die notwendigen Initialisierungen einfügen Main-Loop erstellen (Abfrage von Taster SW2 bzw. ADC-Done) Ausgabe auf das LCD mit vorhandenen Funktionen, wenn ADC-DONE true ist Abnahmepunkte für 1.2 Das funktionierende Programm wurde vorgeführt Struktogramm / PAP für Hauptprogramm Struktogramm / PAP für Umwandlungsroutine Korrekte Main-Loop Korrekte LCD-Ansicht Ausgabe nur wenn neue veränderte Daten vorhanden Code korrekt formatiert (Allman Style) Unterschrift: Mikrocontroller Labor Medizintechnik - 7 -

9 3.3 Aufgabe AD-Wandlung mittels SysTick Aus den beiden einfachen Programmen soll nun die erste sinnvolle Applikation entstehen, ein kleines Voltmeter. Die ADC-Wandlung soll vom User ein- bzw. ausgeschaltet werden können. Dazu muss Aufgabe 3.2 so erweitert werden, dass der Taster SW2 die zeitgesteuerte Wandlung frei gibt und der Taster SW3 siestoppt. Dazu wird eine globale Variable benötigt, welche von SW2 auf TRUE und von SW3 auf FALSE gesetzt wird. Default nach dem Reset ist FALSE. Der SysTick wird auf 250 ms initialisiert. In der ISR des SysTicks wird die globale Variable überwacht (Abfrage auf TRUE) und gegebenenfalls eine AD-Wandlung angestoßen. Damit ist die Arbeit des Sys- Tick beendet. Im Hauptprogramm wird das ADC-Flag ADSR.ADF geprüft und wenn neue Daten da sind, werden diese ausgelesen, auf Veränderung geprüft und wenn notwendig in lesbare Zeichen umgewandelt (ADC-Flag muss danach wieder gelöscht werden). Da die Ausgabe von 3.2 nur die Vielfachen der Quantisierungstufe angibt, soll der Dezimalwert der entsprechenden Spannung ausgegeben werden. Die Umwandlung kann nach dem Vorschlag aus dem Vorlesungsscript oder mittels u16adc = u16adc * 806 / 1000; // Umwandlung in mv erfolgen. Obige Variable enthält nun die Spannung in mv, sie muss nur noch in lesbare Zeichen umgewandelt werden. Als letztes wird eine Funktion benötigt, die die erzeugten Zeichen für das LCD ausgibt. Sie setzt voraus, das der Textcursor schon an der richtigen Stelle steht und gibt nur noch die Zeichen aus dem Array aus, allerdings beachtet sie einen Parameter, der bei ihrem Aufruf mit übergeben wurde, ob ein Trenner (Punkt) benötigt wird oder nicht. Zugehörige LCD-Ansicht nach dem Start: ADC-Aufgabe ADC Digits: 0000 ADC Wert: 0000 mv ADC Wert: V Aufgabenpunkte für 1.3 Anleitung und die notwendigen Kapitel aus dem Vorlesungsscript lesen Struktogramm für das Hauptfile, SysTick-ISR und die Ausgaberoutine zeichnen Projekt kopieren und die notwendigen Initialisierungen einfügen Main-Loop erstellen (Abfrage von Taster SW2, SW3 bzw. ADC-Flag) ISR für SysTick modifizieren Funktion für die Ausgabe der Zeichen auf das LCD erstellen Abnahmepunkte für 1.3 Das funktionierende Programm wurde vorgeführt Struktogramm / PAP für Hauptprogramm Struktogramm / PAP für SysTick ISR Struktogramm / PAP für Ausgaberoutine Korrekte Main-Loop und LCD-Ansicht Korrekter SysTick Code korrekt formatiert (Allman Style) Unterschrift: Mikrocontroller Labor Medizintechnik - 8 -

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

Aufgabe 2 - ADC. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber Aufgabe 2 - ADC Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber 18.10.2016 Gruppe A Inhalt 1 Einführung und Grundlagen... 2 1.1 Grundlagen zum

Mehr

Aufgabe 1 - SysTick und ADC. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A.

Aufgabe 1 - SysTick und ADC. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Aufgabe 1 - SysTick und ADC Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber 28.06.2017 Inhalt 1 Einführung und Grundlagen... 2 1.1 Grundlagen

Mehr

Versuch 4 M_Dongle Servotester. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A.

Versuch 4 M_Dongle Servotester. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Versuch 4 M_Dongle Servotester Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber 11.06.2016 Inhalt 1 Einführung... 2 1.1 Grundlagen Modellbau-Servo...

Mehr

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

Aufgabe 2 -Grafische Messwertdarstellung. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J.Hampel Dipl.-Ing. (FH) A. Aufgabe 2 -Grafische Messwertdarstellung Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J.Hampel Dipl.-Ing. (FH) A. Reber 22.10.2014 Inhalt 1 Einführung und Grundlagen... 2 1.1

Mehr

Aufgabe 3, UART. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber

Aufgabe 3, UART. Labor Mikrocontroller mit NUC130. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber Aufgabe 3, UART Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber 23.11.2016 Gruppe A Mikrocontroller Labor EIT/TI Gruppe A - 1 - Inhalt 1 Einführung...

Mehr

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

Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber Übungen zum Tutorium Arbeiten mit dem M_Dongle Labor Mikrocontroller mit NUC130 02.11.2016 Version 7.01 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber Inhalt 1 Portpins verwenden...

Mehr

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

Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber Übungen zum Tutorium Arbeiten mit dem M_Dongle Labor Mikrocontroller mit NUC130 11.4.2014 Version 3.1 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber Inhalt 1 Portpins verwenden...

Mehr

Vorbereitung. Teil D Analog-Digital-Wandler 1

Vorbereitung. Teil D Analog-Digital-Wandler 1 Vorbereitung So wird der Analog-Digital-Wandler des Mikrocontrollers ATmega328P initialisiert: ADMUX = _BV(REFS0); ADCSRA = _BV(ADEN) _BV(ADPS2) _BV(ADPS1) _BV(ADPS0); Der Analog-Digital-Wandler ist im

Mehr

D.1 Vorbereitung. Teil D Analog-Digital-Wandler 1

D.1 Vorbereitung. Teil D Analog-Digital-Wandler 1 D.1 Vorbereitung So wird der Analog-Digital-Wandler des Mikrocontrollers ATmega328P initialisiert: ADMUX = _BV(REFS0); ADCSRA = _BV(ADEN) _BV(ADPS2) _BV(ADPS1) _BV(ADPS0); Der Analog-Digital-Wandler ist

Mehr

Aufgabe 4, I2C Kommunikation mit Temperatursensor. Labor Mikrocontroller mit NUC130

Aufgabe 4, I2C Kommunikation mit Temperatursensor. Labor Mikrocontroller mit NUC130 Aufgabe 4, I2C Kommunikation mit Temperatursensor Labor Mikrocontroller mit NUC130 Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) J. Hampel Dipl.-Ing. (FH) A. Reber 09.12.2016 Gruppe A Inhalt 1 Einführung...

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil 8: gavrasmw und weitere Beispiele

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil 8: gavrasmw und weitere Beispiele Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil 8: gavrasmw und weitere Beispiele gavrasmw

Mehr

Die Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber

Die Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber Die Entwicklungsumgebung Labor Technische Informatik Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber 19.04.2011 Inhalt 1 Das Keil MCB1700 Board...2 2 Keil ARM MDK Toolchain...3 2.1 Projekterstellung...3

Mehr

Tag 2 Eingabe und Interrupts

Tag 2 Eingabe und Interrupts Tag 2 Eingabe und Interrupts 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Taster Direkt an Portpin angeschlossen (etwa PINB0, PIND3) Pull-Up-Widerstände einschalten!

Mehr

V cc. 1 k. 7 mal 150 Ohm

V cc. 1 k. 7 mal 150 Ohm Ein Digitalvoltmeter Seite 1 von 6 Eine Multiplex-Anzeige Mit diesem Projekt wird das Ziel verfolgt, eine mehrstellige numerische Anzeige für Mikrocontroller-Systeme zu realisieren. Die Multiplex-Anzeige

Mehr

Klausur PHMJ02 SS2012. Mikrocontroller und Robotik. Mittwoch GUTEN ERFOLG!!!

Klausur PHMJ02 SS2012. Mikrocontroller und Robotik. Mittwoch GUTEN ERFOLG!!! Universität Koblenz Landau Name: Musterlösung Institut Naturwissenschaften Vorname:... Abteilung Physik Matr. Nr.:... Studiengang:... Klausur PHMJ02 SS2012 Mikrocontroller und Robotik Mittwoch 15.8.2012

Mehr

Zähler- und Zeitgeber-Baugruppen

Zähler- und Zeitgeber-Baugruppen Zähler- und Zeitgeber-Baugruppen Sinn: häufig müssen Zeitbedingungen eingehalten werden z.b.: einige ms warten, Häufigkeit von Ereignissen zählen etc... Lösung: 1.) Zeitschleifen = Programm abarbeiten,

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Versuch 1. Labor Technische Informatik. Prof. Dr.-Ing. F.Kesel Dipl.-Ing. (FH) A. Reber

Versuch 1. Labor Technische Informatik. Prof. Dr.-Ing. F.Kesel Dipl.-Ing. (FH) A. Reber Versuch 1 Labor Technische Informatik Prof. Dr.-Ing. F.Kesel Dipl.-Ing. (FH) A. Reber 19.04.2011 Inhalt 1 Unterschiede zum 8051 Labor...2 2 Neue Grundlagen für den Sourcecode...2 2.1 Variablen...2 2.2

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

myavr Programmierung in C

myavr Programmierung in C myavr Programmierung in C Stefan Goebel Februar 2017 Stefan Goebel myavr Programmierung in C Februar 2017 1 / 12 Grundgerüst... braucht man immer! #include // Register- und Konstantendefinitionen

Mehr

UART und Interrupts. Versuch Nr. 7

UART und Interrupts. Versuch Nr. 7 Universität Koblenz Landau Name:..... Institut für Physik Vorname:..... Hardwarepraktikum für Informatiker Matr. Nr.:..... UART und Interrupts Versuch Nr. 7 Vorkenntnisse: Aufbau und Arbeitsweise einer

Mehr

Praktikum Mikrocomputertechnik

Praktikum Mikrocomputertechnik Praktikum Mikrocomputertechnik Versuch 5j: PEC & ADC Labor: Termin der Durchführung: IE-Labor oder DT-Labor Teilnehmer: Gruppe: Semester: Student 1: Student 2: Testat: Datum: Bemerkungen: Unterschrift:

Mehr

Analog-Digital-Converter

Analog-Digital-Converter Analog-Digital-Converter Funktionsprinzip ADC bei ATmega128 Beispiel in C Funktionsprinzip 1 Analog-Digital-Wandlung Wandelt analoge Spannung / analogen Strom (Messgröße) in einen binären Wert um, der

Mehr

Alkoholsensor MQ135, Time-Delay, Mailbox und LCD

Alkoholsensor MQ135, Time-Delay, Mailbox und LCD Projektaufgaben für Teil 2 Software Aus den gegebenen Aufgaben muss pro Gruppe eine Aufgabe ausgewählt werden. Die Softwareaufgabe kann unabhängig vom Thema der Hardwareaufgabe gewählt werden, allerdings

Mehr

LED Skalenbeleuchtung mit einem Arduino

LED Skalenbeleuchtung mit einem Arduino Projektteil: LED Skalenbeleuchtung mit einem Arduino Aufgaben: - Ein Taster schaltet die LED-Beleuchtung ein - Nach Ablauf einer im Programm hinterlegten Zeit schaltet sich die Beleuchtung von selbst wieder

Mehr

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller Mini- Mikroprozessor-Experimentier-System mit einem 8051-Mikrocontroller Version 1.0b vom 04.10.2004 14:21 Inhalt 1 Einleitung...3 2 Hardware...4 2.1 Übersicht...4 2.2 Mikrocontroller AT89C51RB2...5 2.3

Mehr

E Mikrocontroller-Programmierung

E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden

Mehr

Übungsaufgaben. Stand

Übungsaufgaben. Stand AUTOMATISIERUNGSTECHNIK AU1 ÜBUNGSAUFGABEN 1 Übungsaufgaben Stand 1.1 5. 5. 2008 1. Lottozahlen. Schreiben Sie ein Programm zum Ziehen von Lottozahlen. Darstellung auf zwei Siebensegmentanzeigen. Die Anzeigen

Mehr

Serielle Kommunikation - Kodierung

Serielle Kommunikation - Kodierung Serielle Kommunikation - Kodierung (1.) Erstellen Sie nachfolgende Klasse: Dabei haben die Methoden folgende Funktionen: exists(): Überprüft, ob eine serielle Schnittstelle existiert getproperties(): Liefert

Mehr

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232 Inhaltsverzeichnis 1 Ein-Bit-Rechner... 15 1.1 Rechenwerk... 15 1.1.1 Register und Takt... 16 1.1.2 Zwischenspeicher... 17 1.1.3 Native und emulierte Datenmanipulationsbefehle... 18 1.2 Steuerwerk... 20

Mehr

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch

Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Microcontroller Praktikum SS2010 Dipl. Ing. R. Reisch Die wichtigsten Unterlagen/Tools Für das Praktikum Unterlagen/Kenntnisse/Tools wichtig: Datenblatt des AT80USB1287 µc Schaltplan des im Praktikum verwendeten

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

Arbeitsblätter - ADC-Grundlagen -

Arbeitsblätter - ADC-Grundlagen - Seite 1 / 8 Wenn es darum geht Spannungen zu messen, wird der Analog Digital Converter benutzt. Er konvertiert eine elektrische Spannung in eine Digitalzahl. Diese kann dann in gewohnter Weise von einem

Mehr

Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös

Atmega Interrupts. Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Atmega Interrupts Rachid Abdallah Gruppe 3 Betreuer : Benjamin Bös Inhaltsverzeichnis Vorbereitung Was Sind Interrupts Interruptvektoren Software Interrupts Hardware Interrupts Quellen 2 Vorbereitung Rechner

Mehr

Infokarte: Snap4Arduino

Infokarte: Snap4Arduino Infokarte: Snap4Arduino Ein Arduino-Projekt erstellen Um ein neues Arduino-Projekt in Snap4Arduino zu erstellen, wird das Programm geöffnet. Snap erzeugt automatisch ein neues Projekt. Soll ein bereits

Mehr

Programmierübungen in Assembler

Programmierübungen in Assembler Programmierübungen in Assembler 1. LED Ein-/Ausschalten Verwendet: Ports An Portpin P3.0 ist eine LED angeschlossen. An Portpin P1.0 ist ein Taster angeschlossen. a) Schreiben Sie ein Programm, welches

Mehr

11. Die PC-Schnittstelle

11. Die PC-Schnittstelle PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,

Mehr

Timer. Funktionsprinzip

Timer. Funktionsprinzip Timer Funktionsprinzip 8-Bit-Timer des ATmega28 Beispiel Timer im Polling- und Interrupt-Betrieb Funktionsprinzip Timer ist ein in Hardware realisierter i Zähler ändert seinen Zählerstand mit einer vorgegebenen

Mehr

Da der Mikrocontroller mit den internen Timern sehr genau Zeiten messen kann, entschieden wir uns für die Zeitmessung.

Da der Mikrocontroller mit den internen Timern sehr genau Zeiten messen kann, entschieden wir uns für die Zeitmessung. Stufe 1: Das Projekt Fahrradcomputer wurde in der Stufe 1 zunächst auf die Messung der Geschwindigkeit gerichtet. Dabei soll der Mikrocontroller die Impulse auswerten, die von einem Sensor an der Fahrradgabel

Mehr

CEN1112 Labor Software-Entwicklung

CEN1112 Labor Software-Entwicklung Dipl.-Ing. (FH) Peter Bitterlich M.Sc. Joachim Storz Fakultät für Technik STUDIENGANG MEDIZINTECHNIK CEN1112 Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 3 C-Programmierung Vertiefung Wintersemester

Mehr

Versuch 2, LPC11U24 - GPIO

Versuch 2, LPC11U24 - GPIO Die LED auf dem Piggyback (weiße Zusatzplatine) soll mit Hilfe der BOOT-Taste gesteuert werden. Solange die Taste gedrückt ist, soll die LED leuchten. Ist die Taste nicht gedrückt, dann bleibt die LED

Mehr

DHBW Stuttgart Mikrocomputertechnik Labor KEIL Entwicklungsumgebung. Projektstruktur

DHBW Stuttgart Mikrocomputertechnik Labor KEIL Entwicklungsumgebung. Projektstruktur Projektstruktur 25.10.12 K.Kraft D\MCT_Labor_2013\Dokumente\Projektdetails.odt 1 Typischer Aufbau eines 8051 Programms Start Adresse = 0003H External Interrupt 0 ISR Interrupt Service Routinen Start Adresse

Mehr

Eigenschafte: Konfiguration: Baudrate:

Eigenschafte: Konfiguration: Baudrate: CAN1 Interface Lenkdatenmodul Eigenschafte: CAN Format : 2.0b Peripherie: CAN1 des STM32F407VGT6 des Discovery Boards Baudrate: Im Code Einstellbar von 125 kbit/s bis 1Mbit/s Akzeptanzefilter: nicht gesetzt

Mehr

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 2 Der Mikrocontroller Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel 1 beschrieben. Auf dem Chip sind die, ein ROM- für das Programm, ein RAM- für die variablen

Mehr

Trainingsmanagement Gutschein Management. Beschreibung

Trainingsmanagement Gutschein Management. Beschreibung Trainingsmanagement Beschreibung www.dastm.de info@dastm.de 1. Einführung... 2 2. Gutschein Funktionen... 3 2.1. Gutschein Menü... 3 2.2. Gutscheine anlegen... 4 Gutschein Kassenwirksam erfassen... 6 Gutschein

Mehr

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe

Beschaltung eines Mikrocontrollers. Jordi Blanch Sierra Steuerungsgruppe Beschaltung eines Mikrocontrollers Jordi Blanch Sierra Steuerungsgruppe Gliederung Was ist ein Mikrocontroller? ATmega32 Pin-Beschreibung Grundschaltungen: - Minimale Grundschaltung - Grundschaltung mit

Mehr

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm

GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm U4 4. Übungsaufgabe U4 4. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-µC Register I/O Ports Interrupts AVR-Umgebung U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit

Mehr

Teach-Dongle Rev 1.1. Teach-Dongle. Rev 1.1 Stand Okt

Teach-Dongle Rev 1.1. Teach-Dongle. Rev 1.1 Stand Okt Teach-Dongle - 1 - - 2 - 1. Allgemeines Inhaltsverzeichnis 1.1 Informationen zum Teach-Dongle Überblick Features 1.2 Rechtliches Urheberrechte Warenzeichen 1.3 EMV Anmerkungen zur EMV 2. Hardwarebeschreibung

Mehr

2

2 TINF Interrupts EDT-Referat Jürgen Schwarzbauer 2ANB 1995/96 Inhalt : Was ist ein Interrupt? Zweck von Interrupts Maskierbare und nicht maskierbare Interrupts Aufruf eines Interrupts Anwendung von Interrupts

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

SMP Übung 8 - Lösungsvorschlag

SMP Übung 8 - Lösungsvorschlag 1. Aufgabe: A/D-Wandlermethode auswählen Eine analoge Eingangsgröße, die Temperatur, soll in dieser Aufgabe in ein digitales Ausgangssignal umgewandelt werden. Aus Rechnertechnologie 2 sind folgende Methoden

Mehr

Dateien, die nicht in das Projekt eingebunden sind, werden ohne Syntax highlight dargestellt. MiCoWi und µvision Seite 1 Uwe Wittenfeld

Dateien, die nicht in das Projekt eingebunden sind, werden ohne Syntax highlight dargestellt. MiCoWi und µvision Seite 1 Uwe Wittenfeld C-Programmierung von MiCoWi mit der Keil-Entwicklungsumgebung µvision4 1. Erstellung eines neuen Projektes Menüpunkt: Project New µvision Project Es wird ein komplett neues Projekt in einem beliebigen

Mehr

Projektdokumentation: DCF 77 Funkuhr

Projektdokumentation: DCF 77 Funkuhr Projektdokumentation: DCF 77 Funkuhr Seite 1 von 8 DCF-77 Signalanalyse Die DCF-77 Signale werden von einem Sender in Mainflingen (ca. 25 km südöstlich von Frankfurt am Main) von der Physikalisch-Technischen

Mehr

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5

Mehr

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert? 1 Übersicht Für die Programmierung steht ein Programm zur Verfügung. Hier kann der Quelltext geschrieben, überprüft, kompiliert und anschließend auf den Arduino geladen werden. Wenn ihr das Programm startet,

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

U5-2 Register beim AVR-µC

U5-2 Register beim AVR-µC U5 4. Übungsaufgabe U5 4. Übungsaufgabe U5-2 Register beim AVR-µC U5-2 Register beim AVR-mC Grundlegendes zur Übung mit dem AVR-µC 1 Überblick Register Beim AVR µc sind die Register: I/O Ports Interrupts

Mehr

Projektlabor. LCD Ansteuerung

Projektlabor. LCD Ansteuerung Projektlabor LCD Ansteuerung Contents 1 LCD 3 2 Hardware des Displays 3 2.1 Hardware............................... 3 2.2 Verbindung.............................. 4 3 Softwareansteuerung 6 4 Quellen 10

Mehr

8.3 Taster am µcontroller

8.3 Taster am µcontroller 8.3 Taster am µcontroller AVR-KOMPENDIUM Nachdem im vorigen Beispiel das Port als Ausgang verwendet wurde erweitern wir dieses Beispiel um einen Taster - um auch das Einlesen von digitalen Signalen zu

Mehr

Highspeed. Kurzzeitfotografie in Natur und Studio. Bearbeitet von Hans-Christian Steeg

Highspeed. Kurzzeitfotografie in Natur und Studio. Bearbeitet von Hans-Christian Steeg Highspeed Kurzzeitfotografie in Natur und Studio Bearbeitet von Hans-Christian Steeg 1. Auflage 2014. Buch. XIV, 273 S. Hardcover ISBN 978 3 86490 034 1 Format (B x L): 21 x 21 cm Weitere Fachgebiete >

Mehr

LCD-Ansteuerung mit MikroForth

LCD-Ansteuerung mit MikroForth Das Attiny-Projekt LCD-Ansteuerung mit MikroForth 1 LCD-Ansteuerung mit MikroForth Zu unserer Attiny-Platine wird standardmäßig ein kleines LCD von der Firma Pollin beigelegt. Dieses ist auf eine kleine

Mehr

4 Formelsammlung C/C++

4 Formelsammlung C/C++ 4 Formelsammlung C/C++ 4.1 Datentypen Datentyp stdint.h type Bits Sign Wertebereich (unsigned) char uint8_t 8 Unsigned 0.. 255 signed char int8_t 8 Signed -128.. 127 unsigned short uint16_t 16 Unsigned

Mehr

pue13 January 28, 2017

pue13 January 28, 2017 pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Schleifenanweisungen

Schleifenanweisungen Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i

Mehr

a) Welche Aussage zu Zeigern ist richtig? Die Übergabesemantik für Zeiger als Funktionsparameter ist callby-value.

a) Welche Aussage zu Zeigern ist richtig? Die Übergabesemantik für Zeiger als Funktionsparameter ist callby-value. Aufgabe 1: (15 Punkte) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 16. Java: Threads für Animationen 1 Motivation

Mehr

analoge Ein- und Ausgänge

analoge Ein- und Ausgänge 2016/07/17 13:39 1/5 analoge Ein- und Ausgänge analoge Ein- und Ausgänge Neben den digitalen Leitungen bietet der Arduino mehrere analoge Ein- und Ausgänge. analoge Ausgänge Die Ausgänge sind mit PWM bezeichnet.

Mehr

Wichtige Befehle bei der Programmierung von. FISCHER-Technik

Wichtige Befehle bei der Programmierung von. FISCHER-Technik Wichtige Befehle bei der Programmierung von FISCHER-Technik 1 7 6 2 3 4 5 1) Interfacediagnose : Bevor du loslegst, teste alle, an den Eingängen E1-E8 angeschlossenen Schalter und Sensoren. Mit der linken

Mehr

Ansteuerung eines LCD-Screens

Ansteuerung eines LCD-Screens Ansteuerung eines LCD-Screens Marcel Meinersen 4. Mai 2013 Marcel Meinersen Ansteuerung eines LCD-Screens 4. Mai 2013 1 / 27 Inhaltsverzeichnis 1 Allgemeines Was ist ein LCD-Screen? LCD 162C LED Marcel

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Arduino für FunkAmateure

Arduino für FunkAmateure Arduino für FunkAmateure Arduino Einführung Teil 9 Taster-Platine 4x4 Wie gehe ich am besten vor? 1. Was will ich machen? 2. Bauteile 3. Überlegungen zur Schaltung und Algorithmus 4. Zuordnung Arduino-Pins

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Mikrocontroller effektiv in C programmieren - ein noch unbekanntes Land

Mikrocontroller effektiv in C programmieren - ein noch unbekanntes Land Mikrocontroller effektiv in C programmieren- ein noch unbekanntes Land Mikrocontroller effektiv in C programmieren - ein noch unbekanntes Land HS Pforzheim Fakultät Technik Mikrocontroller-Labor Tiefenbronner

Mehr

Vortrag über die Bachelorarbeit

Vortrag über die Bachelorarbeit Vortrag über die Bachelorarbeit angefertigt von Niklas Schulz bei Prof. Dr.-Ing. K. Solbach Fachgebiet Hochfrequenztechnik an der Universität Duisburg-Essen Thema: Control and Matching Circuit for Adaptive

Mehr

Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register liegen und beide laut Tabelle 0 sind:

Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register liegen und beide laut Tabelle 0 sind: Timerinterrupts beim Arduino Timer 1 (16bit) Register: Bits in den Registern und ihre Bedeutung: Für den CTC-Mode kann demnach TCCR1A komplett auf 0 gesetzt werden, weil WGM11 und WGM10 in diesem Register

Mehr

Aufgaben zur Attiny-Platine

Aufgaben zur Attiny-Platine Das Attiny-Projekt Aufgaben 1 Aufgaben zur Attiny-Platine 1. LEDs blinken 1.1 Schließen Sie eine rote LED an PortB.0 und eine grüne LED an PortB.1 an (vgl. Abb. 1). Achten Sie dabei darauf, dass die langen

Mehr

Berechnung einer Geschwindigkeit

Berechnung einer Geschwindigkeit InfoBrief Nr. 65 Überblick Bei der Auswertung von Messwerten interessiert neben den absoluten Größen und den Wertänderungen oft auch, wie schnell die Änderungen erfolgten. In GKS Pro kann die Geschwindigkeit

Mehr

Erzeugen von PWM-Signalen mit dem Atmel AVR-Mikrocontroller

Erzeugen von PWM-Signalen mit dem Atmel AVR-Mikrocontroller Fachbereich Elektrotechnik und Informatik Labor für Angewandte Informatik und Datenbanken Praktikum Automatisierung/Echtzeitregelung (BAU/BER) Prof.Dr.-Ing. Coersmeier Erzeugen von PWM-Signalen mit dem

Mehr

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben. Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Mikrocontrollertechnik

Mikrocontrollertechnik Matthias Sturm Mikrocontrollertechnik Am Beispiel der MSP430-Familie mit 102 Bildern und 44 Tabellen Fachbuchverlag Leipzig im Carl Hanser Verlag Inhaltsverzeichnis 1 Ein-Bit-Rechner 15 1.1 Rechenwerk

Mehr

ORIKA. Lycée Technique des Arts et Métiers. ... viel mehr als nur ein Spielzeug

ORIKA. Lycée Technique des Arts et Métiers. ... viel mehr als nur ein Spielzeug ORIKA Lycée Technique des Arts et Métiers... viel mehr als nur ein Spielzeug Informationen, Hinweise und Bezugsquellen findest du unter folgender Internetadresse: http://www.ltam.lu/fischertechnik ORIKA/Informatik

Mehr

Grundlagen der Informatik 2 Modul Systemnahe Programmierung in C (SPiC) Klausur am 25. Juli 2008

Grundlagen der Informatik 2 Modul Systemnahe Programmierung in C (SPiC) Klausur am 25. Juli 2008 Grundlagen der Informatik 2 Modul Systemnahe Programmierung in C (SPiC) SS 2008 Dr.-Ing. Jürgen Kleinöder Friedrich-Alexander-Universität Erlangen-Nürnberg Informatik 4 (Verteilte Systeme und Betriebssysteme)

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,

Mehr

C-Programmierung mit dem M_Dongle

C-Programmierung mit dem M_Dongle C-Programmierung mit dem M_Dongle Andreas Reber Rev. 2.1 08.10.2014 Inhalt Vorwort... 5 1 Grundlagen der C-Programmierung für einen Cortex... 6 1.1 Hardwareunabhängigkeit und CMSIS... 6 1.2 Nuvoton Bibliothek

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 25

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 25 Kapitel 9 Schleifen Seite 1 von 25 Schleifen - Schleifen werden zur wiederholten Ausführung von Anweisungen verwendet. - Es werden drei Arten von Schleifen unterschieden: o for -Schleife o while -Schleife

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

Temperaturmodul. Software. Bedeutung der Leuchtdioden. Kanal-LEDs. System-LEDs. Start nach Reset

Temperaturmodul. Software. Bedeutung der Leuchtdioden. Kanal-LEDs. System-LEDs. Start nach Reset Temperaturmodul Software Bedeutung der Leuchtdioden Alle LED sind sog. Bicolor-LEDs, die, wie der Name nicht sagt, drei Farben anzeigen können. Rot, grün und gelb, wenn rot und grün gemeinsam aktiviert

Mehr

The amforth Cookbook angefangen

The amforth Cookbook angefangen The amforth Cookbook Author: Datum: Erich Wälde 2009-02-22 angefangen 2 Inhaltsverzeichnis 1 Projekt mit ATMEGA 32 5 1.1 Board................................ 5 1.2 Beispiel Applikation........................

Mehr

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts

Inhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Implementierung von Interruptbehandlungen. Interrupts Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Inhalt Interrupts Allgemein AVR Interrupt-Handler Synchronisation volatile Sperren von Interrupts

Mehr

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;

Mehr

Parallel-IO. Ports am ATmega128

Parallel-IO. Ports am ATmega128 Parallel-IO Ansteuerung Miniprojekt Lauflicht Ports am ATmega128 PortE (PE7...PE0) alternativ, z.b. USART0 (RS232) 1 Pin von PortC Port C (PC7...PC0) 1 Parallel-IO-Port "Sammelsurium" verschiedener Speicher

Mehr