Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen"

Transkript

1 Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O) Parallel I/O Seriell I/O Timer Zusammenfassung I/O Interrupt Mathematische Operationen

2 Direktiven: Anweisungen an den Assembler EEPROM Konfigurationsdatenspeicher Source- Code Assembler führt Direktiven aus MCU führt Maschinenbefehle aus Maschinencode Flash-ROM Programmspeicher RAM Datenspeicher Speicher

3 Direktiven (Syntax) [label: ] Direktive [Parameter] Name Beispiele: arithmetischer/logischer Ausdruck Zuweisung Funktion (LOW (0x1234), HIGH (0x1234)) String-Kostante ("ABC"), ASCII-Zeichen ('a') num. Konstante (0x0a, $0a, 0b ) Liste von Ausdrücken, Namen, Konstanten GNU-Asm: lo8(),hi8()

4 Direktiven Auswahl AVR-Studio.CSEG.DSEG.ESEG.EQU.INCLUDE.DEF.BYTE.DB.DW.ORG Code-Segment Daten-Segment EEPROM-Segment gibt einem Ausdruck einen Namen bindet Source-Code von einem anderen File ein gibt einem Register einen anderen Namen reserviert Speicherplatz (im SRAM) für Variablen definiert Byte-Konstante(n) definiert Word-Konstante(n) (2 Byte) definiert absolute Adresse innerhalb eines Segments

5 Direktiven Auswahl (GNUASM).text.data.byte.word.ascii.asciz Nachfolgend die Programm Sektion (Flash) Nachfolgend die Daten Sektion (SRAM) Bytes anlegen (je 8 Bit) Worte anlegen (je 16 Bit) ASCII Zeichen anlegen (ohne '\0' am Ende) ASCII Zeichen anlegen (mit '\0' am Ende)

6 .byte (AVR-Studio) Der Assembler reserviert Speicherplatz im Daten-Segment (RAM) für Variablen, die durch das Programm verändert werden können Name (label) enthält die erste Adresse dieses Speicherplatzes Beispiele: [label: ].byte Ausdruck.equ tabsize = 1000.dseg short_var:.byte 2 char_var:.byte 1 table:.byte tabsize ; Feld (1000 Bytes) im Listing.dseg short_var:.byte char_var:.byte table:.byte tabsize ; Feld (1000 Bytes)

7 Segment-Direktiven Die folgenden Direktiven gelten für den angegebnen Speicherbereich. Direktiven funktionieren oft nur für einen bestimmten Speicherbereich..CSEG/.text.ESEG.DSEG/.data Flash-ROM Programmspeicher EEPROM Konfigurationsdatenspeicher RAM Datenspeicher Speicher

8 .equ (AVR-Studio) equal Der Assembler ersetzt vor dem Assemblieren den Namen im Programmcode durch das Ergebnis des Ausdrucks.equ name = Ausdruck Beispiel:.equ SREG = 0x3f ; gibt der Adresse des Status- ; registers den Namen SREG.equ TEILER = 10.equFCPU= equFREQUENZ=2*FCPU/TEILER main: ldi ldi ldi r16, TEILER ; 16-Bit-Konstante! r17, LOW (FREQUENZ) ; FREQUENZ->r18:r17 r18, HIGH (FREQUENZ)

9 .equ (GNUASM) Der Assembler ersetzt vor dem Assemblieren den Namen im Programmcode durch das Ergebnis des Ausdrucks.equ name,ausdruck oder name=ausdruck GNUASM kann auch #define wie in C Beispiel:.equ SREG,0x3f ; gibt der Adresse des Status- ; registers den Namen SREG.equ TEILER,10.equFCPU, equFREQUENZ,2*FCPU/TEILER main: ldi ldi ldi r16, TEILER ; 16-Bit-Konstante! r17, lo8 (FREQUENZ) ;FREQUENZ->r18:r17 r18, hi8 (FREQUENZ)

