The amforth Cookbook english version started

Größe: px
Ab Seite anzeigen:

Download "The amforth Cookbook english version started"

Transkript

1 The amforth Cookbook Author: Datum: Erich Wälde english version started

2 Copyright 2010 Erich Wälde License: CC-BY-SA Production Notes:

3 Contents 1 Project with amforth Board Sample application ATMEGA32 register and bit names and addresses Pins and Ports lib/bitnames.frt: names for pins configure pins to input/output set pins to high/low Hello, world! Memory 6 4 Interrupts 7 5 Timer/Counter Subsystem Ereignisse Zählen Zeit zählen mit Timer2 und einem Uhrenquarz Pulsweitenmodulierte Signale erzeugen (PWM) PWM Signal erzeugen (fast pwm mode) langsames PWM Signal (Servo ansteuern) einen Ton auf einem Piezo/Lautsprecher ausgeben Pulsweiten messen ADC Subsystem Analoge Signalpegel ausmessen TWI/I2C Subsystem 17 8 SPI Subsystem 18 9 USART Subsystem 19 1

4 CONTENTS 2 10 Programmstücke turnkey: wie ein Programm direkt nach dem Einschalten startet res: freien/belegten Platz anzeigen timeup: Uhrzeit/Datum Das DCF Zeitzeichen empfangen und auswerten Die timeup Uhr mit der DCF Uhr synchronisieren Assembler und amforth Assembler Code in amforth einbetten Assembler Code für amforth erzeugen Forthiges bit flags scaled integer: arithmetische Berechnungen deferred Words I/O Umleitung (redirection) sensor: so ne Art Objekt filter mean: noch so ne Art Objekt Einfach verkettete Liste Multitasker Kommunikation wire über i2c mit dem ds2482 controller rs485 über usart

5 Chapter 1 Project with amforth This chapter shall describe, how to create a working amforth system on a controller; how to configure the important things like clock speed, usart speed, controller model; which files are used for what purpose and how to customize them (dict.asm files). The goal of this chapter is to have a running amforth system on my controller, happily responding to my keystrokes on the serial console 1.1 Board briefly describe the embedit prototype board mit ATMEGA32, Quarz MHz, and serial console at baud 1.2 Sample application layout of appl/template and how to use it; This stuff is highly dependant on the particular version of amforth in use. 1.3 ATMEGA32 register and bit names and addresses content of device/atmega32.frt; reference to datasheet 3

6 Chapter 2 Pins and Ports Howto address port pins, configure them for input/output with/without internal pullup resistors, highz 2.1 lib/bitnames.frt: names for pins PORTB 0 portpin: led_error 2.2 configure pins to input/output $01 DDRA c! $00 PORTA c! led_error pin_output 2.3 set pins to high/low $01 PORTB c! to set high $00 PORTB c! to set low led_error high led_error low 2.4 Hello, world! Tradition demands to make an LED blink as your first programm. We shall make no exception: 1 \ run_hello_world_led.frt 2 PORTB 3 portpin: led_active 3 : ms ( n -- ) 0?do 1ms loop ; 4 : init 5 led_active pin_output 6 led_active high 4

7 CHAPTER 2. PINS AND PORTS 5 7 ; 8 : run 9 init 10 begin 11 led_active low 12 &200 ms 13 led_active high 14 &800 ms 15 loop 16 ;

8 Chapter 3 Memory ram,flash,eeprom; which is used for what; related i@ e@! i! e!, briefly explain the memory layout of an amforth system 6

9 Chapter 4 Interrupts Interrupts in amforth sind anders. Erklären, wie das gemacht ist. Beispiel timer2: kein interrupt bit löschen. Bei anderen Interrupts muß man mit Assembler rumhantieren, Beispiel usart im isr mode. Man kann mit etwas Akrobatik auch die isr in forth schreiben, Beispiel für die Uhr auf dem 168 von Adolf/Michael. Andere Beispiele??? 7

10 Chapter 5 Timer/Counter Subsystem 5.1 Ereignisse Zählen pins INT0..2 zum Zählen von externen Ereignissen verwenden 5.2 Zeit zählen mit Timer2 und einem Uhrenquarz Problem Sie wollen eine verlässliche Messung der Zeit Lösung Für eine verlässliche Messung der Zeit kann man Timer2 mit einem zusätzlichen Uhrenquarz (32768 Hz) betreiben. Schaltung Uhrenquarz an TOSC1,TOSC2 Konfiguration Um Timer2 mit dem externen Uhrenquarz zu betreiben, müssen folgende Register/Bits gesetzt werden (Datenblatt S.125ff): TCCR2: im Timer/Counter Control Register 2 wählt man die ungeteilte Frequenz als Quelle: CS22,CS21,CS20 = 001. Die übrigen Bits bleiben auf 0, d.h. Timer2 wird im normal mode betrieben: das Zählerregister wird von 0 aufwärts bis 255 gezählt, löst dann ggf. einen Interrupt aus und fängt wieder bei 0 an zu zählen. TCNT2 enthält den aktuellen Zählwert. 8

11 CHAPTER 5. TIMER/COUNTER SUBSYSTEM 9 ASSR: im Asynchronous Status Register wird das Bit AS2 auf 1 gesetzt. Damit wählt man den Uhrenquarz an Pin TOSC1 als Quelle. Das ist der sogenannte asynchrone Modus, weil der (externe) Uhrenquarztakt völlig unabhängig vom (internen) Takt des Kontrollers läuft. TIMSK: im Timer/Counter Interrupt Mask Register wird gesetzt, daß das Überlaufen des Zählers einen Interrupt auslösen soll. Code 1 \ timer2_clock.fs 2 3 \ variable: 4 \ timer2 5 \ words: 6 \ +ticks register isr and enable interupt 7 \ -ticks disable interupt 8 \ tick_isr interupt service routine: increments timer \ f_crystal: /sec == clock source 11 \ overflow: 32768/256 = 128 /sec =ˆ= milli-sec ticks \ TCCR2 [FOC2,WGM20,COM21,COM20,WGM21,CS22,CS21,CS20] 14 \ ASSR [-,-,-,-,AS2,TCN2UB,OCR2UB,TCR2UB] 15 \ TIMSK [OCIE2,TOIE2,TICIE1,OCIE1A,OCIE1B,TOIE1,OCIE0,TOIE0] variable timer hex 20 \ Timer2 overflow ISR: 21 \ increment timer2 22 : tick_isr 23 1 timer2 +! 24 ; 25 \ enable ticks 26 : +ticks 27 1 TCCR2 c! \ select clock undivided 28 8 ASSR c! \ select external quarz clock source 29 \ fixme: int! 30 [ ] tick_isr TIMER2_OVFAddr 2/ int! \ register ISR 31 TIMSK c@ 40 or TIMSK c! \ enable Timer2 overflow interrupt 32 ; 33 \ disable ticks 34 : -ticks 35 TIMSK c@ 36 [ 40 invert ff and ] literal 37 and TIMSK c! \ disable Timer2 overflow interrupt 38 ;

