AVR-Mikrocontroller in BASCOM programmieren, Teil 2
|
|
|
- Lisa Hafner
- vor 9 Jahren
- Abrufe
Transkript
1 1 AVR-Mikrocontroller in BASCOM programmieren, Teil Interrupts 13.1 Externe Interrupts durch Taster Wenn Taster mittels Polling abgefragt werden, wie in Teil 1 beschrieben, kann das Hauptprogramm entweder nicht viel anderes tun (was auch mal vorkommen kann), oder es besteht die Möglichkeit, dass Tastendrücke verpasst werden wenn der Controller gerade mit etwas anderem beschäftigt ist. Als Demo für die Arbeit des Controllers soll uns eine blinkende LED dienen. Das Blinken soll mit 2 Tastern ein und aus geschaltet werden können. Ohne Interrupts: so geht es nicht. $hwstack=100 'Taster mit Pullup 'Ein 'Aus Dim Ledon As Bit If Pind.2 = 0 Then Ledon = 1 If Pind.3 = 0 Then Ledon = 0 Portd.5 = Ledon Die 1-bit-Variable Ledon ist ein Flag für Ein/Aus der LED. Während den Wait-Befehlen kann der Controller nichts nützliches tun, also auch nicht eine betätigte Taste bemerken. Wenn man nicht sehr lange auf die Taste drückt, verpasst das Programm die Betätigung mit großer Wahrscheinlichkeit. Mit Interrupts Achtung: es gibt beim Mega8 nur 2 Pins die auf externe Interrupts reagieren können: INT0 = D.2 und INT1 = D.3. Wir können also nicht wie beim Polling irgendwelche Pins nehmen! Tritt ein Interrupt auf, so unterbricht der Controller das mit dem er gerade beschäftigt war und springt in die Interrupt-Service-Routine. Diese ist ein möglichst kurz gehaltenes Unterprogramm, in dem z.b. ein Flag gesetzt werden kann, welches vom Hauptprogramm ausgewertet wird. Damit der Controller auf Interrupts reagieren kann, muss man 3 Dinge tun, (hier z.b. für INT0): Mit On Int0... deklarieren wohin beim Interrupt gesprungen werden soll. Mit Enable Int0 sagen dass dieser spezielle Interrupt aktiv ist. Mit dafür sorgen, dass die Interrupts allgemein aktiviert sind.
2 2 In der Interrupt-Serviceroutine sollte so wenig wie möglich gemacht werden, denn während dieser Zeit ist der Controller für andere Interrupts blockiert. Der Interrupt kann auf Low-Level (statisch low), Rising (ansteigende Flanke) oder Falling (abfallende Flanke) konfiguriert werden. Bei Tastern gegen Masse verwendet man Falling. $hwstack=100 'Taster mit internem Pullup und aktivierten Interrupts On Int0 Int0service On Int1 Int1service Config Int0 = Falling Config Int1 = Falling Enable Int0 Enable Int1 Dim Ledon As Bit ' Portd.5 = Ledon ' Int0service: Ledon = 1 Int1service: Ledon = 0 Wegen den langen Wait-Befehlen passiert nicht immer sofort etwas, aber der Controller reagiert auch auf einen kurzen Tastendruck. Noch ein (einfacheres) Beispiel Das obige Beispiel sollte das Problem verdeutlichen (dass der Controller bei der Polling-Methode nicht immer ansprechbar ist) und eine Lösung zeigen. Um das Prinzip noch einmal klarzustellen hier ein noch einfacheres Beispiel: die LED soll mit den Tastern nur ein- und ausgeschaltet werden. In diesem Fall braucht das Hauptprogramm gar nichts zu tun..dat " $crystal = 'Taster
3 3 On Int0 Int0serv On Int1 Int1serv Config Int0 = Rising Config Int1 = Falling Enable Int0 Enable Int1 Config Pind.5 = Output ' 'Hauptprogramm : tu nix oder irgendwas sinnvolles ' Int0serv: Portd.5 = 1 Int1serv: 13.2 Worauf man allgemein bei Interrupts achten muss Der Sprung in die Interrupt-Routine kostet Zeit! BASCOM sichert automatisch immer die Register R0...R31 (außer R6 bis R9 und R12 bis R15) und das Statusregister SREG. Hierfür ist je 1 PUSH-Befehl am Anfang und 1 POP- Befehl am Ende der Serviceroutine erfordert. Für das Retten von SREG wird ein IN und ein PUSH, am Ende ein POP und ein OUT gebraucht. Vor dem Eintreten in die Serviceroutine verstreicht mindestens eine Zeit von 50 (für 25 POPs) + 2 (für IN) = 52 Taktzyklen, also z.b µs = 13µs bei einem 4MHz-Quarz! Genaueres siehe Assembler für BASIC-Programmierer Wenn man den Interrupt mit der Option Nosave aufruft, kann man Zeit sparen indem man sich selber um das Sichern der benutzten Register und des Statusregisters kümmert. Das Sichern der Rücksprung-Adresse und der Register braucht Platz in einem Teil des RAM, dem sogenannten Hardware Stack. Die Größe dieses Speicherbereichs wird in Options - Compiler - Chip eingestellt. Es kann sein, dass die Voreinstellung zu klein ist. In dem Fall überlappen HW Stack und BASCOM-Variablen, und es können seltsame Effekte auftreten. Empfehlenswert ist es, die Zeile $hwstack = 100 an den Programmbeginn zu setzen, so dass auf jeden Fall genug Stack reserviert wird.
4 Serieller Interrupt zum Empfangen von Kommandozeichen Dies ist eine ähnliche Anwendung wie die Steuerung durch Taster. Vom PC soll ein Kommandobyte gesendet werden, welches im Demobeispiel einfach eine LED schaltet, stellvertretend für eine sinnvolle Arbeit des Controllers. Die im Teil 1 besprochene Lösung mit Polling wieder den Nachteil, dass Bytes verloren gehen können, wenn der Controller mit etwas anderem beschäftigt ist. Hier eine Lösung mit Interrupt: über RS232 ein- und ausschalten mit "1" und "0", 'interruptgesteuert $crystal = $baud = 9600 On Urxc Serialinterrupt Dim Ok As Byte ' 'Wenn ein Zeichen da ist If Ok <> "" Then Select Case Ok Case "1" Portd.5 = 1 Case "0" End Select End If ' Serialinterrupt: Ok = Udr Hier wurde wieder die Interrupt-Serviceroutine kurz gehalten, und die Auswertung im Hauptprogramm durchgeführt Serieller Interrupt zur interaktiven Kommunikation Das folgernde Programm reagiert einerseits auf Kommandozeichen und fragt bei bestimmten Zeichen interaktiv nach einer bestimmeten Eingabe. Im Beispiel wird eine Variable hochgezählt, deren Startwert man resetten oder interaktiv eingeben kann. Um die Übersichtlichkeit zu steigern empfiehlt es sich, von Anfang an mit Unterprogrammen zu arbeiten. Diese können dann später beliebig erweitert werden. $hwstack = 50 $baud = On Urxc Serialinterrupt Dim I As Byte
5 5 Dim Ok As Byte If Ok <> "" Then Gosub Communication Waitms 500 Print I I = I + 1 ' Serialinterrupt: Ok = Udr ' Communication: Select Case Ok Case "0" I = 0 Case "i" Disable Urxc Input "Startwert von I eingeben: ", I End Select Ok = "" Wichtig: Beim Benutzen des INPUT-Befehls muß der serielle Interrupt abgeschaltet werden! Ausserdem muß daran gedacht werden, dass die Variable zum Empfang der Zeichen nach der Auswertung rückgesetzt wird. Kritik und Rückmeldungen bitte an [email protected]
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
'
------------------------------------------------------------------------------ Sorry für diese Art der Darstellung. So stelle ich sicher, daß niveaulose Trittbrettfahrer die Daten wenigstens selbst einmal
4-Kanal-Analoglogger für die Regelungstechnik
LTAM-FELJC [email protected] 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
AVR-Mikrocontroller in BASCOM programmieren, Teil 3
[email protected] 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.
Für schnelle und bequeme Entwicklungen wird gern Basic eingesetzt.
2 Bascom-Start 21 Für schnelle und bequeme Entwicklungen wird gern Basic eingesetzt. Speziell für die AVR-Familie hat sich BASCOM-AVR von MCS-Electronics aus den Niederlanden weitgehend durchgesetzt. Auf
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
Die Software zum Unser kleiner Computer
Die Software zum Unser kleiner Computer '-------------------------------------------------------------------------------- 'name : computer.bas 'copyright : (c)bernd Grupe, DF8ZR 'micro : Mega8 ' Das Programm
2.1 Atmega-Peripherie/Interrupts
2.1 Atmega-Peripherie/Interrupts 2.1.1 Situation Während LED2 fortlaufend blinkt, soll LED2 jederzeit sofort durch Tastendruck von T1 eingeschaltet werden können. Dazu muss man im Programm regelmäÿig nachsehen,
Assembler-Unterprogramme
Assembler-Unterprogramme Rolle des Stack Prinzipieller Ablauf Prinzipieller Aufbau Unterprogramme void main(void) int sub(int i) { { int i,k; return i*2; i = sub(13); } k = sub(14); } Wie macht man das
AVR-Mikrocontroller in BASCOM programmieren
[email protected] 1 AVR-Mikrocontroller in BASCOM programmieren Der IC-Bus (TWI-Interface) Allgemeines Spezifikationen des IC-Busses: http://www.nxp.com/acrobat_download/literature/9398/39311.pdf
PROFE 2. Lycée Technique des Arts et Métiers Projet de fin d' études 2014/2015. FELTES Jean Claude Messstation im Musée Nationale des Mines
2 Lycée Technique des Arts et Métiers Projet de fin d' études 2014/2015 Rédacteur: Classe: Tuteur: Projet: FELTES Jean Claude Messstation im Musée Nationale des Mines Seite 1/26 Inhaltsverzeichnis Einleitung...3
2
TINF Interrupts EDT-Referat Jürgen Schwarzbauer 2ANB 1995/96 Inhalt : Was ist ein Interrupt? Zweck von Interrupts Maskierbare und nicht maskierbare Interrupts Aufruf eines Interrupts Anwendung von Interrupts
RalfPongratz. Grundversion. Reaktivlichtmit7SegmentAnzeige
www.reaktivlicht.de RalfPongratz 7Segment Grundversion Reaktivlichtmit7SegmentAnzeige AuchalsBausatzerhältlichauf www.reaktivlicht.de Grundversion Reaktivlicht mit 7 Segment Anzeige Ralf Pongratz 13. September
1.7 Atmega-Programmierung in ASM/Verschachtelte Schleifen
.7 Atmega-Programmierung in ASM/Verschachtelte Schleifen.7. Aufgabe Die beiden LEDs sollen abwechselnd blinken. Mit der bisherigen Lösung flackern sie nur (Beispiel: blink0.asm):. include /usr/share/avra/m8def.
Stefan Hoffmann. Leichter Start mit BASCOM und myavr
Leichter Start mit BASCOM und myavr Entwicklungsumgebung für AVR Mikrocontroller Seite: 3/15 1 Entwicklungsumgebung für AVR Mikrocontroller Für die Arbeit mit BASCOM und myavr-produkten benötigt man einen
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
3 Achsen Accelerometer
Datenblatt und Doku zu 3 Achsen Accelerometer Beschleunigungssensor Typ (MMA7260QT) Dieser 3 Achsen Sensor misst Beschleunigungen, Neigungen bzw. Bewegungen in alle Richtungen. Der ermittelten werde werden
Rauschgenerator mit AVR
FELJC@LTAM 1/8 Rauschgenerator mit AVR Für Untersuchungen im Audiobereich benötigte ich einen Rauschgenerator. Ein Versuch mit der klassischen Lösung: Rauschende Z-Diode / Transistor viel nicht überzeugend
Tag 2 Eingabe und Interrupts
Tag 2 Eingabe und Interrupts 08/30/10 Fachbereich Physik Institut für Kernphysik Bastian Löher, Martin Konrad 1 Taster Direkt an Portpin angeschlossen (etwa PINB0, PIND3) Pull-Up-Widerstände einschalten!
Geschrieben von: Malte Freitag, den 16. Juli 2010 um 21:28 Uhr - Aktualisiert Montag, den 05. Dezember 2011 um 18:09 Uhr
{jcomments on} Bei ELV gibt es seit einiger Zeit ein 3-Achsen Beschleunigungssensormodul basierend auf dem BMA020 von Bosch Sensortec. Der MEMS -Sensor verfügt über drei wählbare Messbereiche von +/-2,
Ruecklicht-V1 von Peter Krueger /
Ruecklicht-V1 von / 20.06.2014 Original-Version: Fahrrad-Rücklicht mit Reaktiv-Modus, von Martin Müller 09.04.2012. Überarbeitet / Korrektur: Ruecklicht-V1.bas /, 20.06.2014 Zum Download: Rucklicht-V1.bas
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
AVR-Mikrocontroller in BASCOM programmieren
[email protected] 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
Einführung in AVR-Assembler
Einführung in AVR-Assembler Easterhack 2008 Chaos Computer Club Cologne Stefan Schürmans, BlinkenArea [email protected] Version 1.0.4 Easterhack 2008 Einführung in AVR-Assembler 1 Inhalt Vorstellung
Daten loggen mit der STI100-Platine
Will man größere Datenmengen loggen, reicht das EEPROM des Attiny nicht aus. Hier kann die Platine STI 100 von ELV (Artikel-Nr.: 68-07 59 50) helfen: Mit ihrer Hilfe können nämlich Daten vom Mikrocontroller
Zusammenfassung der Assemblerbefehle des 8051
Zusammenfassung der Assemblerbefehle des 8051 Seite 1 von 5 Befehl Bezeichnung Syntax Wirkung / Beispiel Befehle zum Datentransfer MOV Move MOV [Ziel],[Quelle] MOV P1,P3 Kopiert den Inhalt von P3 nach
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
AVR-Mikrocontroller in BASCOM programmieren, Teil 1
[email protected] 1 AVR-Mikrocontroller in BASCOM programmieren, Teil 1 Dies ist ein sehr knapp gehaltenes Tutorial. Man sollte unbedingt zusätzlich die BASCOM-Hilfe zu Rate ziehen. Empfehlenswerte
Arduinio Projekt. Inhaltsverzeichnis
HOF Inhaltsverzeichnis Inhaltsverzeichnis Was ist ein Mikrokontroller?...1 Hardware und Software...1 Das Seeeduinoboard...1 Die Programmiersoftware BASCOM...2 Die Anschlüsse des Mikroprozessors...7 Schnittstelle
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
Datentechnik. Prinzipieller Aufbau eines Schnittstellenbausteins
Prinzipieller Aufbau eines Schnittstellenbausteins DB /CS A0-Ai R/W Reset Takt Int IntAck zum µp Datenbus Puffer Steuerung Interruptsteuerung & IF Statusregister IE Steuerregister Befehlsregister Datenregister
Speicheraufbau 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
4.0 Der Atmel AT89LPx052 Mikrocontroller
4.0 Der Atmel AT89LPx052 Mikrocontroller Die ersten beiden Derivate der Atmel LP Familie sind der AT89LP2052 und der AT89LP4052 in verschiedenen Gehäusevarianten mit 2 Kbytes bzw. 4 KBytes Flash. Gegenüber
Das Attiny-Projekt Registermodell 1. Das Registermodell
Das Attiny-Projekt Registermodell 1 Das Registermodell 1. Modell 1.1 Einen vollständigen Überblick über den Aufbau des Attiny2313 erhält man auf S. 3 des ATMEL Attiny 2313-Manuals. Hier beschränken wir
E Mikrocontroller-Programmierung
E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden
Atmel AVR für Dummies
Atmel AVR für Dummies [email protected] 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher
Sprungbefehle und Kontroll-Strukturen
Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter
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
Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C
Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen
Grundlegende Programmiertechniken
Das Attiny-Projekt Grundlegende Programmiertechniken 1 Grundlegende Programmiertechniken Es gibt zwei Aspekte der Assemblerprogrammiertechnik, die als grundlegend angesehen werden können: Zum Einem der
JX6-INT1 Versions Update von V1.00 auf V1.24
JX6-INT1 Versions Update von V1.00 auf V1.24 Auflage 1.00 16. September 2002 / Printed in Germany Versions Update - 16. September 2002 JX6-INT1 - von V1.00 auf V1.24 Die Firma JETTER AG behält sich das
Assembler für BASIC Programmierer
Assembler für BASIC Programmierer Von [email protected] Wenn es mal schnell gehen muss: ASM und BAS mischen in BASCOM. Warum? Gibt es gute Gründe, sich mit Assembler herumzuplagen, wenn alles
Schritt Aktion Erläuterung 1 UBRR auf 25 setzen Baudrate auf 9600 TXEN-Bit von UCSRB auf 1 setzen
Das Attiny-Projekt Unterprogramme in Assembler 1 Unterprogramme Unterprogramme haben wir schon im Zusammenhang mit BASCOM kennen gelernt. Auch Assemblerprogramme können durch Unterprogramme strukturiert
8. Beschreibung des Prozessors MSP 430
8. Beschreibung des Prozessors MSP 430 8.1 Die Eigenschaften des MSP 430 8.2 Die Register des MSP 430 8.3 Der Aufbau des Speichers 8.4 Interrupts 8.5 Der Watchdog Programmierkurs II Wolfgang Effelsberg
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
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
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
Eingaben. 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
UART und Interrupts. Versuch Nr. 7
Universität Koblenz Landau Name:..... Institut für Physik Vorname:..... Hardwarepraktikum für Informatiker Matr. Nr.:..... UART und Interrupts Versuch Nr. 7 Vorkenntnisse: Aufbau und Arbeitsweise einer
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,
5-Tonfolgen Dekodierung mittels AVR
5-Tonfolgen Dekodierung mittels AVR 2. Fassung In letzter Zeit bekam ich viele Anfragen wie denn die Dekodierung der Tonfolgen über einen µc genau funktioniert, wie die Hardware und Software dazu aussieht
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.
Programmierübungen in Assembler
Programmierübungen in Assembler 1. LED Ein-/Ausschalten Verwendet: Ports An Portpin P3.0 ist eine LED angeschlossen. An Portpin P1.0 ist ein Taster angeschlossen. a) Schreiben Sie ein Programm, welches
U5-2 Register beim AVR-µC
U5 4. Übungsaufgabe U5 4. Übungsaufgabe U5-2 Register beim AVR-µC U5-2 Register beim AVR-mC Grundlegendes zur Übung mit dem AVR-µC 1 Überblick Register Beim AVR µc sind die Register: I/O Ports Interrupts
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
Core und Speicher des ATmega16
Ausarbeitung Core und Speicher des ATmega16 Verfasst von: Daniel Dünker Quellen: http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf Inhaltsverzeichnis 1.Allgemeines (S. 3) 2.Die Alu (S. 4) 3.Das
Arduino µcontroller. Virtuelle COMSchnittstelle
Aufgaben: Arduino µcontroller 1. Die gegebene Software auf einen ARDUINO MEGA-Board aufspielen weil die PORTS A (8xSchalter) und C (8xLEDs) benutzt werden. Steht nur ein UNO-Board zur Verfügung, dann den
Unterprogramme mittels Stack (Forts.)
Unterprogramme mittels Stack (Forts.) gleiches Beispiel mit direkter Übergabe aller Parameter (8-Bit Wert a, 16-Bit Wert b, 16-Bit Ergebnis) durch call by value auf Stack: LDB a * Lade 8-Bit Wert a PSHS
Labor für Prozessregelung und Rechnerverbund Anleitung zum WinMaster ( Dipl.-Ing. Peter Tarkany) Beschreibung: Dipl.-Ing.
Labor für Prozessregelung und Rechnerverbund Anleitung zum WinMaster ( Dipl.-Ing. Peter Tarkany) Beschreibung: Dipl.-Ing. Harald Swoboda 1 Einleitung...2 2. Installation und Programmstart...3 3. WinMaster
GdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm
U4 4. Übungsaufgabe U4 4. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-µC Register I/O Ports Interrupts AVR-Umgebung U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit
CCS Compiler Tutorial mit Beispielen
CCS Compiler Tutorial mit Beispielen Mit diesem Tutorial werden Sie den CCS Compiler kennenlernen, um mit ihm Projekte selbstständig erstellen zu können. Es werden zugleich die Programmierung und die Grundlagen
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,
Einführung in AVR Assembler
Einführung in AVR Assembler Dennis Fassbender Institut für Technik Autonomer Systeme (LRT8) Universität der Bundeswehr München 09042014 Was ist Assembler? Low-level-Programmiersprache Erlaubt direkten
Name: ES2 Klausur Thema: ARM Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
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
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
Arduino Interrupt-Handling (Teil 1) Seite 2
Scope Interrupt-Handling (Teil 1) Version 1.1 Created 29.12.2011 Autor Erik Bartmann Internet http://www.erik-bartmann.de Email [email protected] Updates 15.01.2012 Volatile Erklärung erweitert
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
Lösungen der Aufgaben
ASCII Aufgabe 1 loop printbin 77 Aufgabe 2 dim b as byte For b = 65 to 90 printbin b next b end Aufgabe 3.2 Dim b as byte loop inputbin b b = b - 32 printbin b Aufgabe 4 wait 5 printbin 72 printbin 97
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
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);
Praktikum Mikrorechner 11 (Timer 1)
Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 5. November 2014 1/27 Praktikum Mikrorechner 11 (Timer 1) Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal
C.1 Serielle Schnittstelle, erstes Testprogramm (a)
C.1 Serielle Schnittstelle, erstes Testprogramm (a) Verbinden Sie die Mikrocontrollerplatine mit dem USB-Anschluss Ihres Rechners und laden Sie das abgebildete Testprogramm auf den Mikrocontroller. Es
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
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)?....
Serielle Schnittstelle, erstes Testprogramm (a)
Serielle Schnittstelle, erstes Testprogramm (a) Aufgabe C1 Verbinden Sie die Mikrocontrollerplatine mit dem USB-Anschluss Ihres Rechners und laden Sie das abgebildete Testprogramm auf den Mikrocontroller.
Aufgaben zur Attiny-Platine
Das Attiny-Projekt Aufgaben 1 Aufgaben zur Attiny-Platine 1. LEDs blinken 1.1 Schließen Sie eine rote LED an PortB.0 und eine grüne LED an PortB.1 an (vgl. Abb. 1). Achten Sie dabei darauf, dass die langen
Interruptsystem AVR. Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack.
Interruptsystem AVR Interrupt-Quellen: Extern, Timer, ADC, USART usw. (siehe IVT im Anhang) Rücksprungadresse automatisch am Stack Stack im SRAM SP initialisieren Interrupt-Kontrollregister im IO Space
AVR Ein/Ausgabe. Inhaltsverzeichnis
Inhaltsverzeichnis AVR Ein/Ausgabe 1 Pinout Arduino Board...4 2 AVR PORT - I N P U T PINB...6 3 AVR PORT Architektur Bausteine...8 4 AVR Port O U T P U T PORTB...10 5 AVR PORT Architektur: Fragen 2...12
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
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,
Deutsche Dokumentation von ihrem Elektronik-Lieferanten: www.robotikhardware.de. Inteligentes Motorboard (12V/6A) mit I2C-Bus
Datenblatt und Doku zu Motorboard MD23 Inteligentes Motorboard (12V/6A) mit I2C-Bus Spezielle intelligente Roboter-Motoransteuerung für 2 Motoren mit jeweils bis zu 3A Dauerbelastung. Ausgelegt für eine
Mikrocontroller Einstieg ATmega 8
Mikrocontroller Einstieg ATmega 8 Seite 1 von 13 Einstieg in die faszinierende Welt der Mikrocontroller Für eine praktische Einführung in die Grundlagen und komplexen Zusammenhänge in die Thematik wurde
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
SIOSLAB. Technische Daten:
SIOSLAB Das SIOSLAB ist ein universelles PC-Interface mit 8 digitalen Ein- und Ausgängen, 2 analogen Eingängen sowie wahlweise mit 2 PWM-Ausgängen. Der Anschluss erfolgt über die serielle Schnittstelle
Kapitel 18. Externe Komponenten
Kapitel 18 Externe Komponenten 31.05.11 K.Kraft E:\MCT_Vorlesung\MCT2011\Externe_31\Externe.odt 18-1 Anschluss von externen Komponenten Einfachste Art : Direkt an einem Port Beispiel Ausgabe : 7-Strich
Ü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
USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden
USB > I2C- Bus Modul Info Das USB > I2C-Bus Modul stellt eine Verbindung zwischen einen PC und dem I2C-Bus her. Über ein Terminal Programm können nun Daten zum I2C-Bus gesendet und vom I2C-Bus empfangen
QSYer für den YAESU FT-897 und FT September 2018 Matthias DD1US
QSYer für den YAESU FT-897 und FT-857 28. September 2018 Matthias DD1US Hallo, schon vor einigen Jahren hat ein befreundeter OM, Peter Horlacher mit dem Rufzeichen DH1PAX, eine Frequenzeingabe-Tastatur
Mikrocomputertechnik
Mikrocomputertechnik Bernd-Dieter Schaaf Mit Mikrocontrollern der Familie 8051 ISBN 3-446-40017-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40017-6 sowie
ORIKA. Lycée Technique des Arts et Métiers. ... viel mehr als nur ein Spielzeug
ORIKA Lycée Technique des Arts et Métiers... viel mehr als nur ein Spielzeug Informationen, Hinweise und Bezugsquellen findest du unter folgender Internetadresse: http://www.ltam.lu/fischertechnik ORIKA/Informatik
Selbstgebauter, kompakter, Strom sparender, Mehrkanal- Datenlogger mit PICs
Selbstgebauter, kompakter, Strom sparender, Mehrkanal- Datenlogger mit PICs Wettbewerb "Jugend Forscht" 2008 Lucas Jürgens (12 Jahre) Arbeitsgemeinschaft "Jugend Forscht" des Christian-Gymnasiums Hermannsburg