10 .include(avr-studio) Der Assembler bindet Code aus einem anderen Assembler-File anstelle der include-direktive in den aktuellen Code ein.include "filename" main.asm.include "const.asm" main: ldi r16,rbaud const.asm.equ FCPU= equ RBAUD=FCPU/1000 vor dem Assemblieren von main.asm.equ FCPU= equ RBAUD=FCPU/1000 main: ldi r16,low(rbaud) ldi r17,high(rbaud)

11 .include für ATMega128 (AVR-Studio) Der Assembler braucht Definitionen für den speziellen Prozessor, der im Projektes verwendet wird:.include "m128def.inc" main.asm.include "m128def.inc" main: lds r16,portb const.asm....equ PORTB=0x38... vor dem Assemblieren von main.asm....equ PORTB=0x38... main: lds r16,portb

12 #include(gnuasm) Der Assembler bindet Code aus einem anderen Assembler-File anstelle der include-direktive in den aktuellen Code ein.include "filename" main.asm #include "const.asm" main: ldi r16,rbaud const.asm.equ FCPU, equ RBAUD,FCPU/1000 vor dem Assemblieren von main.asm ¹ FCPU durch Eclipse IDE schon gesetzt.equ FCPU, ¹.equ RBAUD,FCPU/1000 main: ldi r16,lo8(rbaud) ldi r17,hi8(rbaud)

13 .def (AVR-Studio) define Der Assembler ersetzt angegebenen Namen durch das Register..def name = register Beispiel:.def TEMP = r16 ; gibt dem Register r16 den ; Namen TEMP main:... mov TEMP,r17 ;Inhalt von r17 nach r16

14 .db und.dw (AVR-Studio) define byte, define word Der Assembler definiert Byte- bzw. Word-Konstanten (2Byte) im Code- oder EEPROM-Segment über den Namen des Labels kann man auf die Adresse des Beginns des Speicherbereiches zugreifen [label: ].db (Liste von) Ausdrücken, Konstanten, Strings [label: ].dw (Liste von) Ausdrücken, Konstanten Beispiele: CODE:.db 0x30, 0x31, '2', '3' TEILER:.dw 1000 im Listing 00000d e 3332 CODE:.db 0x30, 0x31, '2', '3' 00000f 03e8 K1:.dw 1000

15 .byte (AVR-Studio) Der Assembler reserviert Speicherplatz im Daten-Segment (RAM) für Variablen, die durch das Programm verändert werden können Name (label) enthält die erste Adresse dieses Speicherplatzes Beispiele: [label: ].byte Ausdruck.equ tabsize = 1000.dseg short_var:.byte 2 char_var:.byte 1 table:.byte tabsize ; Feld (1000 Bytes) im Listing.dseg short_var:.byte char_var:.byte table:.byte tabsize ; Feld (1000 Bytes)

16 .comm (GNUASM) Der Assembler reserviert Speicherplatz in der Sektion. Dies können Variablen sein, die durch das Programm verändert werden. Generell aber nur Platzhalter, also uninitialisiert! Name (label) enthält die erste Adresse dieses Speicherplatzes (aus dem Lokation-Zähler des Assemblers) Beispiele:.data.comm Name, Ausdruck ; Soll in die Daten Sektion (SRAM).equ tabsize,1000 ; Assemblersymbol, Wert 1000.comm short_var,2 ; Variable 2 Byte.comm char_var,1.comm table,tabsize ; Variable 1 Byte ; Feld (1000 Bytes)

17 .org (AVR-Studio) organize Der Assembler setzt den Adressenzähler in dem vorher durch.xseg definierten Segment auf eine angegebene Adresse [label: ].org Ausdruck Beispiel:.equ MEINE_KONSTANTEN = 0x0000c8.CSEG ; im Flash-ROM.org MEINE_KONSTANTEN K1:.db 0x14, 102/3 K2:.dw 0x0123 im Listing:.CSEG 0000c c9 0123

18 .org (GNUASM) organize Der Assembler setzt den Location-Zähler in dem vorher durch.text definierten Segment auf eine angegebene Adresse.org Ausdruck Beispiel: MEINE_KONSTANTEN = 0x0000c8.text ; im Flash-ROM.org MEINE_KONSTANTEN K1:.byte 0x14, 102/3 K2:.word 0x0123 Das Symbol K1 bekommt den Wert 0xc8, K2 0xca