12 CHAPTER 5. TIMER/COUNTER SUBSYSTEM 10 Verwendung 1 \ run_timer2_clock.fs 2 3 marker --start include devices/atmega32.frt 6 include cooklib/ms.frt \ ms 7 include cooklib/timer2_clock.frt \ tick_isr +ticks -ticks 8 decimal constant ticks/sec 10 variable old_timer : run 13 0 timer2! 14 0 old_timer2! 15 +ticks 16 decimal 17 begin ms 19 cr 20 dup u. 21 dup - 22 dup. 23 ticks/sec <> if." <--" then 24 old_timer2! 25 key? until 26 -ticks 27 ; Ausgabe 1 > run < < <

13 CHAPTER 5. TIMER/COUNTER SUBSYSTEM 11 Diskussion Es werden die folgenden Worte definiert: +ticks konfiguriert Timer2. Über das Timer/Counter Control Register 2 wird festgelegt, daß Timer2 mit der ungeteilten Frequenz des Uhrenquarzes läuft (1 TCCR2 c!).??? Danach wird tick isr als Interupt Service Routine registriert ([ ] tick_isr OVF2addr int!). Und schließlich wird der Timer2 Interupt eingeschalten (TIMSK c@ 40 or TIMSK c!). -ticks schaltet den Timer2 aus. timer2 ist eine Variable, die beim Ausführen von tick isr hochgezählt wird. tick isr ist eine Interupt Service Routine, die immer aufgerufen wird, wenn Timer2 übergelaufen ist und den Interupt auslöst. Die Variable timer2 wird hochgezählt. Es werden keine Vorkehrungen gegen den Überlauf getroffen. In der Variablen timer2 werden die Überläufe von Timer2 gezählt. Timer2 wird pro Sekunde erhöht. Er läuft nach 256 Schritten über, also 32768/256 = 128 mal pro Sekunde. Dieser Wert wird in der Konstanten ticks/sec aufgehoben. der timer2 interrupt wird nie gelöscht. Daher funktioniert das so. Wenn man ein Bit aus ISR löschen muß, dann muß man die auch in Assembler verfassen. (Beispiel???) Aysgabebeispiel? Wenn man die Wartezeit etwas verkürzt, dann kann man das so hinkriegen, daß fast immer 128 ticks vergehen. Man kann aus der Größe der Korrektur auf die Laufzeit des regelmäßigen Programmteils in der Schleife schließen. So ungefähr jedenfalls. Gibt es Alternativen zu dem o.g. Vorgehen? externe RTC mit Sekunden Interrupt an Pin??? Weiterlesen Timer/Counter2 (Datenblatt S.125ff???) Interrupts und Forth Interupts Kap.??? timeup 5.3 Pulsweitenmodulierte Signale erzeugen (PWM) Was ist PWM? Wie geht das beim ATMEGA32? Die Zähler des ATMEGA32 können (alle?) auch zum Erzeugen von PWM Signalen eingesetzt werden. Dabei wird der Zähler mit einem Oszillatorsignal versorgt (normalerweise vom CPU Quarz) und zählt bei

14 CHAPTER 5. TIMER/COUNTER SUBSYSTEM 12 jedem Impuls weiter. Es gibt ein oder zwei weitere Vergleichs-Register (output compare register), mit deren Inhalt der Zählerstand bei jedem Schritt verglichen wird. Stimmen die Inhalte von Zähler und Vergleichsregister überein, dann können daraus verschiedene Aktionen automatisch angestoßen werden. Im einfachsten Fall wird der Pegel des zugehörigen Ausgabe-Pins geändert. Interrupts können ebenfalls ausgelöst werden. es gibt mehrere verschiedene Modi, in denen eine Zähler/PWM Kombination betrieben werden kann PWM Signal erzeugen (fast pwm mode) Problem Sie wollen ein einstellbares PWM Signal ausgeben um damit die Helligkeit einer LED (oder die Leistungsaufnahme eines anderen Verbrauchers) zu steuern. Konkret: Zähler 0 soll ein 8 bit PWM Signal generieren und invertiert auf Pin OC0 ausgeben. Lösung Schaltung? Code Diskussion Weiterlesen langsames PWM Signal (Servo ansteuern) einen Ton auf einem Piezo/Lautsprecher ausgeben 5.4 Pulsweiten messen das müsste doch auch gehen

15 Chapter 6 ADC Subsystem 6.1 Analoge Signalpegel ausmessen Problem Sie wollen eine analoge Spannung mit dem ADC (analog digital converter) ausmessen. Lösung Der ATMEGA32 verfügt über einen eingebauten ADC mit 8 Kanälen und einer Auflösung von 10 bit. Der ADC kann in verschiedenen Konfigurationen betrieben werden. Die Auswahl der Referenzspannung, sowie die Art der Messung (zwischen zwei Pins (differentiell) oder gegen Masse (single ended)) sind nur die wichtigsten Einstellungen. Wir beschränken uns hier auf den Fall, daß die Referenzspannung gleich der Versorgungsspannung ist, daß Pin ADC3 gegen Masse gemessen wird und daß die zu messende Spannung zwischen 0 V und der Versorgungsspannung liegt. Schaltung Versorgungs Spannung als Referenz an AREF zu messende Spannung an ADC3, zum Testen ein Potentiometer anschließen Konfiguration Der Pin muß zum Lesen und ohne pullup-widerstand konfiguriert werden (highz). Der ADC wird über folgende Register konfiguriert. ADMUX: In diesem Register wählen wir zunächst, daß das Ergebnis linksbündig geliefert werden soll (Bit ADLAR=1). Das hat den Vorteil, daß man für eine 8-bit genaue Messung das niedrige Ergebnis-Byte einfach verwirft. Direkt vor der Messung wird hier außerdem die gewünschte Pinauswahl eingegeben. In unserem Fall: Bits MUX4..0 =

