Stopp-Uhr. Erstellen Sie ein Programm (in Zweier- bzw. Dreier-Gruppen), welches folgende Bedingungen erfüllt:
|
|
- Charlotte Lange
- vor 7 Jahren
- Abrufe
Transkript
1 Inhalt Aufgabenstellung... 1 Lösung... 2 System (Kontextdiagramm)... 2 Zustands-Übergangs-Diagramm... 2 Codeierung... 4 Main-Module... 4 Module-Button... 6 Module Timer... 8 Anhang Datenflussdiagramm Aufgabenstellung Erstellen Sie ein (in Zweier- bzw. Dreier-Gruppen), welches folgende Bedingungen erfüllt: Erstellen Sie eine, welche folgendes verhalten hat: Konpf 1 betätigt => Start Knopf 1 nochmals betätigt => keine Wirkung Knopf 2 betätigt => Stopp Knopf 1 betätigt => Weiterlaufen Knopf 2 betätigt => Stopp Knopf 3 betätigt => Reset Während dem Laufen soll die ca. alle 100ms aktualisiert werden. Die gestoppte soll auf 1ms genau angezeigt werden. Option: Knopf 1 und 2 sollen nur durch einen Knopf realisiert werden. (Die kürzeste, die gemessen werden kann beträgt ca. 2 sec) Minipflichten-Heft Vorgehen: Analyse des Minipflichtenheft 10 Beschreibung von Lösungsvarianten (grafisch) 30 Besprechen mit Kunden 10 Realisierung, Debugging und Test 45 Für die Codierung können Sie das gerüst verwenden, welches im Datenaustausch liegt, sowie die Übungen (DigInInt und Uhr_1). Einführung/ se Mikroprozessortechnik (ierung) Seite : 1 von 12
2 Lösung Es wird nur die Variante mit 2 Knöpfen (Option) realisiert. Ergänzung zum Minipflichtenheft: Nach einem Stopp kann der Start frühestens nach 1 Sekunde wieder werden. System (Kontextdiagramm) Reset Start Stopp Stopp- Uhr Monitor (Anzeige) Bild 1: Kontext-Diagramm Der Start/Stop-Taster wird an Port 0 Bit 1 (INTP0) angeschlossen (CN7 Pin 37) Der Reset-Taster wird an Port 0 Bit 3 (INTP2) angeschlossen (CN7 Pin 39) Zustands-Übergangs-Diagramm Da diese Anwendung ganz klar Ereignisgesteuert ist, verzichten wir auf ein Datenfluss- Diagramm und schenken dafür dem Zustands-Übergangs-Diagramm vermehrte Beachtung. Reset = 0:0:0 Stopp 1 ms Start/Stopp anzeigen Start/Stopp 1 ms Increment Bild 2: Zustands-Übergangs-Diagramm Run Reset Einführung/ se Mikroprozessortechnik (ierung) Seite : 2 von 12
3 Wenn man die Übergänge betrachtet, stellt man fest, dass diese ebenfalls ein verhalten aufweisen: Reset Entprell- Stopp Start/Stopp 1 ms Reset oder Start/Stopp Stopped 1 ms 1 ms Increment Started Reset oder Start/Stopp 1 ms Increment Entprell- Start/Stopp Run Reset = 0:0:0 Bild 3: Detailliertes Zustands-Übergangs-Diagramm Einführung/ se Mikroprozessortechnik (ierung) Seite : 3 von 12
4 Codeierung Main-Module : StoppUhr.h (main) Datum : #ifndef STOPPUHR_H #define STOPPUHR_H #define STOPP 0 #define STARTED 1 #define RUN 2 #define STOPPED 3 #endif Header-File: StoppUhr.h Einführung/ se Mikroprozessortechnik (ierung) Seite : 4 von 12
5 : StoppUhr.c (main) Datum : #include "v850sa1.h" #include "StoppUhr.h" #include "Timer.h" #include "Button.h" #define FOREVER 1 ******************* Globale Variablen ************************** unsigned int State = STOPP; ****************** Imported Variables ************************* extern unsigned int Changed; extern unsigned int TimeInMilliSeconds; extern const unsigned char BCSSD[]; main() printf("!\n"); Start-Text!' Initialisierung InitPort(); InitStartStopp(); InitTimer1(); EI(); Enable Alle Intterrupts freigeben while(forever) if(changed) printf(" = %4d.%03d[sec]\n", (TimeInMilliSeconds / 1000), (TimeInMilliSeconds % 1000)); Changed = 0; } end if time changed P10 = BCSSD[State % 16]; show State for test only } end main-loop } Ende Funktion: main() Source-File: StoppUhr.c Einführung/ se Mikroprozessortechnik (ierung) Seite : 5 von 12
6 Module-Button : Button.h Datum : #ifndef BUTTON_H #define BUTTUN_H void InitPort(); Definition der Ports Input / Output void InitStartStopp(); Initialisierung und aktivieren #endif Header-File: Button.h : Button.c Datum : #include "v850sa1.h" #include "Button.h" #include "StoppUhr.h" #define FOREVER 1 ****************** Imported Variables ************************* extern unsigned int State; extern unsigned int Changed; extern unsigned int TimeInMilliSeconds; extern unsigned int PrellTimeInMilliSeconds; void InitPort() PM0 = 0xFF; -> P0 is 8 bit input PU0 = 0xFF; -> P0 PullUp connect PM3 = 0xFF; -> P3 is 8 bit input PM10 = 0x00; -> P10 is 8 bit output } Ende Funktion: InitPort Einführung/ se Mikroprozessortechnik (ierung) Seite : 6 von 12
7 void InitStartStopp() PIC0=0x07; -Control-Register Seite 117 EGP0 = 0x00; steigende Flanke aktive EGN0 = 0xFF; fallende Flanke aktive } Ende Funktion InitStartStopp StartStopp() Routine INTP0 #pragma ghs interrupt Info fuer Compiler switch(state) case STOPP: State = STARTED; PrellTimeInMilliSeconds = TimeInMilliSeconds; case STARTED: entprellen case RUN: State = STOPPED; PrellTimeInMilliSeconds = TimeInMilliSeconds; Changed = 1; case STOPPED: entprellen default: do nothing } end switch state } Ende -Funktion: INTP0() Source-File: Button.c Einführung/ se Mikroprozessortechnik (ierung) Seite : 7 von 12
8 Module Timer : Timer.h Datum : #ifndef TIMER_H #define TIMER_H void InitTimer1(); #endif Header-File: Timer.h Einführung/ se Mikroprozessortechnik (ierung) Seite : 8 von 12
9 : Timer.c Datum : #include "v850sa1.h" #include "Timer.h" #include "StoppUhr.h" #define DISPLAY_STEP 100 #define PRELL_START 2000 #define PRELL_STOPP 1000 ******************* Globale Variablen ************************** unsigned int TimeInMilliSeconds = 0; unsigned int PrellTimeInMilliSeconds = 0; unsigned int Changed = 1; ****************** Imported Variables ************************* extern unsigned int State; void InitTimer1() TMC1 = 0x00; stop timer1 CRC1 = 0x00; CRC10 = 0 CR10 als Vergleichs-Register PRM1 Bit1 = 1 PRM1 = 0x02; PRM1 Bit1 = 0 => fxx/2, fxx/4 oder fxx/16 CR10 = 1250; Vergleichswert setzten x 800 ns = 1ms TMC1 = 0x0C; TMC13 = 1 TMC12 = 1 => Loschen und Neubeginn wenn TM1 und CR10 uebereinstimmen TMC11 = 0 OVFn = 0 TMIC10=0x07; Timer freigeben } Ende Funktion InitTimer1 Einführung/ se Mikroprozessortechnik (ierung) Seite : 9 von 12
10 Timer1_() Routine #pragma ghs interrupt Info fuer Compiler switch(state) case STOPP: poll reset-button if((_p03 == 0) && (TimeInMilliSeconds > 0)) TimeInMilliSeconds = 0; Changed = 1; } case STARTED: TimeInMilliSeconds++; if((timeinmilliseconds % DISPLAY_STEP) == 0) Changed = 1; } if( (TimeInMilliSeconds PrellTimeInMilliSeconds) > PRELL_START) State = RUN; } entprellen case RUN: TimeInMilliSeconds++; if((timeinmilliseconds % DISPLAY_STEP) == 0) Changed = 1; } case STOPPED: PrellTimeInMilliSeconds++; if( (PrellTimeInMilliSeconds TimeInMilliSeconds) > PRELL_STOPP) State = STOPP; } entprellen default: do nothing } end switch state } Ende Funktion: Timer1_ Source-File: Timer.c Einführung/ se Mikroprozessortechnik (ierung) Seite : 10 von 12
11 Module SiebenS Die Siebensegment-Anzeige wird zum Anzeigen des Status verwendet, dies erleichtert das Debuggen sehr. : SiebenS.c Datum : #include "v850sa1.h" #include "Siebens.h" #define SEG_A 0x01 #define SEG_B 0x02 #define SEG_C 0x04 #define SEG_D 0x08 #define SEG_E 0x10 #define SEG_F 0x20 #define SEG_G 0x40 #define SEG_DP 0x80 Beginn Datenstruktur : Comperator Coded Seven Segment Display const unsigned char BCSSD[17] = ~(SEG_A SEG_B SEG_C SEG_D SEG_E SEG_F), 0 ~(SEG_B SEG_C ), 1 ~(SEG_A SEG_B SEG_D SEG_E SEG_G), 2 ~(SEG_A SEG_B SEG_C SEG_D SEG_G), 3 ~(SEG_B SEG_C SEG_F SEG_G), 4 ~(SEG_A SEG_C SEG_D SEG_F SEG_G), 5 ~(SEG_A SEG_C SEG_D SEG_E SEG_F SEG_G), 6 ~(SEG_A SEG_B SEG_C), 7 ~(SEG_A SEG_B SEG_C SEG_D SEG_E SEG_F SEG_G), 8 ~(SEG_A SEG_B SEG_C SEG_D SEG_F SEG_G), 9 ~(SEG_A SEG_B SEG_C SEG_E SEG_F SEG_G), A ~(SEG_C SEG_D SEG_E SEG_F SEG_G), b ~(SEG_D SEG_E SEG_G), c ~(SEG_B SEG_C SEG_D SEG_E SEG_G), d ~(SEG_A SEG_D SEG_E SEG_F SEG_G), E ~(SEG_A SEG_E SEG_F SEG_G), F ~(SEG_DP)};. Ende Datenstruktur : Binary Coded Seven Segment Display Source-File: SiebenS.c Einführung/ se Mikroprozessortechnik (ierung) Seite : 11 von 12
12 Anhang Datenflussdiagramm Reset Start Sopp Eingänge auswerten Status Status Timer Status 0:0:0 Increment Status Eingänge auswerten Formatierte Datenflussdiagramm Level I Einführung/ se Mikroprozessortechnik (ierung) Seite : 12 von 12
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
MehrMikrocontrollerplatine 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
MehrIR NEC Empfänger mit 4x7 LED Anzeige (ATtiny2313)
// Include C Libriaries #include #define F_CPU 4000000UL #include #include #include #include // Definition der Segmente #define SEG_O
Mehri2c-bus.de IN/OUT - UART Einfache Ein- und Ausgabe über serielle Schnittstelle Interrupt-Betrieb Dokument NR.: AB-001-U-03
DA Dokument NR.: AB-001-U-03 IN/OUT - UART Einfache Ein- und Ausgabe über serielle chnittstelle Interrupt-Betrieb P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken IN/OUT mittels BUF (Interrupt)
Mehr#include <pic.h> #include <pic1687x.h> #define FOSC L #define BAUD 9600L
#include #include #define FOSC 12750000L #define BAUD 9600L #define PWMZYCLUS 50 //PWM-Zyclus 20ms = 50Hz #define PWM1MS (unsigned int)(fosc/(4*20*pwmzyclus)) #define PWMZA (unsigned
MehrWiederholung: Zugriff auf AVR-Prozessor-Register. Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek
U4 4. Übung U4 4. Übung Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Hexadezimalzahlen Überblick: Modulare Softwareentwicklung Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek
MehrU3-1 Register beim AVR-μC. U3 3. Übung. U3-2 I/O-Ports des AVR-μC. 1 Überblick. 2 Makros für Register-Zugriffe. 1 Überblick
U3 3. Übung U3 3. Übung U3-1 Register beim AVR-μC U3-1 Register beim AVR-mC Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Zahlensysteme Überblick: Modulare Softwareentwicklung
MehrWiederholung: Zugriff auf AVR-Prozessor-Register. Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek
U3 3. Übung U3 3. Übung Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Zahlensysteme Überblick: Modulare Softwareentwicklung Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek U3.1
MehrWiederholung: Zugriff auf AVR-Prozessor-Register
U3 3. Übung U3 3. Übung Wiederholung: Zugriff auf AVR-Prozessor-Register Wiederholung: I/O-Ports Zahlensysteme Überblick: Modulare Softwareentwicklung Aufgabe 3: 7seg-Modul der SPiCboard-Bibliothek U3.1
Mehri2c-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
MehrProjekt: Ampelsteuerung für die Kinderverkehrserziehung der Stadtpolizei Dornbirn
Projekt: Ampelsteuerung für die Kinderverkehrserziehung der Stadtpolizei Dornbirn Gesponsert von: Ing. Bernhard Baumgartner E-Mail: bernhard@baumgartners.at www.omicron-lab.com Ing. Bernhard Baumgartner
MehrMODUL 6 TIMER UND COUNTER
µc Anwendungsprogrammierung in C Modul 6 / Seite 1 MODUL 6 TIMER UND COUNTER V1.1 J. Humer 1997 µc Anwendungsprogrammierung in C Modul 6 / Seite 2 INHALTSVERZEICHNIS MODUL 6 TIMER UND COUNTER Inhalt Seite
Mehrd) Was passiert, wenn das folgende Programmstück übersetzt und ausgeführt
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
MehrMicrocontroller 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
MehrU5-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
Mehri2c-bus.de I2C-001 KURZBESCHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander Dokument NR.: I2C-001-D-01
DA CL Dokument NR.: I2C-001-D-01 I2C-001 KURZBECHREIBUNG I 2 C Modul mit PCF8574 8-Bit I/O Port-Expander P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken DA CL Inhaltsverzeichnis 1. Modul
MehrDa 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
MehrLösung 8051er. Bussysteme IIC - Bus. Klasse:... Datum:...
/******************************************************************************** CLASS: P8051er Compiler: KeiluV3 PROGRAM: Blinc_C.c AUTHOR: Gerhard Neumaier DATE: 15.Okt 2010 DESCRIPTION: LEDs am Port1
MehrUSBCAN.DLL. Manual. Microcomputersysteme. Version 1.2
USBCAN.DLL Microcomputersysteme Manual Version 1.2 August 2004 Die in diesem Manual verwendeten Beschreibungen für Erzeugnisse, die ein eingetragenes Warenzeichen darstellen können, wurden nicht separat
MehrLED-UHR. Bedienungsanleitung
LED-UHR (von Nico Kussmaul, Benedikt Rosswog und Karl Wild) Bedienungsanleitung Zuerst steckt man den Netzstecker ein, vorerst zeigt die Uhr 12:34 an (1234). Die Zeit muss manuell eingestellt werden, da
MehrEs 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 Zeigern, sowie Records und Funktionen Aufgabe 5: Diese Aufgabe basiert auf der Aufgabe 4. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher
MehrGdI2 - 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
MehrMicrocontroller 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
MehrPIC16 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Übungen zu Systemnahe Programmierung in C (SPiC)
Übungen zu Systemnahe Programmierung in C (SPiC) Moritz Strübe, Rainer Müller (Lehrstuhl Informatik 4) Sommersemester 2014 Inhalt Aufgabe4 Led Modul Wiederholung Konfiguration der Pins Hinweise zur Aufgabe
MehrLaborprotokoll Informationstechnologien
Laborprotokoll Informationstechnologien Mikrocontroller-Programmierung (C 51) TKS 2004, Sommersemester 2004/05 Klaus Roleff Andreas Unterweger Klaus Roleff, Andreas Unterweger ITLB2 Seite 1 von 18 Übung
Mehr11: 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Übungen zu Systemnahe Programmierung in C (SPiC)
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 4 Sommersemester 2016 Inhalt Module Schnittstellenbeschreibung Ablauf vom Quellcode zum laufenden Programm
Mehri2c-bus.de ASCII ZEICHEN AUF DEM HYPERTERMINAL Übungsaufgabe RS232 Schnittstelle Dokument NR.: AB-001-U-01
DA Dokument NR.: AB-001-U-01 ACII ZEICHEN AUF DEM HYPERTERMINAL Übungsaufgabe R232 chnittstelle P Bitte denken ie an die Umwelt, bevor ie diese Datei ausdrucken DA ACII Zeichen auf dem Hyperterminal Inhaltsverzeichnis
MehrProjektarbeit aus der Datenverarbeitung. Lotto. von: Hubert Schlenk Olimex AVR USB 162 Entwicklerboard Hubert Schlenk
Projektarbeit aus der Datenverarbeitung Lotto von: Hubert Schlenk 21.07.2010 Olimex AVR USB 162 Entwicklerboard 2010 Hubert Schlenk Aufgabenstellung: Die Aufgabe war die Entwicklung eines kleinen Programmes
MehrInhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Inhalt. Globale Variablen
Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Heiko Janker, Moritz Strübe, Rainer Müller () Wintersemester 24/25 volatile Verwendung Module Hinweise zur Aufgabe Übungen zu SPiC (WS 24/5)
MehrInhalt. Übungen zu Systemnahe Programmierung in C (SPiC) Schnittstellenbeschreibung. Inhalt
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier () Übung 4 Schnittstellenbeschreibung Ablauf vom Quellcode zum laufenden Programm Initialisierung eines Moduls Active-high & Active-low
MehrPLOG1. 1. Anmerkungen zur Funktion. Praktikumsplatine "programmierbare Logik" Spannungsversorgung:
PLOG1 Praktikumsplatine "programmierbare Logik" PLOG1 CN3 CN6 CN1 CN2 CN4 CN5 CN7 D3 CN8 D4 SW1 J4 D10 J1 J3 J2 CN9 D12 CPLD J5 C34 SW2 R41 CN10 D13 D14 D15 CN16 CN11 CN12 CN13 CN14 CN15 SW3 CN17 J6 J7
MehrMicrocontroller 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.
MehrRotary Encoder (RE)
H39@email.de Rotary Encoder (RE) Rotary Encoder & Taster Kontakte & Takte Takt 1-4 Schritt & Takte Schaltplan Takte lesen (Polling) Polling oder Interrupt Takte lesen (Interrupt) Interrupt? Decoding Tabelle
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
MehrHerzlich willkommen!
Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in
MehrSyntax und Kontrollstrukturen
Syntax und Kontrollstrukturen Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-29
MehrMikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen
Mikroprozessoren Grundlagen Aufbau, Blockschaltbild Grundlegende Datentypen AVR-Controller Anatomie Befehlssatz Assembler Speicherzugriff Adressierungsarten Kontrollstrukturen Stack Input / Output (I/O)
MehrDST EINFÜHRUNG IN MRT
DST EINFÜHRUNG IN MRT V1 (90 min) Projektaufbau Projekt Versuch 1.1: Gegeben ist ein Atmel uc. An PortA sind 8 Taster angeschlossen. An PortC sind 8 LEDs. Geben Sie die Taster - Information an den LEDs
MehrAufbau 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
MehrInhalt. Aufgabe 4: LED-Modul Hinweise Testen des Moduls Sommersemester 2015
Übungen zu Systemnahe Programmierung in C (SPiC) Peter Wägemann, Sebastian Maier, Heiko Janker () Übung 4 Ablauf vom Quellcode zum laufenden Programm Active-high & Active-low Hinweise Sommersemester 2015
MehrHelvePic32 Breadboard. Internet Data Logger
2016/04/03 21:14 1/10 HelvePic32 Breadboard Alle Beispiele, welche beim Helvepic32 angegeben sind, können unverändert natürlich auch beim HelvePic32 Breadboard verwendet werden. Daher nutzen wir die Gelegenheit,
Mehrµversion 2 Einführung
µversion 2 Einführung V1.0 F. Wolf Graz, September 2002 Inhaltsverzeichnis 1 Keil Mikroprozessor-Entwicklungsumgebung 1 2 Menübeschreibung 1 2.1 Hauptmenü 2 2.2 Compilermenü 2 2.3 Debugermenü 2 3 Projekt
MehrZusammenfassung 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.
MehrGrundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
MehrLaborübung aus Systemnahe Programmierung
Laborübung aus Systemnahe Programmierung C - Block für Fortgeschrittene Roman Obermaisser Institut für Technische Informatik 2008 Systemprogrammierung C-Block 1 Übersicht Strukturen Eigene Typen Funktionen
MehrDie Grösse der primitiven Datentypen in C ist architekturabhängig
U2 2. Übung U2 2. Übung Datentypen mit fester Größe (Statische) Programmbibliotheken SPiCboard-Bibliothek Wiederholung: volatile Wiederholung: Nebenläufigkeit / Synchronisation Aufgabe 1 U2.1 U2-1 Datentypen
MehrTag 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!
MehrAnwendung und Programmierung von Mikrocontrollern. Anwendung und Programmierung von Mikrocontrollern
Anwendung und Programmierung von Mikrocontrollern Sommersemester 2013 Dr.-Ing. Hubert Zitt Kontakt: hubert.zitt@fh-kl.de www.fh-kl.de/~zitt Dr.-Ing. Hubert Zitt Seite 1 von 24 S65 Shield (von oben) Komponenten
MehrRechnerarchitektur, Einführung in die Laborübungen
G. Kemnitz Institut für Informatik, TU Clausthal (RA-LabEinf.pdf) 20. Dezember 2017 1/18 Rechnerarchitektur, Einführung in die Laborübungen G. Kemnitz Institut für Informatik, TU Clausthal (RA-LabEinf.pdf)
MehrLaborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch
Laborübung 2 Teil 1: Latches, Flipflops, Counter A 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
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
MehrRechnerarchitektur, Einführung in die Laborübungen
Rechnerarchitektur, Einführung in die Laborübungen G. Kemnitz 24. November 2016 Inbetriebnahme der Mikrorechnerbaudruppe 1. Anschluss 5V-Netzteil 2. Anschluss Programmer 3. Einschalter 4. Eingabeschalter
Mehrd) Welche Aussage zu Zeigern ist richtig? Beim Rechnen mit Zeigern wird immer der Typ des Zeigers beachtet.
Aufgabe 1: (16 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
MehrSpeicheraufbau des AT89C5131
Speicheraufbau des AT89C5131 Prinzip: - getrennter Programmspeicher (ROM) und Datenspeicher (RAM) - interner Speicher (auf dem Chip) und externer Speicher (Zusatzbausteine) Das Experimentalsystem hat keinen
MehrAnschluss von Peripherien Jiri Spale, Programmierung eingebetteter Systeme 1
Anschluss von Peripherien 2008 Jiri Spale, Programmierung eingebetteter Systeme 1 Tastenmatrix Anschluss von vielen Tasten zyklische Abfrage im Zeitmultiplexverfahren Anordnung der Tasten: m x n Matrix,
MehrHinweise C-Programmierung
Hinweise C-Programmierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017 V. Sieh Hinweise C-Programmierung
MehrProgrammablaufpläne. Vorgehen zur Erstellung eines lauffähigen C-Programms
Programmablaufpläne Vorgehen zur Erstellung eines lauffähigen C-Programms Dieser Leitfaden soll eine Einführung in das Erstellen von Programmablaufplänen (kurz: PAP) geben. PAP erleichtern das Erstellen
Mehr4 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
MehrProjektarbeit in DVT auf dem Entwicklerboard
Projektarbeit in DVT auf dem Entwicklerboard OUMEX AVR-USB-162 von Michael Eggl, Markus Vogl 1 FROM 8 Version 1.0 Seite 1 von 7 Inhaltsverzeichnis: Aufgabenstellung Seite 3 Planung Seite 3 Quellcode Seite
MehrSebastian Maier (Lehrstuhl Informatik 4) Übung 4. Sommersemester 2017
Übungen zu Systemnahe Programmierung in C (SPiC) Sebastian Maier (Lehrstuhl Informatik 4) Übung 4 Sommersemester 07 Inhalt Module Schnittstellenbeschreibung Ablauf vom Quellcode zum laufenden Programm
MehrInterrupt-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
MehrMünchen-Gräfelfing. Mixed Mode GmbH.
München-Gräfelfing sales@mixed-mode.de CAN Layer 2 Treiber CAN Vortrag FH Schweinfurt 31. Mai 2005 von Kurt Veit am Beispiel des XC164 Microcontrollers ISO Schichten Modell für CAN Application Layer (7)
MehrSystem-Makro in time.h : #define CLOCKS_PER_SEC 1000 Frühere Makro-Bezeichnung (z.t. noch gebräuchlich): #define CLK_TCK CLOCKS_PER_SEC//aus:time.
Timer Zeit-Abfragen in C: System-Makro in time.h : #define CLOCKS_PER_SEC 1000 Frühere Makro-Bezeichnung (z.t. noch gebräuchlich): #define CLK_TCK CLOCKS_PER_SEC//aus:time.h Zwei C-Anweisungen: /*Rechenzeit
MehrEXF2 TF2 IEX6 IEX5 IEX4 IEX3 IEX2 IADC 0C0H T2PS I3FR I2FR T2R1 T2R0 T2CM T2I1 T2I0 0C8H. AFH AEH ADH ACH ABH AAH A9H A8H Bitdresse
Siemens-C515C Special-Function-Register (Subset) MSB 7 6 5 4 3 2 1 LSB 0 COCH3 COCL3 COCH2 COCL2 COCH1 COCL1 COCH0 COCL0 Bit 0C1H CCEN EXF2 TF2 IEX6 IEX5 IEX4 IEX3 IEX2 IADC 0C0H IRCON C7H C6H C5H C4H
MehrLED 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
MehrBeispiel. Echo-Anwendung. Beispiel Echo Anforderungen. Benutzer stellt Konfiguration der seriellen Schnittstelle am PC ein (z.b. über Hyperterminal)
Beispiel Echo-Anwendung Erweiterung String-Ausgabe Beispiel Echo Anforderungen Benutzer stellt Konfiguration der seriellen Schnittstelle am PC ein (z.b. über Hyperterminal) - asynchroner Modus - Baudrate:
MehrAuswahlen (Selektionen)
1 Anhang 10.3 Ein/Ausgaben Eingabe mit Prompt (Beispiel) cout ; // Prompt ohne endl cin
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrWS 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:
MehrFü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
MehrSerielle Schnittstelle
Serielle Schnittstelle RS-232 ist ein Standard für eine bei Computern teilweise vorhandene serielle Schnittstelle, der in den frühen 1960er Jahren von dem US-amerikanischen Standardisierungskomitee Electronic
MehrProjektdokumentation: 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
MehrEinfü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).
MehrWer möchte, kann sein Programm auch auf echter Hardware testen
U4 3. Übungsaufgabe U4 3. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-μC Register I/O-Ports AVR-Umgebung Peripherie U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit
MehrDST EINFÜHRUNG IN MRT
DST EINFÜHRUNG IN MRT V1 (90 min) Steuerungs- und Regelungssysteme 1 DST EINFÜHRUNG IN MRT Heizungs - Regelung 2 HEIZUNGS REGELUNG 3 HEIZUNGS REGELUNG 5 5 4 1 1 => 16 x Temp. 5 x Durchflußmenge Uhrzeit
MehrProgrammieren des ESP8266 mit OLED
Willkommen! Und herzlichen Dank für den Kauf unseres AZ-Delivery ESP8266 Mikrocontroller mit integrierten 0.91" OLED Display. Auf den folgenden Seiten gehen wir mit dir gemeinsam die ersten Programmierschritte
MehrDST EINFÜHRUNG IN MRT (V2)
DST EINFÜHRUNG IN MRT (V2) Aufgabe: Reaktionstester 1. Pflichtenheft Taster an -PA0 8 LEDs an PCx LCD-Anzeige für Ergebnis Die LEDs an Port C sollten unerwartet irgendwann angehen! Jetzt wird die Zeit
MehrLaborübung 4. Zustandsautomaten (Finite State Machines)
Laborübung 4 Zustandsautomaten (Finite State Machines) Für den Entwurf und die Beschreibung von digitalen Systemen bilden Zustandsautomaten (Finite State Maschines; FSMs) eine wesentliche Grundlage. Mit
MehrEs 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
MehrTeilklausur I in Informatik TEL09GR2 Lewandowski
Teilklausur I in Informatik TEL09GR2 Lewandowski Es sind insgesamt 84 Punkte zu erreichen (80 Punkte werden als 100% gewertet) (Jeder Punkt entspricht einer Bearbeitungszeit von etwa 1 Minute) Aufgabe
MehrTemperaturmodul. 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
MehrInformatik I (D-ITET)
Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos
MehrTag 4 7 Segment-Anzeige, File Include, LC-Display
Tag 4 7 Segment-Anzeige, File Include, LC-Display 09/01/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Die 7-Segment-Anzeige Eigentlich 8-Segment-Anzeige Gesteuert über 8
MehrDateien, 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
MehrPraktikum DST (MRT Teil) 2. Termin
Praktikum DST MRT 2.Termin Inhalt Praktikum DST MRT 2.Termin... 1 2.1 LCD Anzeige ( 2_01_LCD und Taster)... 2 2.1b Anhang: ASCII Code Tabelle (LCD-Display: Displaytech 164A)... 3 2.2 V24-Datenschnittstelle
MehrInformatik für Mathematiker und Physiker Woche 7. David Sommer
Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen
MehrBisher 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
MehrEinfü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
Mehrsaarland Prof. Dr. Andreas Zeller Verantw. Tutor: Florian Groß Übungsblatt 4
Programmieren für Ingenieure Abgabe Dieses Übungsblatt ist bis Freitag, 23.05. um 12:00 Uhr per Email an den eigenen Tutoren abzugeben. Benennen Sie die Abgabe bitte eindeutig: Matrikelnummer _Abgabe_Blattnummer.Format.
Mehr8 Grundlagen zur OrCAD Software (Version 16.5)
Schaltungssimulation Simulation mit OrCAD Capture CIS - Lite (Version: 16.5) 8 Grundlagen zur OrCAD Software (Version 16.5) 8.1 Erstellen eines Projektes 8.2 Erstellen einer Schaltung 8.3 Verändern von
MehrEingaben. Themen heute. Taster. Eingaben Zuweisungen Zeitmessung. Programmieren für Ingenieure Sommer Andreas Zeller, Universität des Saarlandes
Eingaben Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Themen heute Eingaben Zuweisungen Zeitmessung Taster Wikipedia Ziel Wenn Taste gedrückt, soll LED leuchten Wir
Mehra) 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