19 Speicherzugriff Wir unterscheiden (Harvard Architektur): Datenadressraum und den Programmadressraum

20 LDS / STS Load / Store Data Dient zum Laden / Speichern im Datenbereich (0..$ffff) Geht nur für Bytes als Quelle Geht für R0.. R31 Syntax Beispiel : lds sts R13,0x0123 0x0021,R13

21 LD: Load Indirect Lade Register (0..31) mit Speicherzelle, deren Datenadresse in x oder y oder z ist x = r27:r26 y = r29:r28 z = r31:r30 ld r0,x ; r0=mem[ x ] ld r0,x+¹ ; r0=mem[ x++ ]; ld r0,-x¹ ; r0=mem[ --x ]; ¹Autoinkrement/Autodekrement

22 LDD Load Indirect With Displacement Lade Register (0..31) mit Speicherzelle, deren Datenadresse y+d oder z+d ist d = displacement { } ldd r0,y+1 ; r0=mem[ y+1 ] ldd r0,z+63 ; r0=mem[ z+63 ];

23 LPM: Load Program Memory (Indirect) Lade Register (0..31) mit Speicherzelle (Flash) deren Programmadresse in x oder y oder z ist Geht nur über z = r31:r30 als Indirekt-Quelle Alle Register r0..r31 möglich ld r0,z ; r0=pmem[ z ] ld r0,z+¹ ; r0=pmem[ z++ ]; ld r0,-z¹ ; r0=pmem[ --z ]; ¹Autoinkrement/Autodekrement

24 ADIW / SBIW Add/Subtract Immediate from/to Word Addiere / Subtrahiere Zahl von / zu Register (Immediate) Geht für die Registerpaare: R25:24 R27:26 R29:28 R31:30 Addierte / Subtrahierte Zahl: Syntax Beispiel: adiw r25:24,63

25 IJMP Indirect Jump Sprung = Lade Program Counter mit neuem Wert aus R31:R30 (Z-Register) ziel:nop ldi ldi ijmp nop r31,high (ziel) r30,low (ziel) GNU-Asm: lo8(),hi8()

26 ICALL Indirect Call icall = call (Z) main: mov R31, high(sub1) mov R30, low (sub1) icall rjmp main sub1:ret

27 Anwendung ijmp: switch() switch( a) { case 10: do10(); break; case 11: do11(); break; case 12: do12(); break; default: break; }

28 Anwendung: Switch #include <stdio.h> void uart_init(); void sub10() {printf("hello 10\n");} void sub11() {printf("hello 11\n");} void sub12() {printf("hello 12\n");} void to_switch(int index); int main(int arg, char *arv[]) { uart_init(); printf("pgm starts\n"); to_switch(11); }

29 ICALL Teil 1 #include <avr/io.h>.global to_switch to_switch: ;Parameter is passed in r25:r24 cpi r24,10 ;kleiner als brlo default ;10 ergibt default-fall cpi r24,13 ;grösser gleich brsh default ;13 ergibt default Fall subi r24,10 ;relativiert auf 0 lsl r24 ;*2, da Adressen 16 Bit lang ldi ZL,lo8(Liste) ;high Byte von Listenadresse ldi ZH,hi8(Liste) ;low Byte von Listenadresse

30 ICALL, Teil 2 clr r16 ;Null für adc add ZL,r24 ;Offset für Liste addieren adc ZH,r16 ;mögliches Carry zu High Byte lpm r0,z+ ;r0 Low Byte der Fct- Adresse lpm r1,z ;r1:r0 -> Fct-Adresse movw r30,r0 :Fct-Adr. Nach Z kopieren icall ;UP aufrufen default: ret ;zum Aufrufer zurück Liste: ;Liste der Funktionen- Adressen.word sub10,sub11,sub12