16 CHAPTER 6. ADC SUBSYSTEM 14 Außerdem würde man hier die gewünschte Referenzspannung angeben, die default Einstellung Bits REFS1..0 = 00 wählt die an AREF anliegende Spannung als Referenz. ADCSRA: Das ACD status and control register A enthält weitere Steuerbits: Bit ADEN schaltet den ADC ein. Bit ADSC startet eine Wandlung. Wird das Bit zurückgelesen, so ist es 1, solange die Wandlung andauert, und 0 nach dem Ende der Wandlung. Bits ADPS2..0 wählt einen Teiler, der die CPU-Frequenz heruntertaktet. Die resultierende Frequenz wird zur Wandlung benutzt. Setzt man alle drei bits, so ergibt sich ein Teiler von 128. ADCL, ADCH: Diese Register enthalten das Ergebnis der Wandlung. Im linksbündigen Fall stehen die Bits 9..2 im Register ADCH, die Bits 1..0 an den höchsten beiden Stellen von Register ADCL. Die Datei cooklib/adc.frt definiert mehrere Worte, von denen die folgenden für den Gebrauch durch das übergeordnete Programm vorgesehen sind: adc.init: initialisiert das ADC Subsystem wie oben beschrieben. adc.get10: nimmt die Pin-Nummer (bit position als Argument und veranlasst eine ADC Wandlung. Das Ergebnis wird in 10-bit Genauigkeit abgelegt. Die Pin-Nummer ist streng genommen die Kanal-Konfiguration ADMUX4..0, ist aber in diesem Fall identisch mit der Nummer des Pins von PORTA. adc.get: nimmt ebenfalls die Pin-Nummer als Argument und veranlasst eine ADC Wandlung. Das Ergebnis wird in 8-bit Präzision abgelegt. Code Modul/e 1 \ EW cooklib/adc.frt 2 3 : adc.init ( -- ) 4 [ 5 bv \ ADLAR: left adjust result 5 ] literal ADMUX c! 6 [ 7 bv \ ADEN: enable ADC 7 2 bv 1 bv 0 bv or or \ prescaler or 9 ] literal ADCSRA c! 10 ; bv constant ADSC_MSK \ Start Conversion bitmask 13 : adc.start 14 \ start conversion 15 ADSC_MSK ADCSRA or! 16 ;

17 CHAPTER 6. ADC SUBSYSTEM : adc.wait 18 \ wait for completion of conversion 19 begin 20 ADCSRA c@ ADSC_MSK and 0= 21 until 22 ; 23 : adc.channel! ( channel -- ) 24 7 and \ clip channel to ADMUX c@ 7 invert and \ read ADMUX, clear old channel 26 or \ add new channel 27 ADMUX c! \ write 28 ; 29 : adc.get10 ( channel -- a ) 30 adc.channel! adc.start adc.wait 31 \ 10 bit 32 ADCL c@ 33 ADCH c@ 8 lshift + 6 rshift 34 ; 35 : adc.get ( channel -- a ) 36 adc.channel! adc.start adc.wait 37 \ 8 bit 38 ADCH c@ 39 ; Verwendung Code Verwendung 1 \ EW run_adc.frt 2 marker --start-- 3 hex 4 5 include cooklib/ms.frt \ ms 6 include cooklib/bv.frt \ bv bv 7 include lib/bitnames.frt \ portpin: pin_highz 8 include cooklib/adc.frt \ adc.init adc.get : portpin>channel ( pinmask portaddr -- bit-position ) 11 drop ( -- pinmask ) 12 bv ( -- bit-position ) 13 ; PORTA 3 portpin: poti 16 : init 17 adc.init 18 poti pin_highz 19 ; 20 : run 21 init

18 CHAPTER 6. ADC SUBSYSTEM begin 23 poti portpin>channel adc.get10. cr 24 &1000 ms 25 key? until 26 ; Ausgabe Wenn man run aufruft und ordentlich am Potientiometer dreht, dann kann das z.b. so aussehen: 1 > run ok 16 > Diskussion Das ist nur ein kleiner Fall aus einer Fülle von Móglichkeiten, den ADC zu betreiben. Datenblatt-Studium ist ein Muß! Für die Beschaltung den Analogen Teils sollte man sich auch Mühe geben, sonst misst man hauptsächlich das Rauschen in der Stromversorgung... wort... Erklärung, Grenzen, Erweiterungen, Alternativen Weiterlesen Datenblatt Kapitel ADC

19 Chapter 7 TWI/I2C Subsystem I2C Peripherie anschließen und betreiben 17

20 Chapter 8 SPI Subsystem SPI Peripherie anschließen und betreiben 18

21 Chapter 9 USART Subsystem Erklären, wie das mit der seriellen Konsole funktioniert. atmega644p hat eine zweite serielle Schnittstelle siehe auch I/O Umleitung Hier kann das multi processor communication Ding erklärt werden. siehe rs485 Kommunikation 19

22 Chapter 10 Programmstücke 10.1 turnkey: wie ein Programm direkt nach dem Einschalten startet Problem Das mühevoll geschriebene Programm soll auf dem Mikrocontroller starten, sobald der eingeschaltet wird. Lösung Man schreibt eine Funktion, die als turnkey registriert wird. Code Modul/e 28 : run-turnkey 29 baud +usart >usart +int 30 ver 31 run 32 ; run-turnkey is turnkey Diskussion wort... Erklärung, Grenzen, Erweiterungen, Alternativen 20

23 CHAPTER 10. PROGRAMMSTÜCKE 21 Weiterlesen 10.2.res: freien/belegten Platz anzeigen 10.3 timeup: Uhrzeit/Datum Problem Sie wollen die Zeit in den üblichen Größen Jahr, Monat, Tag, Stunde, Minute, Sekunde verwalten. Die Zeit soll mit timer2 gezählt werden, die Verwaltung der Zeit soll in der Hauptschleife miterledigt werden. Lösung timeup Diskussion aufwendig, aber gut. Weiterlesen Zeit zählen mit timer2 i2c pcf8583 Uhr am i2c Bus 10.4 Das DCF Zeitzeichen empfangen und auswerten 10.5 Die timeup Uhr mit der DCF Uhr synchronisieren

24 Chapter 11 Assembler und amforth 11.1 Assembler Code in amforth einbetten hier muß der Assembler von Luboš hin, samt ordentlichem Beispiel 11.2 Assembler Code für amforth erzeugen hier kommt der g4 von Michael hin, samt ordentlichem Beispiel 22

25 Chapter 12 Forthiges 12.1 bit flags 12.2 scaled integer: arithmetische Berechnungen 12.3 deferred Words 12.4 I/O Umleitung (redirection) Anwendung: ein LCD beschreiben 12.5 sensor: so ne Art Objekt 12.6 filter mean: noch so ne Art Objekt 12.7 Einfach verkettete Liste Anwendung: Sensorausstattung als Konfiguration 12.8 Multitasker Erklärung Anwendung: sensoren und Konsole Verheiraten mit turnkey 23

26 Chapter 13 Kommunikation wire über i2c mit dem ds2482 controller 13.2 rs485 über usart0 24

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

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

Tag 3 Timer, ADC und PWM

Tag 3 Timer, ADC und PWM Tag 3 Timer, ADC und PWM 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Analog-Digital-Wandler Arbeitet durch schrittweise Näherung Aktivieren des ADCs durch ADC Enable

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

Autonome Mobile Systeme. Dr. Stefan Enderle

Autonome Mobile Systeme. Dr. Stefan Enderle Autonome Mobile Systeme Dr. Stefan Enderle 2. Mikrocontroller Einleitung Unterschied Controller / Prozessor: Speicher (RAM, Flash, Eprom) intern Viele I/Os (Digital, Analog) Bus-Unterstützung (Seriell,

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

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

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

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega Einleitung... 11 Die Pins alphabetisch.... 12 Kapitel 1 Programmierung des ATmega8 und des ATmega328.... 15 1.1 Was Sie auf den nächsten Seiten erwartet... 19 1.2 Was ist eine Micro Controller Unit (MCU)?....

Mehr

Analog-Digital Umwandlung

Analog-Digital Umwandlung Analog-Digital Umwandlung http://www.dingeldein-online.de/basteln/avr.html In den meisten AVR Mikrocontrollern ist auch ein AD-Konverter ADC enthalten. Dieser kann mit 8- oder 10-Bit-Auflösung Spannungen,

Mehr

ATmega169 Chip: Pin-Layout

ATmega169 Chip: Pin-Layout ATmega169 Chip: Pin-Layout Die logische Schnittstelle der Funktionseinheit MCU (Microcontroller Unit) entspricht der physikalischen Schnittstelle der Baueinheit (Chip). Für die Maschinenbefehle sind nur

Mehr

16-Bit PCA Timer/Counter

16-Bit PCA Timer/Counter 4.5.1 Programmable Counter Array (PCA) Das Programmable Counter Array besteht aus fünf PCA-Modulen, die einen gemeinsamen 16- Bit Timer/Counter als Zeitbasis verwenden. ECI: Externer Clock-Eingang für

Mehr

AVR-Mikrocontroller in BASCOM programmieren

AVR-Mikrocontroller in BASCOM programmieren jean-claude.feltes@education.lu 1 AVR-Mikrocontroller in BASCOM programmieren Der AD-Wandler 1. Die Eigenschaften der AD-Wandler beim Mega8 (beim Mega16 / Mega32 ist es ähnlich) Prinzip: nach dem Wägeverfahren

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

Forth-Vokabular. Vokabular für Attiny2313-Forth Stand: A: Assembler-Wort F: Forth-Wort C: Compiler-Wort

Forth-Vokabular. Vokabular für Attiny2313-Forth Stand: A: Assembler-Wort F: Forth-Wort C: Compiler-Wort Vokabular für Attiny2313-Forth - 1 - Forth.voc Forth-Vokabular Stand: 01.11.2012 A: Assembler-Wort F: Forth-Wort C: Compiler-Wort. A gibt TOS auf Port B aus; (Datenrichtungsbits von Port B werden alle

Mehr

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

Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen. Interrupttechnik mit dem ATmega32 Unter einem Interrupt kann man sich einen durch Hardware ausgelösten Unterprogrammaufruf vorstellen. Aufgrund einer Interruptanforderung wird das laufende Programm unterbrochen

Mehr

Interrupt-Programmierung

Interrupt-Programmierung Interrupt-Programmierung Am Beispiel des ATMEGA16 Microcontrollers Beispiel: Messung der Betriebszeit Die Betriebszeit zeigt an, wie lange der Rechner seit dem Booten läuft Hier: Aktualisierung der Betriebszeit

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

AVR-8-bit-Mikrocontroller Gruppe Technologie der AVR-8-bit-Mikrocontroller Teil SPI

AVR-8-bit-Mikrocontroller Gruppe Technologie der AVR-8-bit-Mikrocontroller Teil SPI Teil 101 - AVR-Architektur 1 Die Architektur der AVR-Mikrocontroller - der CPU-Kern 1.1 Einleitung und Geschichtliches 1.2 Die Architektur: RISC contra CISC 1.3 ALU - Arithmetic Logic Unit 1.4 Das Status

Mehr

Der Magnetfeldsensor HMC5883L

Der Magnetfeldsensor HMC5883L Unter der Bezeichnung GY-273 wird ein preiswertes Modul (Preis unter 2 Euro) angeboten, mit dem Magnetfelder gemessen werden können. Herzstück dieses Moduls ist der Baustein HMC5883L. Hierbei handelt es

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

Übung "Struktur von Mikrorechnern" (CBS)

Übung Struktur von Mikrorechnern (CBS) 6 Funktion und Anwendung von Timern 6.1 Allgemeiner Überblick 6.2 Vorteiler 6.3 Betriebsmodi 6.3.1 Normalisierte CPU-Zeit 6.3.2 Normalisierter Zeit-Ausgang 6.3.3 Puls-Weiten-Modulations-Ausgang (PWM) 6.3.4

Mehr

Einführung in die Welt der Microcontroller

Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Einführung in die Welt der Microcontroller Übersicht Microcontroller Schaltungen Sonstiges Inhaltsverzeichnis 1 Übersicht Möglichkeiten Einsatz 2 Microcontroller

Mehr

Lösungen zum Kurs "Mikrocontroller Hard- und Software

Lösungen zum Kurs Mikrocontroller Hard- und Software Lösungen zum Kurs "Mikrocontroller Hard- und Software Gerhard Schmidt Kastanienallee 20 64289 Darmstadt http://www.avr-asm-tutorial.net Lösung Aufgabe 2 Aufgabe 2 sbi DDRB,PB0 2 Takte sbi PORTB,PB0 2 Takte

Mehr

Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft März 2014 Bad Vöslau/Österreich Willi Stricker -Prozessor Inhalt 1. STRIP-Befehlssatz Bisher: minimaler Befehlssatz neu: erweiterter Befehlssatz

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

Serie 8: Microcontroller 17./18.07.2014

Serie 8: Microcontroller 17./18.07.2014 Serie 8: Microcontroller 17./18.07.2014 I. Ziel der Versuche Erster Erfahrungen mit einem Microcontroller sollen gesammelt werden, die grundlegenden Ein- Ausgabe-Operationen werden realisiert. II. Vorkenntnisse

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

ATmega8. Projekte mit AVR-Mikrocontroller. Ein Digitalvoltmeter Seite 1 von 6. Ein Datenlogger

ATmega8. Projekte mit AVR-Mikrocontroller. Ein Digitalvoltmeter Seite 1 von 6. Ein Datenlogger Ein Digitalvoltmeter Seite 1 von 6 Ein Datenlogger Mit einem Datenlogger oder Speicheroszilloskop können mit Hilfe von geeigneten Sensoren zeitlich veränderliche Größen wie Temperatur, Druck, Luftfeuchtigkeit,...

Mehr

Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach

Arduino Kurs Timer und Interrupts. Stephan Laage-Witt FES Lörrach Arduino Kurs Timer und Interrupts Stephan Laage-Witt FES Lörrach - 2018 Themen Timer Interrupts Regelmäßige Aufgaben ausführen Exakte Zeitintervalle messen FES Lörrach Juni 2018 2 Exakte Zeiten sind gar

Mehr

Arduino Nano. Hello World per LED On-Board LED (Pin D13) Beispiel: Arduino IDE / Beispiele / Basics / Blink 5 / 20

Arduino Nano. Hello World per LED On-Board LED (Pin D13) Beispiel: Arduino IDE / Beispiele / Basics / Blink 5 / 20 Inhalt Inbetriebnahme Arduino Nano Einführung I2C Bus Inbetriebnahme Real-Time-Clock DS1307 (I2C) Inbetriebnahme 4x 7-Segment Anzeige TM1637 Kombination RTC mit 7-Segment Anzeige => Uhr 2 / 20 Arduino

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 A5: Anleitung. Einführung in die Programmierung des Sensor-/ Aktorknotens

Aufgabe A5: Anleitung. Einführung in die Programmierung des Sensor-/ Aktorknotens 1 Seminar zum Programmierprojekt (TI) Sommersemester 2007 (Lehrstuhl für Technische Informatik) Ausgabe: 24. Mai 2007 Aufgabe A5: Anleitung Einführung in die Programmierung des Sensor-/ Aktorknotens BTnode

Mehr

Microcontroller Selbststudium Semesterwoche 9

Microcontroller Selbststudium Semesterwoche 9 Microcontroller Selbststudium Semesterwoche 9 Kurzfragen zum Thema Interrupts 1. Wozu werden Interrupts benötigt (Beispiele)? Interrupts werden überall dort verwendet, wo auf zeitkritische Ereignisse reagiert

Mehr

Temperaturmessung mit dem ATmega8

Temperaturmessung mit dem ATmega8 Temperaturmessung mit dem ATmega8 Messaufbau: Der ADC des ATmega8 stellt uns 6 Kanäle zur Analog/Digital Wandlung zur Verfügung und wird mit der internen Spannungsquelle bzw. externen Spannungsquelle betrieben.

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

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

Ü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

Prinzipen und Komponenten Eingebetteter Systeme (PKES) Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme

Prinzipen und Komponenten Eingebetteter Systeme (PKES) Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme 1 Vorlesung Prinzipen und Komponenten Eingebetteter Systeme (PKES) (3) Mikrocontroller II Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme 2 Mitarbeiter im ottocar Projekt gesucht Ziel:

Mehr

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: Tasten abfragen Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt: pinmode(pinnummer, OUTPUT) digitalwrite(pinnummer, HIGH) oder digitalwrite(pinnummer, LOW) Zum Abfragen

Mehr

Dies und das zu atmega und amforth

Dies und das zu atmega und amforth Spaß mit Elektronikkruscht Erich Wälde ew.forth@nassur.net Linuxstammtisch Tübingen März 2009 Erich Wa lde ew.forth@nassur.net Wozu das Ganze? Mensch kann damit Zeit versenken das geht ganz hervorragend!

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

Arduino und Amateurfunk (1)

Arduino und Amateurfunk (1) Arduino und Amateurfunk (1) Vortrag OV-Meeting H08 am 10.01.2012 / 01.09.2012 Historie Der Kern Entwicklungsumgebung Hardware Software Massimo Banzi Und wozu das Ganze? Historie (1) Arduino ist ein Open-Source-Prototypen-System,

Mehr

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Rechnerarchitektur Atmega 32. 1 Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7 1 Vortrag Atmega 32 Von Urs Müller und Marion Knoth Urs Müller Seite 1 von 7 Inhaltsverzeichnis 1 Vortrag Atmega 32 1 1.1 Einleitung 3 1.1.1 Hersteller ATMEL 3 1.1.2 AVR - Mikrocontroller Familie 3 2 Übersicht

Mehr

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk Remote-Objekt-Überwachung von Jan Schäfer und Matthias Merk Aufgabenstellung Steuerung von Sensoren zur Remote Objektüberwachung mit einem µc PIC16F874. Welcher Sensor hat gemeldet? Die Überwachung Mehrere

Mehr

Nachtaktiver Blinker. Ralf Pongratz. 11. November 2012

Nachtaktiver Blinker. Ralf Pongratz. 11. November 2012 www.reaktivlicht.de Ralf Pongratz Nachtaktiver Blinker Als Bausatz erhältlich auf www.reaktivlicht.de Nachtaktiver Blinker Ralf Pongratz 11. November 2012 Inhaltsverzeichnis I. Die Schaltung 2 1. Funktionsbeschreibung

Mehr

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach Arduino Kurs Das LC-Display Stephan Laage-Witt FES Lörrach - 2018 Themen LC-Display zur Anzeige von Text Serieller Datenbus Ausgabe von Zeichen, Texten und Zahlen FES Lörrach Juli 2017 2 LC-Display zur

Mehr

A Channel-Charge-Integrator

A Channel-Charge-Integrator 16 Channel-Charge-Integrator 1. FUNKTION.................................................................................................... 2 1.1. DATENBLATT... 2 1.1.1. Anwendung... 2 1.1.2. Daten...

Mehr

Mikrocontrollertechnik C2 Timer. Einführung

Mikrocontrollertechnik C2 Timer. Einführung C2 Timer Einführung Die drei Timer des ATmega32 bieten sehr viele unterschiedliche Betriebsarten. Im folgenden Kapitel sollen nur einige der Betriebsarten kennen gelernt werden. Was ist ein Timer? Ein

Mehr

ATxMEGA 128 Board 2. Inhalt

ATxMEGA 128 Board 2. Inhalt ATxMEGA 128 Board 2 Inhalt Funktionsübersicht... 2 ATxMEGA128 - Funktionen... 2 ATxMEGA Block Diagramm... 3 Stiftleistenbelegungen... 4 I/O Ports (Port A, B, C, D, F)... 4 JTAG Schnittstelle... 4 PDI Schnittstelle...

Mehr

AVR-Mikrocontroller in BASCOM programmieren, Teil 3

AVR-Mikrocontroller in BASCOM programmieren, Teil 3 jean-claude.feltes@education.lu 1/8 AVR-Mikrocontroller in BASCOM programmieren, Teil 3 Alle Beispiele in diesem Kapitel beziehen sich auf den Mega8. Andere Controller können unterschiedliche Timer haben.

Mehr

Klasse, Name : Datum : Rad l/r Linienfolger l/r Laderaum ATMEGA 128

Klasse, Name : Datum : Rad l/r Linienfolger l/r Laderaum ATMEGA 128 HTL_RoboterDKU.odt Übung : Arbeiten mit dem HTL Leonding Roboter Seite : 1 von 7 1. Roboter Peripherie Eingänge Ausgänge DIGITAL ANA- LG DATEN Taster Kante l/r Rad l/r Linienfolger l/r Laderaum Klappe

Mehr

Fachprojekt for Embedded System: Design and Implement Your Own Embedded Systems (2) LS 12, TU Dortmund

Fachprojekt for Embedded System: Design and Implement Your Own Embedded Systems (2) LS 12, TU Dortmund Fachprojekt for Embedded System: Design and Implement Your Own Embedded Systems (2) Junjie Shi Niklas Ueter LS 12, TU Dortmund 09,April,2018 Junjie Shi, Niklas Ueter (LS 12, TU Dortmund) 1 / 1 Inhalt 1

Mehr

WS 2017/18 Viel Erfolg!!

WS 2017/18 Viel Erfolg!! Seite 1 von 12 Hochschule München FK03 Komponenten und Programmierung, 90 Minuten Prof. Dr.-Ing. T. Küpper Zugelassene Hilfsmittel: alle eigenen, Taschenrechner WS 2017/18 Viel Erfolg!! Matr.-Nr.: Hörsaal:

Mehr

Umbau eines Saug- und Wisch Roboters auf ARDUINO Steuerung

Umbau eines Saug- und Wisch Roboters auf ARDUINO Steuerung Saug-Wisch-Roboter Umbau eines Saug- und Wisch Roboters auf ARDUINO Steuerung TOPAN AVC 701 (702) Seite 1 Saug-Wisch-Roboter Elektronik M Saug Motor Radmotor Links FB 433 M Elektronik Arduino Nano DC-

Mehr

Aufbau eines Assembler-Programms

Aufbau eines Assembler-Programms Aufbau eines Assembler-Programms. Assembler-Anweisungen (Direktiven) Einbindung von include-files Definition von Konstanten, Reservierung von Speicherplatz im RAM, 2. Was tun, wenn C Reset-Signal erhält

Mehr

4-Kanal-Analoglogger für die Regelungstechnik

4-Kanal-Analoglogger für die Regelungstechnik LTAM-FELJC jean-claude.feltes@education.lu 1 4-Kanal-Analoglogger für die Regelungstechnik Firmware Kommunikation mit dem PC Seriell mit 38400 Baud Kommandos:? = Liste aller Kommandos t = set time interval

Mehr

Puls Weiten Modulation (PWM)

Puls Weiten Modulation (PWM) Puls Weiten Modulation (PWM) Bei der Puls-Weiten-Modulation (PWM), wird ein digitales Ausgangssignal erzeugt, dessen Tastverhältnis moduliert wird. Das Tastverhältnis gibt das Verhältnis der Länge des

Mehr

Servo-Modul Version

Servo-Modul Version Servo-Modul Version 1.0 24.06.2010 Mit dem Servo-Modul ist es möglich bis zu 8 Modellbau-Servos (analoges Signal) an zu steuern. Die Ansteuerung kann wahlweise über den I2C-Bus, einen COM-Port (RS232)

Mehr

Mikrocomputertechnik

Mikrocomputertechnik Mikrocomputertechnik Thema: CPU Timing XC888 und Interrupt System des XC888 und Timer/Counter 0 und 1 -Im InterruptBetrieb - CPU Timing XC888 CPU Timing XC888 Befehl Befehl Befehl Befehlszyklus Befehlszyklus

Mehr

Entfernungsmesser. für den Raspberry Pi. Tim Riddermann / Nils Wortmann

Entfernungsmesser. für den Raspberry Pi. Tim Riddermann / Nils Wortmann Entfernungsmesser für den Raspberry Pi Tim Riddermann / Nils Wortmann Inhalt Einleitung Prinzip Hardware MCP3202 Software Anhang Praktikum 2 Einführung Erstellung eines Entfernungsmessers Sobald ein Objekt

Mehr

Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf

Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf Technische Daten 16-Bit RISC Architektur bis zu 16 Mhz Vcc: 1,8-3,6V 64 KB FRAM 2 KB SRAM 7 Schlafmodi 5 16-Bit

Mehr

Bootloader FastBoot von Peter Dannegger

Bootloader FastBoot von Peter Dannegger Bootloader FastBoot von Peter Dannegger Anleitung von Karsten Donat www.karstendonat.de/avr Stand: 05.08.2007 1 Was ist ein Bootloader? Der Bootloader ist selbst ein kleines Programm. Es wird beim Start

Mehr

Inhaltsverzeichnis VII

Inhaltsverzeichnis VII Inhaltsverzeichnis 1 Grundlagen der Mikrocontroller... 1 1.1 Mikrocontroller-Familie ATtiny2313, ATtiny26 und ATmega32.... 6 1.1.1 Merkmale des ATtiny2313, ATtiny26 und ATmega32..... 8 1.1.2 Pinbelegung

Mehr

BLUE line. Bedienungsanleitung zum M-Unit Experimentierboard. Innovative Technik. Tobias Regenhardt Grüner Weg Seulingen

BLUE line. Bedienungsanleitung zum M-Unit Experimentierboard. Innovative Technik. Tobias Regenhardt Grüner Weg Seulingen BLUE line Innovative Technik Bedienungsanleitung zum M-Unit Experimentierboard Stand: November 2003 Tobias Regenhardt Grüner Weg 6 37136 Seulingen Tel: 0175/2716591 e-mail: TobiasRegenhardt@web.de Vorwort

Mehr

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example PeakTech 6180 Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example 1. Excel Datei erstellen / Create Excel file Öffnen Sie Excel und erstellen eine xls-datei unter einem beliebigen

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

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

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

MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1

MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1 MSP 430 Mixed Signal Microcontroller MSP 430 Einführung Der Mikrocontrollers MSP430 von Texas Instruments Das Entwicklungsboard MSP-STK 430A320 http://www.ti.com Texas Instruments 1 Texas Instruments 2

Mehr

Fuses mit BASCOM und USBASP setzen

Fuses mit BASCOM und USBASP setzen Auch wenn mir dieser Programmteil von BASCOM wenig gefällt und es hübschere Programme zum Setzen der AVR Fusebits gibt, sei's drum. Es gibt immer wieder OM's, die danach fragen. Zugute halten kann man,

Mehr

STM32 - Schieberegister, SPI - u

STM32 - Schieberegister, SPI - u STM32 - Schieberegister, u23 2013 andy, florob, gordin, ike, meise, tobix, zakx e.v. http://koeln.ccc.de Cologne 2013-11-04 STM32 - Schieberegister, - u23 2013 1 Schieberegister Schieberegister Codebeispiel

Mehr

Jan Monsch. Donnerstag, 2. Mai 13

Jan Monsch. Donnerstag, 2. Mai 13 101 Jan Monsch Agenda Arduino Platform Digitale Ausgaben Analoge Eingänge Digitale Eingaben I2C Geräte (Digitales Thermometer) Arduino SW Download goo.gl/dj5l2 Was ist Arduino? Open Source Einplatinen-Computer

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

Einführung in die Programmierung von Mikrocontrollern mit C/C++

Einführung in die Programmierung von Mikrocontrollern mit C/C++ Einführung in die Programmierung von Mikrocontrollern mit C/C++ Vorlesung Prof. Dr.-Ing. habil. G.-P. Ostermeyer Rechenleistung/Speicher Systemintegration Grundlagen der Mikrocontrollertechnik (Wiederholung)

Mehr

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

Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein: Blinken Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein: // Projekt 1 - LED Blinker int ledpin = 13; void setup() pinmode(ledpin, OUTPUT); void loop() digitalwrite(ledpin, HIGH);

Mehr

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

Umstellung eines Outlook Kontos von ActiveSync zu IMAP. Changing an Outlook account from ActiveSync to IMAP

Umstellung eines Outlook Kontos von ActiveSync zu IMAP. Changing an Outlook account from ActiveSync to IMAP Outlook 2013/2016 Umstellung eines Outlook Kontos von ActiveSync zu IMAP Changing an Outlook account from ActiveSync to IMAP 18.04.2018 kim.uni-hohenheim.de kim@uni-hohenheim.de Diese Anleitung beschreibt

Mehr

Die AVR Mikrocontrollerfamilie

Die AVR Mikrocontrollerfamilie AKES - Ausgewählte Kapitel eingebetteter Systeme 10. Mai 2006 Übersicht über den Vortrag Was sind AVRs? 2/35 Anwendungsfelder Übersicht über den Vortrag Mikrocontroller 3/35 Kleiner Chip Viel integrierte

Mehr

System-Programmierung 10: Weitere Arten von I/O. CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt)

System-Programmierung 10: Weitere Arten von I/O. CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt) System-Programmierung 10: Weitere Arten von I/O CC BY-SA, Thomas Amberg, FHNW (soweit nicht anders vermerkt) Ablauf heute ⅓ Vorlesung, ⅔ Hands-on, Feedback. Slides, Code & Hands-on: tmb.gr/syspr-10 Weitere

Mehr

LCD board EB

LCD board EB LCD board EB005-00-3 Inhalt 1. Über dieses Dokument...2 2. Allgemeine Information...3 3. Board-Layout...6 4. Schaltungsbeschreibung...7 Anhang 1 Schaltplan Copyright Matrix Multimedia Limited 2005 seite

Mehr

Proseminar Timer/Counter und PWM beim ATMega16 Mikrocontroller. Marcel Jakobs

Proseminar Timer/Counter und PWM beim ATMega16 Mikrocontroller. Marcel Jakobs Proseminar Timer/Counter und PWM beim ATMega16 Mikrocontroller Marcel Jakobs September 2006 Inhaltsverzeichnis 1 Was ist ein Timer/Counter 2 1.1 Pulsweitenmodulation PWM.................................

Mehr

Wozu dient ein Logikanalysator?

Wozu dient ein Logikanalysator? Wozu dient ein Logikanalysator? Beispiel: Microcontroller Microcontroller kommen vor in Haushaltsgeräten (Waschmaschine,...) in Fahrzeugen (ABS, Motorsteuerung, Radio,...) in Computern (Tastatur, Festplatte,

Mehr

Übung 3: VHDL Darstellungen (Blockdiagramme)

Übung 3: VHDL Darstellungen (Blockdiagramme) Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei

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

Anleitung A5. Einführung in die Programmierung des Sensor-/ Aktorknotens BTnode

Anleitung A5. Einführung in die Programmierung des Sensor-/ Aktorknotens BTnode 1 Praktikum Eingebettete Systeme Wintersemester 08/09 Universität Tübingen, AB Technische Informatik Ausgabe: 18. 11. 2008 Anleitung A5 Einführung in die Programmierung des Sensor-/ Aktorknotens BTnode

Mehr

Application Note. PiXtend mit Hilfe der Control- & Status-Bytes konfigurieren und überwachen. Stand , V1.06

Application Note. PiXtend mit Hilfe der Control- & Status-Bytes konfigurieren und überwachen. Stand , V1.06 Application Note PiXtend mit Hilfe der Control- & Status-Bytes konfigurieren und überwachen Stand 21.02.2017, V1.06 Qube Solutions UG (haftungsbeschränkt) Arbachtalstr. 6, 72800 Eningen, Deutschland http://www.qube-solutions.de/

Mehr

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Java Tools JDK. IDEs.  Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/

Mehr

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.

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

Laborübung 3. Latches, Flipflops, Counter

Laborübung 3. Latches, Flipflops, Counter Laborübung 3 Latches, Flipflops, Counter Teil 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis

Mehr

Mikrocontrollerplatine vorbereiten

Mikrocontrollerplatine vorbereiten Mikrocontrollerplatine vorbereiten Aufgabe B1 Verbinden Sie einen Tastschalter mit dem Anschluss PD2 und eine Leuchtdiode mit dem Anschluss PD6 (Vorwiderstand nicht vergessen!). Teil B Timer 1 Mikrocontrollerplatine

Mehr

Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G & 18.

Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G & 18. Technische Informatik 1 Übung 5: Eingabe/Ausgabe (Computerübung) Georgia Giannopoulou, ETZ G77 ggeorgia@tik.ee.ethz.ch 17. & 18. November 2016 Inhalt Implementierung von Device-I/O mittels Polling und

Mehr

Die Technik hinter IoT: Arduino, Raspberry Pi & Co.

Die Technik hinter IoT: Arduino, Raspberry Pi & Co. Die Technik hinter IoT: Arduino, Raspberry Pi & Co. Praxisbeispiele für den Hausgebrauch Uwe Steinmann MMK GmbH 25.-26. September 2017 Uwe Steinmann (MMK GmbH) Die Technik hinter IoT 25.-26. September

Mehr

Ein-Bit-Rechner 15. Mikrorechentechnik-Grundlagen 29

Ein-Bit-Rechner 15. Mikrorechentechnik-Grundlagen 29 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 1.2.1 Programmsteuerbefehle 21 1.2.2

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

Interrupts im Handbuch des ATmega128 gründlich lesen.

Interrupts im Handbuch des ATmega128 gründlich lesen. 1 Versuch 1 1.1 Ziel Ziel des ersten Versuchs ist es die USART-Schnittstelle kennenzulernen, sowie Assemblerprogramme um eine interaktive Eingabe zu erweitern. Zu diesem Zweck werden vom Praktikums-PC

Mehr

by AS playground.boxtec.ch/doku.php/tutorial Multitasking 4

by AS playground.boxtec.ch/doku.php/tutorial Multitasking 4 www.boxtec.ch by AS playground.boxtec.ch/doku.php/tutorial + Copyright Sofern nicht anders angegeben, stehen die Inhalte dieser Dokumentation unter einer Creative Commons - Namensnennung- NichtKommerziell-Weitergabe

Mehr

Einführung DIP & AVR EVK1100

Einführung DIP & AVR EVK1100 Einführung DIP & AVR EVK1100 Umfang: ca. 2-4 Zeitstunden Display und Buttons (DIP) DIP (Treiber, Code) Aufgaben Emqopter GmbH 2 Display: DIP204 20 Spalten x 4 Zeilen (80 Zeichen) Anzeige von Informationen

Mehr

CR2013. CompactModule. E/A-Modul digital und analog für System R 360. CANopen. Schnittstelle. Betriebsspannung V DC.

CR2013. CompactModule. E/A-Modul digital und analog für System R 360. CANopen. Schnittstelle. Betriebsspannung V DC. Steuerungssysteme CR0 60 CompactModule 7 8 E/A-Modul digital und analog für System R 60 6 PWR 8 Schnittstelle Betriebsspannung 0... V DC,7 07 DIA 8, 9 7,, Mx Ausführung Betriebsspannung Stromaufnahme Eingänge

Mehr