31 Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O) Parallel I/O Seriell I/O Timer Zusammenfassung I/O Interrupt Mathematische Operationen

Befehlssatz AVR RISC Controller

Befehlssatz AVR RISC Controller Befehlssatz AVR RISC Controller Design-Philosophie des AVR Befehlssatzes Assembler-Sprache AVR-Befehlssatz Philosophie RISC = Reduced Instruction Set Computing keine komplexen Befehle möglichst symmetrischer

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler

Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler Rechnerarchitektur und Betriebssysteme (CS201): AVR-CPU und -Assembler 1. Oktober 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1.

Mehr

Technische Informatik 2: Addressierung und Befehle

Technische Informatik 2: Addressierung und Befehle Technische Informatik 2: Addressierung und Befehle Memory Map Programm Speicher: Adresse $000-$FFF max. 4096 Byte für kompiliertes Programm Data Memory: Adresse $0000-$FFFF 32 8Bit Register 64 I/O Register

Mehr

Einführung in AVR-Assembler

Einführung in AVR-Assembler Einführung in AVR-Assembler Easterhack 2008 Chaos Computer Club Cologne Stefan Schürmans, BlinkenArea stefan@blinkenarea.org Version 1.0.4 Easterhack 2008 Einführung in AVR-Assembler 1 Inhalt Vorstellung

Mehr

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid)

Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) VM/AVR SIMPLE & STUPID 1 Multitasking / virtuelle Maschinen mittels Atmel AVR- Mikrocontrollern (Simple & Stupid) Stand: 26. 1. 2010 Zweck: Elementare Demonstration der Mehrprogrammausführung auf Grundlage

Mehr

Atmel AVR für Dummies

Atmel AVR für Dummies Atmel AVR für Dummies fd0@koeln.ccc.de 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher

Mehr

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Programmieren in C Teil 3: Mikrocontrollerprogrammierung Programmieren in C Teil 3: Mikrocontrollerprogrammierung 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Tag 1 Hello World 08/30/10 Fachbereich Physik Institut für Kernphysik

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Asm-Programmierung, Stack, Compiler

Rechnerarchitektur und Betriebssysteme (CS201): Asm-Programmierung, Stack, Compiler Rechnerarchitektur und Betriebssysteme (CS201): Asm-Programmierung, Stack, Compiler 11. November 2005 Prof. Dr. Christian Tschudin Departement Informatik, Universität Basel Wiederholung / Diskussion 1.

Mehr

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen.

Wer in der Grundschule ein wenig aufgepasst hat, sollte in der Lage sein schriftlich eine Zahl durch eine zweite zu teilen. Teilen binär Teil 1 - Vorzeichenlose Ganzzahlen ============ Irgendwann steht jeder Programmieren vor diesem Problem. Wie teile ich eine Binärzahl durch eine zweite? Wer in der Grundschule ein wenig aufgepasst

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Mikrocomputertechnik. Adressierungsarten

Mikrocomputertechnik. Adressierungsarten Adressierungsarten Ein Mikroprozessor bietet meist eine Reihe von Möglichkeiten, die Operanden für eine Rechenoperation zu bestimmen. Diese Möglichkeiten bezeichnet man als Adressierungsarten. unmittelbare

Mehr

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle

Mehr

Gerhard Paulus gp@gnomsoft.de

Gerhard Paulus gp@gnomsoft.de -------------------------------------------------------------- Assembler ab 0 und 1 8.10.2002 -------------------------------------------------------------- Gerhard Paulus gp@gnomsoft.de Copyright (c)

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

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Assembler-Programmierung

Assembler-Programmierung Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung

Mehr

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme EMES: Eigenschaften mobiler und eingebetteter Systeme Prozessoren für mobile und 00101111010010011101001010101 eingebettete Systeme II: Die AVR-Architektur Dipl. Inf. Jan Richling Wintersemester 2004/2005

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

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM I (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies AG

Mehr

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags. 3. Assembler-Programmierung Der PIC 16F84A Microcontroller kennt 35 verschiedene Befehle. Für eine ausführliche Beschreibung aller Befehle siehe PIC16F84A-Datenblatt Kapitel 7.1. 3.1 Wichtige Flaggen im

Mehr

Von PizzaCola zu SushiMate. Über Herausforderungen für Softwareentwickler/-firmen

Von PizzaCola zu SushiMate. Über Herausforderungen für Softwareentwickler/-firmen Von PizzaCola zu SushiMate Über Herausforderungen für Softwareentwickler/-firmen Früher Entwickler waren Nerds Zurückgezogen vollführten sie ihre Arbeit im stillen Kämmerlein Zu essen gab es Pizza und

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

Turbo Assembler TASM. Man findet den TASM auf meiner Homepage in folgendem Verzeichnis. Informationstechnik speziell Systemsoftware

Turbo Assembler TASM. Man findet den TASM auf meiner Homepage in folgendem Verzeichnis. Informationstechnik speziell Systemsoftware Turbo Assembler TASM Man findet den TASM auf meiner Homepage in folgendem Verzeichnis Informationstechnik speziell Systemsoftware 1 Disk1, Disk2 und Disk3 alle in ein Verzeichnis kopieren. Dann install.exe

Mehr

Mikroprozessor als universeller digitaler Baustein

Mikroprozessor als universeller digitaler Baustein 2. Mikroprozessor 2.1 Allgemeines Mikroprozessor als universeller digitaler Baustein Die zunehmende Integrationsdichte von elektronischen Schaltkreisen führt zwangsläufige zur Entwicklung eines universellen

Mehr

Der Toy Rechner Ein einfacher Mikrorechner

Der Toy Rechner Ein einfacher Mikrorechner Der Toy Rechner Ein einfacher Mikrorechner Dr. Gerald Heim Haid-und-Neu-Str. 10-14 76131 Karlsruhe 16. Mai 1995 Allgemeine Informationen 2 Quelle: Phil Kopmann, Microcoded versus Hard-Wired Logic, Byte

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Gegenüberstellung von Assembler- und C-Programmierung

Gegenüberstellung von Assembler- und C-Programmierung Gegenüberstellung von Assembler- und C-Programmierung Assembler-Version C-Version org 8000h #pragma code=0x8000 #pragma xdata=0x2000 INPUT equ 0e081h OUTPUT equ 0e082h neu: mov dptr,#input movx a,@dptr

Mehr

Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes

Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes Systemprogrammierung (37-023) Assemblerprogrammierung Betriebssystemgrundlagen Maschinenmodelle Dozent: Prof. Thomas Stricker krankheitshalber vertreten durch: Felix Rauch WebSite: http://www.cs.inf.ethz.ch/37-023/

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

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

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme

Prozessoren für mobile und. eingebettete Systeme II: Die AVR-Architektur. EMES: Eigenschaften mobiler und eingebetteter Systeme EMES: Eigenschaften mobiler und eingebetteter Systeme Prozessoren für mobile und 111111111111111 eingebettete Systeme II: Die AVR-Architektur Dr. Felix Salfner, Dr. Siegmar Sommer Wintersemester 29/21

Mehr

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens

Mehr

Workshop: ASURO-Programmieren in C

Workshop: ASURO-Programmieren in C Workshop: ASURO-Programmieren in C / Teil 1: Theorie Workshop: ASURO-Programmieren in C Teil 1: Theorie Markus Becker http://mbecker-tech.de Bürgernetz Ingolstadt e. V. / ByteWerk Stand: 1. Mai 2010 Copyright:

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

2. Einführung/Assembler Programmierung. 2.1 Einführung. 2.1.1 Übersicht

2. Einführung/Assembler Programmierung. 2.1 Einführung. 2.1.1 Übersicht 2. Einführung/Assembler Programmierung Es soll eine einfache Einführung in die Fuktionsweise des PIC16F84A gegeben werden. Anhand eines Beispielprogramms werden einige grundlegende Assemblerbefehle besprochen.

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

Mehr

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm

Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Kapitel 04: Das erste Projekt Abschnitt 04: Überblick über das Programm Beim Durchgehen des Programms will ich die verschiedenen Abschnitte zeigen, aus denen jedes ATmega-Assemblerprogramm besteht. Da

Mehr

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c 1 Transportbefehle 1.1 Verwendung nur Akku und Register (R0, R1,... R7) 1.1.1 Kopieren Sie den Wert aus Register1 nach

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

Zuse-Computer: Z1. erster Rechner mit binären Zahlen. Entwicklung der computergerechten. (Grundlage für IEEE-754) funktionierte leider nie zuverlässig

Zuse-Computer: Z1. erster Rechner mit binären Zahlen. Entwicklung der computergerechten. (Grundlage für IEEE-754) funktionierte leider nie zuverlässig Überblick Grundlagen: Spannung, Strom, Widerstand, IV-Kennlinien Elektronische Messgeräte im Elektronikpraktikum Passive Filter Signaltransport im Kabel Transistor Operationsverstärker PID-Regler Sensorik

Mehr

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren

Netzwerksicherheit Musterlösung Übungsblatt 4: Viren Institut für Informatik Alina Barendt und Philipp Hagemeister Netzwerksicherheit Musterlösung Übungsblatt 4: Viren 1 Vorbereitung msg db "Virus" mov ah, 40h mov bx, 1 mov cx, $5 mov dx, msg int 21h ; Write

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil II: Wat iss ene Bit, Byte un Word?

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)

Mehr

Einführung zum MS Visual Studio

Einführung zum MS Visual Studio 0 Visual Studio Verzeichnispfade einstellen Stellen Sie nach dem Start von Visual Studio zunächst Ihr Home-Laufwerk, d.h. den Pfad für Ihre Projektverzeichnisse und Dateien ein. Beenden Sie Visual Studio

Mehr

5.BMaschinensprache und Assembler

5.BMaschinensprache und Assembler Die Maschinenprogrammebene eines Rechners Jörg Roth 268 5.BMaschinensprache und Assembler Die vom Prozessor ausführbaren Befehle liegen im Binärformat vor. Nur solche Befehle sind direkt ausführbar. So

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

AVR-Mikrocontrollertechnik

AVR-Mikrocontrollertechnik 1/31 Ziele der Weiterbildung Vermitteln von Grundlagen zu den AVR Controllern Vermitteln von Assembler Grundlagen Vorstellen der benötigten Hard und Software Eigenständiges Programmieren der Controller

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

Betriebssysteme Teil 4: Übersetzung von C-Programmen

Betriebssysteme Teil 4: Übersetzung von C-Programmen Betriebssysteme Teil 4: Übersetzung von C-Programmen 18.10.13 1 Übersicht Übersetzungsprozess gcc(i) als Steuerprogramm Assembler Binder Hauptprogramme in C In dieser Einheit werden nur die Grundprinzipien

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 2 Instruktionssatz Lothar Thiele Computer Engineering and Networks Laboratory Instruktionsverarbeitung 2 2 Übersetzung Das Kapitel 2 der Vorlesung setzt sich mit der Maschinensprache

Mehr

COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1

COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1 1 COMPILER & CODE ANALYSE Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1 INHALT Einleitung Werkzeuge Compiler Aufbau Optimierung Beispiel Code Analyse Einführung

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK BIT

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK BIT MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG BIT LV-Nr. 439.026 SS2007 1 Datendefinitionen b) Unterteilung nach Typen: (Teil 2) void leer Pointer 2/4 Bytes Adresse von Objekten Arrays bei allen Datentypen

Mehr

Mikrocomputertechnik - Programmierung

Mikrocomputertechnik - Programmierung 3 Programmierung Assembler Aufgaben: Übersetzt mnemotechnische Abkürzungen (z.b. move, add...) in die Maschinenbefehle des Prozessors Ermöglicht die Vergabe von Namen für Speicheradressen (Label) Berechnet

Mehr

Einführung in die Programmiersprache C und in den C166-Compiler

Einführung in die Programmiersprache C und in den C166-Compiler Einführung in die Programmiersprache C und in den C166-Compiler Die vorliegenden Unterlagen sollen einen kurzen Überblick über die Software-Entwicklung in C geben. Diese Unterlagen erheben keinen Anspruch

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

Angewandte IT-Sicherheit

Angewandte IT-Sicherheit Angewandte IT-Sicherheit Johannes Stüttgen Lehrstuhl für praktische Informatik I 30.11.2010 Lehrstuhl für praktische Informatik I Angewandte IT-Sicherheit 1 / 28 Aufgabe 1 Betrachten sie folgendes Programm:

Mehr

1 Assembler. 2 LED-Steuerung

1 Assembler. 2 LED-Steuerung Inhaltsverzeichnis Inhaltsverzeichnis... 1 1 Assembler... 2 2 LED-Steuerung... 2 3 Taster Abfrage ( Port I/O)... 3 3.1 Zahlensysteme... 3 3.2 Ausgabe... 4 3.2.1 Assembler-Sourcecode... 4 3.2.2 Assemblieren...

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

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

U23 2008 Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer Abend 3: Musterlösungen, Taster entprellen, Unterprozeduren, Interrupts, Timer Alexander Neumann e.v. http://koeln.ccc.de Köln, 1.9.2008 1 Musterlösungen Aufgabe 1 & 2 2 Taster entprellen

Mehr

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44

Stephan Brumme, SST, 2.FS, Matrikelnr. 70 25 44 Aufgabe 33 a) Der Pseudobefehl move $rd,$rs wird als addu $rd,$0,$rs übersetzt. Dabei macht sich SPIM zunutze, dass das Register $0 immer Null ist. Somit wird das Register $rd ersetzt durch $rd=0+$rs=$rs,

Mehr

Freescale 68HCS12X Aufbau eines Linker Commandfiles für den 68HCS12XDP512 (ohne XGATE)

Freescale 68HCS12X Aufbau eines Linker Commandfiles für den 68HCS12XDP512 (ohne XGATE) COSMIC Software GmbH Rohrackerstr. 68 D-70329 Stuttgart Tel. ++49 (0) 711 42040 62 Fax. ++49 (0) 711 42040 68 Email sales@cosmic-software.de Internet www.cosmic-software.com Seite 1 von 13 Tech. Note:

Mehr

Praktikum Mikrocomputertechnik

Praktikum Mikrocomputertechnik Anleitung zum Praktikum Mikrocomputertechnik Im Praktikum wird der Mikrocontroller 68332 von Motorola verwendet. Dieser Mikrocontroller besteht aus einer 32-Bit CPU und integrierten Peripheriebausteinen

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34

Mikrocontroller. eine Einführung. Florian Schmitt - 16.11.2010 1 / 34 Mikrocontroller eine Einführung Florian Schmitt - 16.11.2010 1 / 34 Inhalt Was sind Mikrocontroller, wozu sind sie nützlich? Unterschiede und Gemeinsamkeiten mit dem PC Wie funktionieren Mikrocontroller

Mehr

Einführung in die Mikrocontroller-Programmierung am Beispiel Atmel AVR

Einführung in die Mikrocontroller-Programmierung am Beispiel Atmel AVR EINFÜHRUNG IN DIE MIKROCONTROLLER-PROGRAMMIERUNG (AVR) STAND: 09 / 07 1 Einführung in die Mikrocontroller-Programmierung am Beispiel Atmel AVR Abb. 1 Mikrocontroller in verschiedenen Bauformen (Atmel)

Mehr

Maschinensprache und Assembler

Maschinensprache und Assembler 4. Befehle, die ein Digitalrechner ausführen soll, müssen binär codiert vorliegen. Diese Befehle werden als Maschinenbefehle bezeichnet. Will man z.b. beim 8051 den Inhalt des Accus in das Register R2

Mehr

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Kapitel 3. Mein erstes C-Programm

Kapitel 3. Mein erstes C-Programm Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL

Mehr

C Überlebenstraining

C Überlebenstraining C Überlebenstraining Dies ist nur ein Schnellkurs in C, der genug Einstiegswissen vermitteln soll, daß weiterführende Literatur schnell benutzt werden kann. Dies ist kein vollständiger Programmier oder

Mehr

D i g i t a l l a b o r

D i g i t a l l a b o r Hochschule Karlsruhe Technik und Wirtschaft Fakultät für Informatik und Wirtschaftsinformatik Prof. Dr. A. Ditzinger / Dipl.-Inform. (FH) O. Gniot Prof. Dr. N. Link / Dipl.-Ing. J. Krastel D i g i t a

Mehr

Einführung ins Programmieren

Einführung ins Programmieren Einführung ins Programmieren Prof. Dr. Markus Gross Informatik I für D-MAVT (FS 2015) Aufbau eines Computers Systemumgebung Vorgang des Programmierens Editor, Debugger, Linker Programmiersprachen - Geschichte

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit) Der Demo-Computer besitzt einen 4Bit-Mikroprozessor. Er kann entsprechend Wörter mit einer Breite von 4 Bits in einem Schritt verarbeiten. Die einzelnen Schritte der Abarbeitung werden durch Lampen visualisiert.

Mehr

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.

Fachhochschule Kaiserslautern Fachbereich Angewandte Ingenieurwissenschaften WS2010/11. Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10. Lehrprozessor: Coldfire MCF-5272 Zeitpunkt der Prüfung: 18.01.2011 Beginn: 10.45 Uhr Raum: Aula Bearbeitungszeit: 180 Minuten Erlaubte Hilfsmittel: Gedrucktes Vorlesungsskript von Prof. Neuschwander mit

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

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

i2c-bus.de I2C-002 KURZBESCHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander Dokument NR.: I2C-002-D-01 DA CL Dokument NR.: I2C-002-D-01 I2C-002 KURZBECHREIBUNG I 2 C Modul mit PCA8574 8-Bit I/O Port-Expander P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken DA CL Inhaltsverzeichnis 1. Modul

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Lösungsvorschlag zur 9. Übung

Lösungsvorschlag zur 9. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 9. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der folgenden Aussagen über

Mehr

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende. PROGRAMMIEREN IN C - EIN KURZÜBERBLICK 1 Programmieren in C -- ALLE Programmiersprachen sind HÄSSLICH -- Die einfachste Programmstruktur: main () -- was zu tun ist --- Vorgeordnete Definitionen: # include

Mehr

ATtiny13-Experimentier-Board

ATtiny13-Experimentier-Board ATtiny13-Experimentier-Board Gerhard Schmidt, Kastanienallee 20, D-64289 Darmstadt, http://www.avr-asm-tutorial.net Februar 2009 ATtiny13-Experimentier-Board Seite 2 Inhalt Beschreibung Hardware Copyright

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, Patrik Schmittat 2. Aufgabenblatt mit Lösungsvorschlag 08.11.2010 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen

Mehr

airbases.txt Airbase 99 Sys Ex Documentation 1. SysEx Protokolle Firmware Vers. 1.09 x=don't care 1.1. Bulk Dump Tx/Rx

airbases.txt Airbase 99 Sys Ex Documentation 1. SysEx Protokolle Firmware Vers. 1.09 x=don't care 1.1. Bulk Dump Tx/Rx Airbase 99 Sys Ex Documentation airbases.txt 1. SysEx Protokolle Firmware Vers. 1.09 x=don't care 1.1. Bulk Dump Tx/Rx ;Header: $f0 SysEx Command $31 JoMoX ID $7f Operation Code Bulkdump $56 AirBase99

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

AVR-8-Bit-Mikrocontroller Bootloader

AVR-8-Bit-Mikrocontroller Bootloader Physik-Seminar AVR-8-Bit-Mikrocontroller Bootloader Markus Schroeder, 203110686 Universität Koblenz-Landau schroeder@uni-koblenz.de Betreuer: Dr. Merten Joost c 2006 INHALTSVERZEICHNIS 2 Inhaltsverzeichnis

Mehr

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7 Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr