Praktikum Mikrocontroller und Eingebettete Systeme

Größe: px
Ab Seite anzeigen:

Download "Praktikum Mikrocontroller und Eingebettete Systeme"

Transkript

1 Institut für Informatik Professur für Eingebettete Systeme Praktikum Mikrocontroller und Eingebettete Systeme Wintersemester 2009/2010 Eingebettete Systeme Prof. Dr. Uwe Brinkschulte Dipl.-Inform. Daniel Lohn Dipl.-Inform. Michael Bauer

2 Inhaltsverzeichnis 1 Einführung 5 2 Das Praktikumsboard 6 3 JTAG ICE mkii Nutzen des JTAG-Programmers Anschluss des JTAG-Programmers Das Terminal Programm HyperTerminal Die UART Einheit AVR Studio Anlegen eines neuen Projekts Die Entwicklungsumgebung Kompilieren und Ausführen Debugging Assemblerprogrammierung Warum Assemblerprogrammierung? Der AVR-Assembler Direktive Mnemoniks Ein Beispielprogramm Versuchsübersicht Versuch Versuch Versuch Versuch Versuch Versuch Versuch Inhalt Aufgabe Aufgabe Aufgabe Aufgabe Versuch Inhalt Aufgabe Aufgabe Aufgabe Aufgabe

3 10 Versuch Inhalt Das PWM Verfahren Die PWM beim ATmega Ausgabe Aufgabe Aufgabe Versuch Inhalt Ausgabe Ausgabe Ausgabe Versuch 5: Externer Speicher Teil I Versuchsbeschreibung Die SPI-Schnittstelle Die Speicherkarte Allgemeines Funktionsweise Anschluss der Speicherkarte an das Mikrocontrollerboard Theorieaufgaben Aufgabe Aufgabe Aufgabe Aufgahe Aufgabe Praxisaufgaben Aufgabe Aufgabe Aufgabe Aufgabe Versuch 6: Externer Speicher Teil II Versuchsbeschreibung Speichertests Der Marching-Test Theorieaufgaben Aufgabe Praxisaufgaben Aufgabe Aufgabe

4 Abbildungsverzeichnis 1 TQFP Gehäuseformat eines Mikrocontrollers Praktikumsboard mit nummerierten Anschlüssen Praktikumsboard mit Beispielanschluss JTAG Programmer mit angeschlossenem AVR Board JTAG Anschlusspins am Praktikumsboard Status-LEDs am Programmer Screenshot HyperTerminal Screenshot HyperTerminal Screenshot HyperTerminal Projekteinstellungen im AVR Studio Auswahl Target Device im AVR Studio Entwicklungsumgebung im AVR Studio Screenshot AVR Studio Screenshot AVR Studio Die Vorderseite einer Speicherkarte Die Rückseite einer Speicherkarte mit den Kontakten Der Speicherkartenadapter, bestehend aus einem Speicherkartenslot und den Anschlussleitungen Das Mikrocontrollerboard mit dem angeschlossenen Speicherkartenadapter

5 1 Einführung Im Mittelpunkt des Praktikums stehen Eingebette Systeme und deren Hardware. Um die speziellen Anfordungen Eingebetteter Systeme an ihre Hardware zu vertehen muss deren Anwendungsgebiet von dem herkömmlicher Rechensysteme abgegrenzt werden. Diese Abgrenzung liefert uns die Definition von Eingebetteten Systemen. Eine häufig verwendete Definition nach Thaller lautet: Bei Eingebetteten Systemen handelt es sich um einen durch Software kontrollierten Computer oder Mikroprozessor, der Teil eines größeren Systems ist, dessen primäre Funktion nicht rechenorientiert ist. Eine etwas anschaulicherer und ausführlichere Defintion findet sich auf Wikipedia: Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in das er eingebettet ist, zu steuern, zu regeln oder zu überwachen. Oder der Rechner ist für eine Form der Daten- bzw. Signalverarbeitung zuständig, beispielsweise Ver- /Entschlüsseln, De-/Codieren oder Filtern. Beiden Definitionen ist gemeinsam, dass sie das Feld der Eingebetteten Systeme vom Bereich der Allzweck- /Mehrzweck-Rechner abgrenzen wollen. Dieser Übergang gestaltet sich allerdings fließend: Konnten Handys zu ihrer Anfangszeit wenig mehr als Stimmen zu digitalisieren und Daten zu senden, können sie heute dank Minibetriebssystemen und Java Applets beliebige Programme ausführen. Waren Spielekonsolen anfangs nur wenig komplexer als Taschenrechner, können sie heute mit Standardbetriebsystemen ausgestatten werden und bleiben im Leistungumfang kaum hinter Desktop Rechnern zurück. Einige Eingebetteten Systeme können also durchaus dieselbe Komplexität wie Mehrzweckrechner erreichen und in manchen Fällen auch zu solchen werden. In unserem Alltag begegnen wir allerdings am häufigsten einer anderen Art von Eingebetteten Systemen. Einfache und deshalb auch billige Rechensysteme sind in Spülmaschienen, Kaffeautomaten oder digitalen Armbanduhren zu finden und damit beinahe allgegenwärtig. Bei solchen Systemen reicht häufig schon ein einzelner Mikrocontroller ohne Betriebssystem aus, um die gewünschte Funktion zu leisten. Um einen hardwarenahen Einblick in das Gebiet der Eingebetten Systeme zu bieten, steht deshalb im Praktikum ein Versuchsboard mit integriertem ATmega128 Mikrocontroller und verschiedenen Pheriperieanschlüssen zu Verfügung. Der ATmega128 enthält einen relativ einfachen 8 Bit Risc Prozessor. Dies ermöglicht es auch unerfahrenen Anwendern Programme direkt in Assembler zu verfassen und so, die wichtigsten Komponenten eines Mikrocontrollers kennenzulernen und direkt anzusteuern. Die Lernziele des Praktikums lassen sich wie folgt zusammenfassen: Detaillierte Einführung in Aufbau und Programmierung des ATmega128. Einsatz der parallelen und der seriellen Schnittstellen des Mikrocontrollers zur Kommunikation mit anderen Rechnern. Einsatz von Zählern und Zeitgebern im Zusammenspiel mit Unterbrechungsbehandlung, um beispielsweise eine Pulsweitenmodulation zu realisieren. Anbindung eines externen Speichers an das Mikrocontrollerboard und Implementierung eines einfachen Treibers inklusive Funktionstest. Am Ende des Praktikums sollen die Teilnehmer mit den grundlegenden Funktionen eines einfachen Rechnersystem vertraut sein. Dies stellt auch Inhaltlich eine Grundlage für weitere Veranstaltungen auf dem Gebiet der Technische Informatik und Rechnerarchitektur dar. 5

6 2 Das Praktikumsboard Ein Mikrocontroller stellt im Prinzip einem Mikrorechner auf einen Chip dar. Im Praktikum wird der Mikrocontroller ATmega128 von Atmel verwendet. Auf diesem befindet sich ein Prozessorkern, Speicher, Ein-/Ausgabeschnittstellen und weitere Komponenten wie A/D-Wandler, Zähler-/Zeitgeber und Unterbrechungssteuerung. Die Schnittstellen für alle Komponenten werden über Pins an die Aussenseite des Controllers geführt. Abbildung 1: TQFP Gehäuseformat eines Mikrocontrollers Um an die Ein-/Ausgabeschnittstellen des ATmega128 Pheriperie, wie Taster oder LEDs anzuschließen, oder um auf den Programmspeicher zugreifen zu können, muss der Mikrocontroller in eine größere Schaltung integriert werden. So lässt sich beispielsweise ein Nullmodemkabel natürlich nicht direkt an die Controllerpins für die UART-Einheit anschließen. Zu diesem Zweck gibt es eine ganze Reihe unterschiedlicher Testboards, die sich in Umfang der integrierten Pheripherie, Programmierschnittstellen und Erweiterungsmöglichkeiten unterscheiden. Als Praktikumshardware hat man sich für ein modulares Kit von Atmel entschieden. Das darin enthaltene STK500 bietet gleich mehrere Vorteile: LEDs und Taster als Ansteuerungs- und Ausgabemöglichkeiten sind bereits auf dem Board integriert. Ein Com Port als serielle Schnittstelle zur Kommunikation mit anderen Boards oder einem PC befindet sich ebenfalls auf dem STK500. Es ist ein JTAG-Anschluss zur Programmierung und Runtime Debugging des ATmega128 integriert. Der Mikrocontroller ist nicht fest mit dem Board verlötet, sondern kann durch eine Federhalterung jederzeit durch ein anderes Model ausgetauscht werden. Sämtliche Pins des Mikrocontrollers sind auf dem Board auf solide Kontaktstecker geführt und lassen sich so für beliebige Pheripheriegeräte nutzen. So kann das Board beispielsweise um die benötigte Speicherkartenhalterung erweitert werden. Da der Platz am Gehäuse des Mikrocontrollers sehr begrenzt ist, sind viele der Leitungen gemultiplext. Abhängig davon, welche Komponente des ATmega128 im Programm benötigt wird, lässt sich dies durch neue Steckverbindungen realisieren. Der modulare Aufbau des Board gestaltet zwar den Betrieb im Praktikum schwieriger, als bei einer festen Verdrahtung, erlaubt aber auch die Erweiterbarkeit um beliebige Zusatzpheriperie und die Möglichkeit 6

7 gemultipelexte Komponenten je nach Bedarf zu nutzen, ohne sich dauerhaft festlegen zu müssen. Die Anschlüsse für die Praktikumversuche sind dabei wie folgt: Abbildung 2: Praktikumsboard mit nummerierten Anschlüssen 1. Die Stromversorgung für das gesamte Board, einschließlich des Mikrocontrollers, der Taster, LEDs und Zusatzperipherie. 2. Der untere serielle Anschluss steht für die Versuche mit der UART-Schnittstelle zur Verfügung. Über den oberen seriellen Anschluss kann auf den Speicher des ATmega128 zugegriffen werden. Da die Programmierung über die JTAG-Schnittstelle einfacher ist und mehr Möglichkeiten bietet, siehe Abschnitt JTAG ICE mkii, wird nur der untere serielle Anschluss zu Kommunikationszwecken verwendet. 3. In dieser Federhalterung befindet sich der ATmega128. Wird der obere Rahmen nach unten gedrückt, öffnet sich die Halterung für die Pins und der Mikrocontroller kann entnommen oder gegen einen anderen ausgetauscht werden. 4. An den ATmega128 wird der JTAG Programmer über diese 10 polige Steckleiste angeschlossen. Pin 1 und 2 sind sowohl auf dem STK500, als auch am JTAG ICE Anschluss gesondert gekennzeichnet. 5. Der Anschluss für die acht Taster befindet sich links oben auf dem Board. Diese können an einen beliebigen Port des ATmega128 angeschlossen werden. Um die Taster auszulesen muss die Portrichtung auf Eingabe gestellt sein. Werden die Taster gedrückt/losgelassen, stehen Einsen/Nullen im entsprechenden Eingaberegister. Alternativ lassen sich die Taster auch an externe Interrupteingänge anschliesen. Diese müssen in den Kontrollregistern des ATmega128 freigegeben werden, um auf Tastendruck einen Interrupt auslösen zu können. 6. Damit der UART im ATmega128 auch mit dem seriellen Anschluss verbunden wird, müssen die entsprechenden Pins am Mikrocontroller mit der Schnittstelle RXD/TXD, RS232 Spare auf dem Board verbunden werden. Der ATmega128 verfügt allerdings über mehrere UARTs. Abhängig davon, welche UART-Einheit im Assemblerprogramm genutzt wird, müssen die Pins eines anderen Ports mit RXD/TXD verbunden werden. Eine Beispielschaltung, bei der Port E, und damit die UART Einheit 0, mit der seriellen Schnittstelle verbunden ist, findet sich am Ende dieses Kapitels. 7

8 7. Der Anschluss für die acht LEDs befindet sich links unten auf dem Board. Diese können an einen beliebigen Port des ATmega128 angeschlossen werden. Um die LEDs anzusteuern, muss die Portrichtung auf Ausgabe gestellt sein. Werden Einser/Nuller in das entsprechende Ausgaberegister geschrieben, so werden die LEDs aktiviert/deaktiviert. Nur die Verbindungen für den JTAG-Programmer und die Stromversorgung sind immer fest vorgegeben. Alle anderen Steckverbindungen sind variabel. Zum Beispiel können die Pins der UART-Einheiten im Assemblercode auch direkt angesteuert werden und zur Ausgabe von LED-Mustern dienen. Die Steckverbindungen hängen also von der gewünschten Pheriperie und den verwendeten Ports im Assemblercode ab. Dies ändert sich im Praktikum jedoch von Versuch zu Versuch. Besonders auf die Portrichtung (Ein- /Ausgabe) im Assemblercode und die genaue Pinbelegung beim Stecken muss besonders geachtet werden. Abbildung 3: Praktikumsboard mit Beispielanschluss Auf diesem Bild des STK500 ist die UART-Einheit 0 auf die seriellen Schnittstelle des Board geschaltet. Dazu verbindet das blau/weise, zweiadrige Kabel den Port E mit dem RXD/TXD-Anschluss (links oben). Zusätzlich sind die LEDs an Port B angeschlossen (graues Kabel links unten im Bild). Am unteren rechten Bildrand ist ein serielles Kabel angeschlossen, das den UART des ATmega128 mit dem COM PORT am PC verbindet. Mit dieser Beschaltung kann das Board schon für einfache Aufgaben benutzt werden. Zum Beispiel lassen sich so Tastaturbefehle am PC einlesen und als Eingaben im Assemblerprogramm verwenden. Der korrekte Datentransfer kann über LED Ausgaben angezeigt werden. 8

9 3 JTAG ICE mkii 3.1 Nutzen des JTAG-Programmers Um den ATmega128 zu programmieren, oder genauer gesagt, den erstellten Binärcode in seinen Speicher abzulegen, würde eine einfache serielle Anbindung vollkommen ausreichen. Das Ziel des Praktikums ist aber nicht nur das Erstellen und Ausführen von Assemblerprogrammen, sondern vor allem das Verständnis von Programmabläufen und dem Aufbau des Mikrocontrollers. Deshalb wird ein zusätzlicher Programmer mit integrierter JTAG-Schnittstelle verwendet. Die JTAG-Schnittstelle wurde ursprünglich verwendet, um die korrekte Funktion von Schaltungen nach der Endfertigung zu überprüfen. Dazu müssen die Integrierten Schaltungen (ICs) mit zusätzlichen JTAG- Testschaltkreisen versehen werden. Über diese Zusatzschaltkreise lässt sich die eigentliche Schaltung auslesen und integrierte Speicherzellen beschreiben. So kann nach Fertigung und Einbau der ICs in größere Systeme die Funktionalität mit Hilfe von Testprogrammen überprüft und fehlerhafte Schaltkreise ausfindig gemacht werden. Die Möglichkeiten, die sich durch das Auslesen und Beschreiben der Register und Speicherzellen ergeben, sind weit größer, als das Testen auf korrekte Funktionalität. Da der Zugriff auf die Schaltungen nicht an spezielle Testsoftware auf dem Chip oder einen eingeschränkten Testmodus beschränkt ist, kann der ursprünglich nur zur Fertigungskontrolle gedachte JTAG-Anschluss auch zum Übertragen des Codes in den Programmspeicher und sogar zum Runtime-Debugging verwendet werden. Das im Praktikum verwendete AVR Studio bietet eine virtuelle Ansicht vom angeschlossenen Mikrocontroller. Die vom Programmer über die JTAG Schnittstelle erhaltenen Daten lassen sich so übersichtlich und leicht verständlich darstellen. Auf diese Weise bietet der JTAG ICE im Zusammenspiel mit dem AVR Studio gleich mehrere Vorteile für die Praktikumsteilnehmer: Der Programmcode kann auf dem Prozessor schrittweise ausgeführt und auch angehalten werden. Registerinhalte und Speicherstellen können jederzeit während der Programmausführung gelesen und beschrieben werden. Dies erleichtert die Fehlersuche in Programmen enorm. Gerade für in Assemblerprogrammierung unerfahrene Anwender ist dies ein nicht zu unterschätzender Vorteil. Durch Benutzermodifikationen an den Kontrollregistern lassen sich alternative Sprungrichtungen und andere Programmverzweigungen zur Laufzeit testet. Programmzweige können gezielt angesteuert werden und sind nicht mehr an spezielle Ereignisse von außen gebunden. So können zum Beispiel Programmabschnitte, die auftretende Fehler abfangen sollen, getestet werden, ohne dass diese tatsächlich auftreten müssen. Da sämtliche Kontrollregister während des Programmablaufs einsehbar sind, lässt sich die Funktionsweise der Mikrocontrollerkomponenten einfacher nachvollziehen. Komponenten, wie die Zähler- /Zeitgebereinheiten, lassen sich über ihre Kontrollregister jederzeit in einen gewünschten Zustand versetzen. Folgezustände und ausgelöste Interrupt Service Routinen lassen sich so Schritt für Schritt abarbeiten und beobachten. Dies erleichtert das Verständis des Zusammenspiels zwischen Software und den Hardwareeinheiten sehr. 3.2 Anschluss des JTAG-Programmers Der JTAG-Programmer wird zwischen Entwicklungs- und Zielplattform geschaltet. Er nimmt den Programmcode vom AVR Studio entgegen, wandelt ihn in das JTAG-Format um und legt ihn, über die JTAG-Schaltkreise, im Speicher des Mikrocontrollers ab. Von der Zielplattform liest der Programmer die Register- und Speicherinhalte aus und übermittelt sie an das AVR Studio. 9

10 Abbildung 4: JTAG Programmer mit angeschlossenem AVR Board An den PC wird der JTAG ICE mkii über ein USB-Kabel angeschlossen. Im Gegensatz zum Anschluss über den Com Port kann der Programmer so im laufenden Betrieb angeschlossen werden, wird automatisch erkannt und benötigt keine seperaten Stromversorgung. An den ATmega128 wird der Programmer über eine 10-polige Steckleiste auf der Oberseite des STK500 angeschlossen. Pin 1 und 2 sind sowohl auf dem STK500, als auch am JTAG ICE Anschluss gesondert gekennzeichnet. Abbildung 5: JTAG Anschlusspins am Praktikumsboard Für den Betrieb des JTAG ICE mkii sind drei, auf der Oberseite befindliche LEDs wichtig. Diese liefern Informationen über den aktuellen Status des Programmers, der Verbingung und des Target Device. LED 1 leuchtet grün, wenn die Stromversorgung am Zielgerät steht. Bei der im Praktikum verwen- 10

11 deten Hardware zeigt diese LED also an, ob der ATmega128 am STK500 richtig angeschlossen ist und mit Spannung versorgt wird. LED 2 leuchtet rot, wenn die Stromversorgung des Programmers steht. Dies geschieht nach dem Einschaltet des Arbeits-PCs auch ohne zusätzliches Stromkabel am JTAG ICE automatisch, da die Stromversorgung über den USB Anschluss ausreicht. LED 3 leuchtet grün, wenn Daten übertragen werden, gelb bei Firmwareupgrades und während der Initialisierung und rot, wenn die Verbindung zum AVR Studio nicht steht. Die LED leuchtet nicht, wenn die Verbindung zum AVR Studio steht, aber keine Daten übertragen werden. Abbildung 6: Status-LEDs am Programmer Mehr Inforamtion über den JTAG ICE mkii erhält man im AVR Studion unter HELP/ AVR Tool User Guide/JTAG ICE mkii. 11

12 4 Das Terminal Programm Um die Programme der Praktikumsversuche möglichst dynamisch zu gestalten, sind natürlich Ein- und Ausgabemöglichkeiten wichtig. Der ATmega128 verfügt zwar über mehrere Kommunikationskanäle, auf dem Praktikumsboard selbst sind aber nur Taster und LEDs angeschlossen. Um in späteren Versuchen auch entsprechend komplexe Steuerungsmöglichkeiten zu haben, wird die UART-Schnittstelle des ATmega128 genutzt. Diese bietet die Möglichkeit Pakete mit bis zu acht Datenbits zu empfangen/ verschicken und zeigt erfolgreiches senden/empfangen durch Statusflags und Interrupte an. Das STK500 Board bietet die Möglichkeit den UART Port auf eine RS323 Schnittstelle zu legen. Diese lässt sich mit einem COM Port am Praktikums PC verbinden. Durch diese Anbindung lassen sich Tastaturkommandos vom PC zur Steuerung der Assemblerprogramme auf dem ATmega128 nutzen. 4.1 HyperTerminal Das Betriebssystem Windows XP enthält bereits ein Terminalprogramm zur Kommunikation über die serielle Schnittstelle. Mit Hilfe dieses Programms lässt sich eine Verbindung zu anderen Computern, zu Telnet-Sites, zu Bulletin-Board-Systemen (BBS), zu Onlinediensten und zu Host-Computern herstellen. Eine Verknüpfung zum HyperTerminal Programm steht unter Start/Alle Programme/Zubehör /Kommunikation/Hyperterminal. Beim erstem Starten muss eine neue Verbindung eingerichtet werden. Icon und Name der Verbindung dürfen beliebig gewählt werden. Abbildung 7: Screenshot HyperTerminal Im nächsten Schritt muss bei Verbindung herstellen über: der entsprechende COM Port gewählt werden. An der Rückseite des PC Gehäuses sind die COM Ports nummeriert. Das Nullmodemkabel zwischen PC und STK500 muss also an den Port angeschlossen werden, der im Hyperterminal ausgewählt wird. 12

13 Abbildung 8: Screenshot HyperTerminal Als letzte Einstellung müssen die Bedingungen für den Datentransfer festgelegt werden. Auch hier sind die Einstellungen davon abhängig, mit welcher Konfiguration der ATmega128 gestartet wird. Für die Versuche im Praktikum wird eine Baudrate von 1200 Bits pro Sekunde, 8 Datenbits pro Paket, kein Test auf Parität, ein Stoppbit und Betrieb ohne Flusssteuerung empfohlen. Abbildung 9: Screenshot HyperTerminal Unter Datei/Speichern unter kann eine Verknüpfung auf den Desktop erstellt werden, um das Terminalprogramm wieder mit denselben Einstellungen starten zu können. 13

14 4.2 Die UART Einheit Beim ATmega128 müssen jeweils zwei Konfigurationsregister für die Baudrate und für das Datenformat eingestellt werden. In die Register ucsrxc und ucsrxb werden die Konfigurationsbits für die Flusssteuerung, die Paritätsprüfung, das Stoppbit und die Datenbits pro Paket gesetzt. Das X im Registernamen steht dabei für die jeweilige UART-Einheit 0 oder 1. Im Register icsrxa werden keine Konfigurationen vom Benutzer gespeichert, sondern der UART-Übertragungsstatus angezeigt. In die Register ubrrxh und ubrrxl wird ein 16 Bit langer Wert gespeichert. Dieser steuert die Übertragungsrate der jeweiligen UART-Einheit. In diesen Wert gehen zwei Faktoren ein: die gewünschte Baudrate und die Taktfrequenz des ATmega128. Als Baudrate wurde im Hyperterminal 1200 Baud ausgewählt. Die ATmega Frequenz lässt sich mit dem JTAG Programmer zwischen 1 bis 16 MHz einstellen. Der UBRR Wert berrechnet sich dann wie folgt: T aktfrequenz in Hz + Baudrate 8 Baudrate 16 1 Diese Werte können im Assemblercode als Konstanten mit dem Befehlen.equ zu Beginn des Programms festgelegt werden. Dies ist übersichtlicher und der Quellcode kann bei Änderungen der Übertragungsrate leicht anpasst werden..include m128def.inc.equ F CPU = ;Systemtakt in Hz.equ BAUD = 1200 ; Baudrate.equ UBRR VAL = ((F CPU+BAUD*8)/(BAUD*16)-1) Die Details zu den USART-Einstellungen und Konfigurationsregistern sind ausführlich im ATmega128 Handbuch beschrieben. 14

15 5 AVR Studio Das wichtigste Softwaretool für das Praktikum ist das AVR Studio. Es übernimmt gleich mehrere Aufgaben: Entwicklungsumgebung zum Erstellen,Verwalten und Kompilieren des Programmcodes. Kommunikation mit dem JTAG Programmer zum Laden des Programmcodes in den ATmega128. Übersicht über alle Mikrocontrollerkompontenten, Register- und Speicherinhalte auch während der Programmausführung. Von besonderer Bedeutung ist dabei die Kompatibilität mit dem JTAG ICE mkii. Das Einbinden des JTAG-Programmers in die Kommunikation mit dem ATmega128 vereinfacht nicht nur das Laden des Programmcodes in den Mikrocontroller, sondern erlaubt auch Runtime Debugging. So kann das Programm, während seiner Ausführung auf dem Mikrocontroller, zu jeder Zeit im AVR Studio angehalten werden, um die Status-, Kontrollregister und Speicherbereiche auszulesen. Die Register und Speicherinhalte lassen sich dabei durch die JTAG-Schaltung nicht nur auslesen, sondern auch beschreiben. So können zur Laufzeit neue Registerwerte eingegeben, Interruptflags gesetzt und Sprungrichtungen geändert werden. Das AVR Studio ist also nicht nur die Entwicklungsumgebung, sondern wird auch zum Laden des Programmcodes in den ATmega128 und anschließendem Debuggen zur Laufzeit verwendet. 5.1 Anlegen eines neuen Projekts Nach dem Start des AVR Studio wird der Benutzer aufgefordert Projekttyp, Projektname und Speicherort anzugeben. Sollte das entspechende Startfenster nicht erscheinen, kann es unter Project/New Project jederzeit wieder geöffnet werden. Abbildung 10: Projekteinstellungen im AVR Studio 15

16 Für die Versuche im Praktikum wird im Feld Project type die Einstellung Atmel AVR Assembler ausgewählt. Der Projektname sollte einen eindeutigen Bezug zur jeweiligen Aufgabe haben. Unter Location muss der Pfad zum jeweiligen Praktikumsordner eingegeben werden. Sollten für spezielle Programmieraufgaben andere Einstellungen notwendig sein, wird in den jeweiligen Aufgabenstellung auf die Änderungen hingewiesen. Mit dem Button next gelangt man zum nächsten Schritt. Hier wird nach der Programmiereinheit und dem Mikrocontroller des Projekts gefragt. Abbildung 11: Auswahl Target Device im AVR Studio Im Feld Debug Platform muss JTAGICE mkii ausgewählt werden, unter Device der ATmega128 und als Port Option USB. Anschließend kann die Eingabe der Projekteinstellungen mit dem Button Finish abgeschlossen werden. 16

17 5.2 Die Entwicklungsumgebung Im Hauptfenster des AVR Studio gibt es eine Kontrollleiste am oberen Rand und fünf Unterfenster darunter. Abbildung 12: Entwicklungsumgebung im AVR Studio Fenster 1 zeigt den Projektnamen und die eingebundenen Dateien an. Hier können auch weitere Quelldateien eingefügt werden. Fenster 2 ist ein Texteditor zum Editieren des Quellcode. Fenster 3 zeigt eine Übersicht über die Funktionseinheiten des ausgewählten Mikrocontrollers. Fenster 4 liefert eine Übersicht über das Projekt. Fehler beim Kompilieren, Verbindungsstatus beim Programmieren und andere Informationen werden in diesem Feld angezeigt. Wird in Fenster 3 eine Funktionseinheit ausgewählt, zeigt Fenster 5 die dazugehörigen Kontrollund Statusregister mit dem jeweiligen Inhalt und der Adresse an. 17

18 5.3 Kompilieren und Ausführen Wenn der Programmcode vollständig eingegeben wurde, sind die nächsten Schritte das Kompilieren, das Kopieren in den ATmega128 Codespeicher und anschließend das Ausführen. Dafür stehen zwei verschiedene Buttons zur Verfügung: 1. ASSEMBLE: Mit diesem Button wird der Quellcode übersetzt und alle eventuell noch vorhandenen Fehler angezeigt. Nachdem die letzten Fehler beseitigt wurden, ist der nächste Schritt das Beschreiben des ATmega ASSEMBLE AND RUN: hier wird der Quellcode kompiliert und auf den ATmega128 geladen. Abbildung 13: Screenshot AVR Studio 5.4 Debugging Auch wenn das Programm syntaktisch korrekt ist, können sich, gerade bei komplexeren Programmen, Fehler in der Programmstruktur verstecken. Um diese Fehler zu finden, müssen Sprungrichtungen, Speicherund Registerbelegungen in Abhängigkeit von den auftretenden Eingaben kontrolliert werden. Dafür bietet das AVR Studio eine ganze Reihe praktischer Funktionen. Die wichtigsten dabei sind: 1. RUN: Startet die Ausführung des Programms auf dem ATmega PAUSE: Hält das Programm an. Alle virtuellen Mikrocontollerkomponenten im AVR Studio zeigen die tatsächlichen Belegungen im ATmega128 an. 3. RESET: Startet das Programm erneut. Interruptflags, Pointer und der Zustand von Funktionseinheiten werden zurückgesetzt. 4. STEP INTO: Erhöht den Programmcounter um Eins. Es wird der nächste Befehl ausgeführt. Mit dieser Schritt für Schritt Abarbeitung des Programms wird fremder Code verständlicher und eigener lässt sicher besser auf Fehler untersuchen. 5. RUN TO CURSOR: Führt das Programm aus, bis die Befehlszeile erreicht wird, in der sich der Cursor befindet. 18

19 Abbildung 14: Screenshot AVR Studio Daneben gibt es noch weitere Möglichkeiten zum Debuggen, wie das Setzten von Breakpoints und Tracepoints und mehr. Das wichtigste Feature ist jedoch, dass sich das Programm unterbrechen lässt, ohne es zu beenden. Denn sobald das Programm mit PAUSE angehalten wird, können alle Registerinhalte und Speicherbereiche ausgelesen und wenn nötig auch verändert werden. Nachdem die Veränderungen vorgenommen wurde, kann das Programm vom akutellen Befehl an, mit der neuen Speicherbelegung ausgeführt werden. Der Programmcounter und nicht veränderte Register bleiben erhalten. Alternative Sprungrichtungen und Interruptbedingungen können so von Hand erzwungen werden, ohne dass ein auslösendes Ereignis tatsächlich eintreten muss. 19

20 6 Assemblerprogrammierung 6.1 Warum Assemblerprogrammierung? Da ein Mikrocontroller oder ein Mikroprozessor a priori kein Wissen darüber besitzt, welche Aufgabe er erfüllen soll, muss er von einem Menschen dementsprechend programmiert werden. Allerdings ist das nicht so einfach, da der Mikrocontroller lediglich Maschinencode versteht. Bei diesem Maschinencode handelt es sich um eine Folge von Operationen, die in der Befehlssatzarchitektur (ISA 1 ) definiert sind, wobei jede Operation binär codiert ist. Allerdings ist so eine lange Folge von binären Zeichen für den Menschen nur sehr schwer zu interpretieren, so dass eine Zwischenebene eingeführt wurde, die sogenannte Assemblersprache. In der Assemblersprache werden den unterschiedlichen Maschinenbefehlen sogenannte Mnemonics zugeordnet, die für den Menschen leichter verständlich sind und einen Hinweis auf die Funktionalität der Operation geben. Das folgende Beispiel soll die bessere Lesbarkeit von Assembler gegenüber Maschinencode verdeutlichen. Es sollen zwei Zahlen, die in den Registern r2 und r1 gespeichert sind, addiert und anschließend das Ergebnis im Register r2 gespeichert werden. Assembler: add r2, r1 Maschinencode: Durch die Einführung von Hochsprachen, wie zum Beispiel C, C++ oder Java, konnte, von der Assemblersprache ausgehend, noch weiter abstrahiert werden. Trotzdem wird in manchen Fällen noch immer die Assemblerprogrammierung verwendet, da sie gegenüber Hochsprachen einige Vorteile besitzt. In Assembler geschriebene Programme sind meist deutlich kleiner und laufen schneller, was besonders bei einer leistungsschwachen Hardware mit wenig Speicher wichtig ist. Da das Programmieren in Assembler außerdem eine genaue Kenntnis der Hardware erfordert, können hardwarespezifische Sonderfunktionen, die ein automatischer Compiler nur selten oder nie verwenden würde, zur Optimierung genutzt werden. Diesen Vorteilen stehen allerdings auch einige Nachteile entgegen. So ist es zum Beispiel fast unmöglich ein geschriebenes Programm auf eine andere Hardware zu portieren, da es für den Einsatz auf der ursprünglichen Hardware optimiert wurde und deshalb große Teile des Programms noch mal neu geschrieben werden müssten. Außerdem ist es sehr aufwändig Assemblerprogramm zu warten, wenn zum Beispiel ein Fehler behoben werden muss oder das Programm um eine neue Funktionalität erweitert werden soll, denn dazu wird viel Wissen darüber benötigt, wie das Programm arbeitet. So muss zum Beispiel bekannt sein, welche Register verwendet werden und ob die Registerinhalte später noch mal benötigt werden. Ein weiterer Punkt, der für den Einsatz von Assembler in diesem Praktikum spricht, ist, dass die Assemblerprogrammierung einen guten Einblick in die Funktionsweise der Hardware gibt. 6.2 Der AVR-Assembler Der AVR-Assembler umfasst insgesamt 133 unterschiedliche Befehle, wobei die meisten nur einen Taktzyklus zur Ausführung benötigen. Für jedes Programm wird der Quellcode, also die Assemblerbefehle und Kommentare, in einer Datei mit der Endung.asm gespeichert. Dabei unterscheidet der Assembler nicht zwischen Groß- und Kleinschreibung. Nach einer erfolgreichen Kompilierung in Maschinencode, kann dieser in den Codespeicher des Mikrocontrollers übertragen werden. Sobald der Mikrocontroller mit diesem neuen Programm initialisiert ist, wird der Code sequentiell abgearbeitet, sofern der Programmfluss nicht durch einen Sprung verändert wird. Außerdem ist zu beachten, dass ein Mikrocontroller immer in einer Endlosschleife arbeitet, d.h. nachdem das Ende des Programms erreicht wurde, beginnt das Programm wieder von neuem. In der Quelldatei darf pro Zeile maximal eine Assembleranweisung stehen. Dabei kann es sich entweder um eine Direktive oder ein Mnemonik handelt. Zusätzlich kann die Zeile noch durch einen Kommentar ergänzt 1 ISA : Instruction Set Architecture; Befehlssatzarchitektur 20

21 werden oder mit einer Sprungmarke beginnen. Eine Sprungmarke endet immer mit einem Doppelpunkt und in einem kompletten Assemblerprojekt dürfen keine Sprungmarken denselben Namen haben, auch nicht, wenn sie in unsterschiedlichen Quelldateien des Projekts stehen. Kommentare werden immer durch ein Semikolon eingeleitet und gelten dann bis zum Ende der Zeile. Daraus ergeben sich dann die folgenden Strukturen für eine Zeile 2 : [Marke:].Direktive [Operanden] [; Kommentar] [Marke:] Mnemonik [Operanden] [; Kommentar] [Marke:] [; Kommentar] Direktive Direktive werden hauptsächlich dazu genutzt, die unterschiedlichen Speicher anzusprechen oder um Makros zu definieren. Direktive beginnen immer mit einem vorangestellten Punkt. Hier ist ein kurze Auswahl der wichtigsten Direktive:.CSEG Damit wird der Codespeicher (FLASH) ausgewählt..dseg Damit wird der flüchtige Datenspeicher (RAM) ausgewählt..eseg Damit wird der nichtflüchtige Datenspeicher (EEPROM) ausgewählt..byte Dient zur Allokierung von Speichplatz für eine Variable. Beispiel: Puffer:.BYTE 24 Durch diese Zeile werden für die Variable Puffer 24 Byte im Speicher reserviert..def Mit dieser Direktive kann einem Register ein symbolischer Name zugeordnet werden. Beispiel:.DEF temp = r16 Dadurch kann das Register r16 auch über den symbolischen Namen temp angesprochen werden..equ Mit dieser Direktive kann eine Konstante definiert werden. Beispiel:.EQU wartettakte = 10.INCLUDE Diese Direktive dient zum Einbinden von weiteren Dateien. Beispiel:.INCLUDE zaehler.asm An dieser Stelle wird der Inhalt der Datei zaehler.asm eingefügt..org Wenn diese Direktive im Codesegment verwendet wird, dann wird damit der Anfangspunkt des Programms im Programmspeicher festgelegt. Wenn diese Direktive im Datensegment verwendet wird, dann gibt sie die Anfangsposition im Arbeitsspeicher an. Wobei darauf zu achten ist, dass im Codesegment wortweise und im Datensegment byteweise addressiert wird. Beispiel:.CSEG.ORG 0x100 Diese Direktive ist z.b. notwendig, um die Interrupt Service Routinen (ISR) am Programmanfang zu überspringen. 2 in Klammern stehende Teile sind optional 21

22 6.2.2 Mnemoniks Die Mnemoniks lassen sich grob in vier unterschiedliche Befehlsklassen einteilen: Arithmetische und Logische Befehle Zu dieser Klasse gehören die Befehle zum Addieren, Subtrahieren, Multiplizieren, bitweise UNDund ODER-Befehle, usw. Sprungbefehle Hierzu gehören bedingte oder unbedingte Sprünge und Unterprogrammaufrufe. Befehle für den Datentransfer Mit diesen Befehlen können Daten in den Speicher geschrieben oder aus diesem geladen werden. Außerdem können Konstanten oder Registerinhalte zwischen Registern verschoben werden, Einund Ausgabeschnittstellen aktiviert und auf den Stack zugegriffen werden. Befehle, die einzelne Bits von Registern verändern oder testen können Ein Beispielprogramm Anhand eines einfachen Assemblerprogramms wird jetzt die Funktionsweise der unterschiedlichen Direktiven und Befehle verdeutlicht. Die in Klammern stehenden Zeilennummern gehören dabei nicht zum Programm. Sie wurden eingefügt, damit die einzelnen Zeilen besser erklärt werden können. (1).INCLUDE "m128def.inc" (2) (3).ESEG (4) (5).EQU Wartetakte = 100 ; die Anzahl der Takte, die gewartet werden soll (6) (7).DSEG (8) (9) Puffer:.BYTE 24 ; ein 24 Byte großer Puffer (10) (11).CSEG (12) (13).ORG 0x100 (14) init: (15) ; der Stackpointer wird initialisiert (16) ldi r16, high(ramend) (17) out SPH, r16 (18) ldi r16, low(ramend) (19) out SPL, r16 (20) ; Port A wird konfiguriert (21) ldi r16, 0xFF (22) out DDRA, r16 (23) out PORTA, r16 (24) main: (25) ldi r30, low(puffer) (26) ldi r31, high(puffer) (27) ldi r17, 24 (28) schleife: (29) ld r16, Z+ (30) out PORTA, r16 (31) dec r17 22

23 (32) cpi r17, 0 (33) brne schleife (34) call warteschleife (35) jmp main (36) (37) warteschleife: (38) push r17 (39) ldi r17, Wartetakte (40) dec r17 (41) cpi r17, 0 (42) brne warteschleife (43) pop r17 (44) ret Zuerst wird in der ersten Zeile die Datei 128def.inc eingebunden. In dieser sind alle symbolischen Namen für den ATmega128 definiert. Den jeweiligen Speicheradressen wird ein deskriptiver Registernamen zugewiesen. So kann im Quellcode direkt der Name anstelle der Speicheradresse verwendet werden. Das vereinfacht das Programmieren und hat verständlicheren Code zur Folge. In Zeile 5 wird die Konstante mit dem Namen Wartetakte und dem Wert 100 definiert. Sie ist im EEPROM (siehe Zeile 3) des Mikrocontrollers abgelegt. Danach wird durch Zeile 9 ein 24 Byte großer Bereich im Arbeitsspeicher (siehe Zeile 7) für die Variable Puffer reserviert. Ab Zeile 11 betreffen alle Befehle den Codespeicher. Durch Zeile 13 wird am Anfang des Codespeichers Platz gelassen, z.b. für die Interrupt Service Routinen. Mit Hilfe des Codes aus den Zeilen 16 bis 19 wird der Stackpointer initialisiert. Er beginnt am Ende des Arbeitsspeichers (RAMEND) und wächst dann zum Anfang des Arbeitsspeichers hin. Auf den Stack kann über die Befehle push und pop zugegriffen werden. Mit push wird ein Registerinhalt als oberstes Element auf dem Stack gespeichert und der Stackpointer inkrementiert, mit pop wird das oberste Stackelement in ein Register geladen und der Stackpointer dekrementiert. Außerdem dient der Stack als Ablage für die Rücksprungadressen bei Unterprogrammaufrufen. Beim Aufruf einer Interrupt Service Routine wird der aktuelle Programmcounter auf dem Stack abgelegt, das entsprechende Unterprogramm ausgeführt und anschließend der Programmcounter automatisch wieder vom Stack geladen. Dies ist allerdings nur möglich, wenn das Unterprogramm die Rücksprungadresse auf dem Stack nicht zerstört. Das heißt, dass das oberste Stackelement am Anfang des Unterprogramms auch das oberste Stackelement am Ende des Unterprogramms sein muss. Da der Stackpointer 16 Bit umfasst, besteht er aus zwei 8 Bit Registern. Das SPL-Register enthält den unteren Teil des Stackpointers und das SPH-Register enthält den oberen Teil. Die Zeilen 21 bis 23 dienen zur Konfiguration des Ports A. Eine genauere Beschreibung der Port-Register befindet sich im Handbuch zum ATmega 128. Das Hauptprogramm umfasst die Zeilen 25 bis 35. Nach einer vollständigen Abarbeitung, beginnt das Hauptprogramm wieder von vorne (siehe Zeile 35). Es dient zur Ausgabe des Inhalts der Variable Puffer auf Port A. Nachdem alle 24 Byte ausgegeben wurden, wird das Unterprogramm Warteschleife aufgerufen. Im Unterprogramm wird der Inhalt des Registers r17 anfangs auf dem Stack kopiert (Zeile 38) und zum Ende wird dieser alte Registerinhalt wieder vom Stack geladen (Zeile 43). Somit wird auch in Zeile 44 die korrekte Rücksprungadresse vom Stack geholt. Für die bedingten Sprünge in den Zeilen 33 und 42 werden bestimmte Bits des Statusregisters des Mikrocontrollers ausgewertet. Abhängig von diesem Ergebnis wird der Sprung genommen oder nicht. Weitere Informationen zum AVR-Assembler finden Sie im Handbuch zum ATmega 128 und im AVR Studio bei Assembler Help unter dem Menüpunkt Help. 23

24 7 Versuchsübersicht 7.1 Versuch 1 Ziel des ersten Versuch ist es, die Arbeitsumgebung, speziell das AVR Studio und das STK500, kennenzulernen. Dazu soll ein vorgegebenes Assemblerprogramm eingebunden, korrigiert und anschließend ausgeführt werden. Der Versuch ist erfolgreich abgeschlossen, wenn das Assemblerprogramm die vorgegebene Peripherie des Praktikumsboard in gewünschter Weise steuert. 7.2 Versuch 2 Im zweiten Versuch sollen die wichtigsten Einheiten eines Microcontrollers kennengelernt werden. Neben der Funktionsweise von Zähler/Zeitgebern steht die Entwicklung von Interrupt Service Routinen (kurz ISR) und deren Einbinden in das Hauptprogramm im Vordergund. Als Ergebnis sollen Programme zur zyklischen Ausgabesteuerung und zum Entprellen der Taster entstehen. 7.3 Versuch 3 Im dritten Versuch steht weiterhin das Zusammenspiel aus Zählern/Zeitgebern, Interrupt Service Routinen und Ein-/Ausgaben im Vordergrund. Aufbauend auf den zweiten Versuch werden aufwendigere Programme und komplexere Modi der Funktionseinheiten in den Aufgaben behandelt. Spannunsgesteuerte Helligkeitsausgabe der LEDs und PWM-Modus nehmen dabei eine zentrale Rolle ein. 7.4 Versuch 4 Im vierten Versuch steht eine weitere Schnittstelle des ATmega128 im Vordergund, der USART. Ziel des Versuchs ist es, die Assemblerprogramme um eine interaktive Eingabe zu erweitern. Zu diesem Zweck werden von einem PC, über ein Terminalprogramm (HyperTerminal), Tastaturkommandos über den COM Port an die serielle Schnittstelle des ATMega übermittelt. Die im Umgang mit der USART-Schnittstelle gemachten Erfahrungen sind Grundlage für alle folgenden Versuche. 7.5 Versuch 5 Bei diesem Versuch wird ein externer Speicher, in diesem Fall eine Speicherkarte, an dem Mikrocontrollerboard angeschlossen. Ziel des Versuches ist es, einen einfachen Treiber zu schreiben, der über die SPI- Schnittstelle einen Datentransfer zwischen der Speicherkarte und dem Mikrocontrollerboard ermöglicht. 7.6 Versuch 6 Der sechste Versuch ist eine Fortsetzung des fünften Versuchs. Im ersten Teil des Versuchs soll die Datenübertragung des Treibers auf Fehler getestet werden. Der zweite Teil des Versuchs beschäftigt sich mit der Emulation der SPI-Schnittstelle durch Software. 24

25 8 Versuch Inhalt Ziel des ersten Versuch ist es die Arbeitsumgebung, speziell das AVR Studio und das STK500, kennenzulernen. Dazu soll ein vorgegebenes Assemblerprogramm eingebunden, korrigiert und anschließend ausgeführt werden. Anschließend sind kleinere Erweiterungen am Quellcode selbständig vorzunehmen. Der Versuch ist erfolgreich abgeschlossen, wenn das Assemblerprogramm die vorgegebene Peripherie des Praktikumsboard in gewünschter Weise steuert. 8.2 Aufgabe 1.1 Als erstes muss das AVR Studio gestartet werden, um ein neues Projekt anzulegen. Alle wichtigen Informationen dafür finden Sie im Kapitel Praktikumsumgebung. Besonders ist darauf zu achten, dass als Projekttyp die Einstellung Assemblerprojekt ausgewählt werden muss. Anschließend soll das folgende Programm eingegeben und kompiliert werden..include m128def.inc.dseg.cseg.org 0x00 init: ldi r16, 0xf out PORTD, r16 out DDRB, r16 out PORTB, r16 main: in r16, PIND out PORTB, r16 jmp main 8.3 Aufgabe 1.2 Beim Kompilieren taucht eine Fehlermeldung auf. Was bedeutet diese Fehlermeldung? Antwort: Welche Schritte werden während der Initialisierung (Abschnitt init) durchgeführt? Antwort: Ändern Sie das Programm so ab, dass es fehlerfrei kompiliert werden kann. 25

26 8.4 Aufgabe 1.3 Nachdem das Programm lauffähig ist, muss die Periperie an die richtigen Ports angeschlossen werden. An Port D sollen die Taster angeschlossen werden, an Port B die LEDs. Nehmen Sie die benötigten Anschlüsse vor und lassen Sie es dann vom Tutor überprüfen. Hinweis: Erklärungen der Portanschlüsse und Beispielschaltungen stehen im Kapitel Praktikumsboard. Welche Funktion hat der main Abschnitt? Antwort: Die Taster werden durch das Programm zyklisch abgefragt und lösen selbst keinen Interrupt aus. Wie nennt man das verwendete Verfahren? Antwort: Verbinden Sie den JTAG-ICE mit dem Rechner und dem STK500. Programmieren Sie anschließend den ATmega128 und führen Sie das Programm vor. 8.5 Aufgabe 1.4 Ändern Sie jetzt noch Ihr Programm ab, so dass alle LEDs während der Initialisierung angeschaltet werden und durch das Drücken des jeweiligen Tasters ihren Zustand (an/aus) wechseln. 26

27 9 Versuch Inhalt Im zweiten Versuch sollen die wichtigsten Einheiten eines Microcontrollers kennengelern werden. Neben der Funktionsweise von Zähler/Zeitgebern steht die Entwicklung von Interruptserviceroutinen (kurz ISR) und deren Einbinden in das Hauptprogramm im Vordergund. Als Ergebnis sollen Programme zur zyklischen Ausgabesteuerung und zum Entprellen der Taster entstehen. Hinweis: Sobald ein Interrupt auftritt und das Programm zur entsprechenden ISR springt, wird der aktuelle Programmcounter im Stacksegment gespeichert. Im Initialisierungsabschnitt des Quellcodes muss deshalb bei allen Versuchen, in denen die Befehle push und pop oder Interrupte genutzt werden, unbedingt der Stack initialisiert werden, siehe Kapitel Assemblerprogrammierung. 9.2 Aufgabe 2.1 Informieren Sie sich im ATmega128 Handbuch über die Funktionsweise und die verschiedenen Modi der Zähler/Zeitgebereinheiten und beantworten Sie folgende Fragen schriftlich: Beim ATmega128 stehen vier Zähler-/Zeitgebereinheiten zur Verfügung. Zwei davon als 8 Bit Einheiten, zwei weitere als 16 Bit Einheiten. Was ist mit der Bezeichnung 8 bzw 16 Bit gemeint? Antwort: Für die Initialisierung und Konfiguration der Zähler-/Zeitgebereinheiten sind fünf Register besonders wichtig: OCRx, TCNTx, TCCRx, TIFR und TIMSKp. Wofür stehen diese Abkürzungen und was sind die Aufgaben der Register? OCRx: TCNTx: TCCRx: TIFR: TIMSK: 27

28 Beim Einsatz der Zähler/Zeitgebereinheiten lassen sich drei wichtige Modi unterscheiden. Erklären Sie kurz die Eigenschaften (Anzahl und Zeitpunkt der Interrupte, Zyklendauer, etc.): Normaler Modus: CTC Modus: fast PWM Modus: Im normalen Modus der Zähler/Zeitgebereinheiten gibt es mehre Faktoren welche die Frequenz/Periode beeinflussen. Nennen Sie drei Möglichkeiten die Periode des Timer Overflow Interrupt zu beeinflussen. Erstens: Zweitens: Drittens: 9.3 Aufgabe 2.2 Schreiben Sie ein Programm für Zähler/Zeitgebereinheit 0, das einmal pro Sekunde das LED-Ausgabemuster ändert. Das main Programm soll dabei nur aus einer Schleife von Nop Befehlen bestehen. Alle anderen Programmabläufe sollen durch Interrupte ausgelöst werden und in den ISRs abgehandelt werden. 9.4 Aufgabe 2.3 Bei dem Praktikumsboard kommt es vor, dass ein einmaliges Drücken des Tasters mehrfache erkannt wird. Ein sinnvolles Programm, auch für andere Anwendungen, wäre also die Interruptroutinen der Taster so zu ändern, dass sie nach einer Aktivierung für eine oder mehrere Sekunden gesperrt sind. Die einfachste Lösung ist ein wechselseitiges Sperren/Freigeben der Interruptservice Routinen von Taster und Zähler: Beim Auslösen des Tasters wird die dazugehörige Aktion ausgeführt. Danach sperrt sich die Taster- ISR selbst, setzt den Zählerstand zurück und gibt die Zähler-ISR frei. Aufgabe der Zähler-ISR ist es, die Taster-ISRs nach einer Sekunde wieder Freizugeben und sich danach selbst zu sperren. Erstellen sie ein Programm, bei dem mit vier Tastern Interrupte auslöst werden können. Ein nicht symmetrisches LED-Ausgabemuster soll mit Taster 1 um eine Stelle nach rechts geschiftet werden, mit Taster 2 um zwei Stellen nach rechts, mit Taster 3 um eine Stelle nach links und mit Taster 4 um zwei Stellen nach links. Die zugehörigen Interrupte sollen, wie oben beschrieben, auf ein Intervall von zwei Sekunden 28

29 begrenzt werden. Hinweis: Bei der Verwendung einer 8 Bit Zählereinheit und einer Sperrzeit von zwei Sekunde müssen Sie die Zählerbreite mit einem Hilfsregister erweitern. 9.5 Aufgabe 2.4 Ändern Sie das Programm aus Aufgabe 2.3 so ab, dass alle vier Taster einzeln, mit ingesamt einem 8 Bit Zähler und 5 Hilfsregistern, gesperrt werden. Die Genauigkeit darf dabei um 5 ms abweichen. Das main Programm soll nur aus einer Schleife von Nop Befehlen bestehen. Alle anderen Programmabläufe sollen weiterhin über Interrupte ausgelöst werden und in den ISRs abgehandelt werden. 29

30 10 Versuch Inhalt Im dritten Versuch sollen weitere Zählermodi untersucht werden und das Zusammenspiel aus Zählern/Zeitgebern, ISRs und Ein-/Ausgaben besser kennengelernt werden Das PWM Verfahren In dieser Aufgabe sollen die LEDs auf dem Praktikumsboard unterschiedlich helle Muster ausgeben. Die Helligkeit einer LED hängt dabei von der angelegten Spannung ab. Bei der Helligkeitsregelung im Praktikum gibt es aber ein Problem. Der Ausgabepegel an den Ports kann nur zwei Werte annehmen: 0 Volt bei einer Eins im Ausgaberegister und 5 Volt bei einer Null. Eine Helligkeitsdimmung ist aber über Puls Weiten Modulation trotzdem möglich. Das Prinzip ist einfach: Innerhalb einer festen Periode der Dauer T liegt für eine bestimmte Zeit E die Eins am Ausgang. Beim Erreichen des fest eingestellten Vergleichswert E schaltet die Ausgabe um und es liegt für den Rest der Periode (T-E) die Null am Portausgang. Durch das Verhältnis von E zu T liegt dabei innerhalb eines Zyklus im Mittel ein Wert zwischen 5 und 0 Volt an. Ist die Zyklusdauer klein genug, im ms Bereich, nimmt das Menschliche Auge kein Flimmern war, sondern lediglich eine abgestufte Helligkeit. Bei einer Periodendauer von 128 Takten; wie lange muss eine Eins ausgegeben werden, um eine mittlere Ausgangsspannung von ca. 3 Volt zu erreichen? Anzahl der Takte: Wie viele Takte braucht man bei einer Zählerbreite von 16 Bit? Anzahl der Takte: Was fällt bei dem Vergleich mit dem vorherigem Ergebnis auf? Abweichung: Wie heißt der Fehler der zu dieser Abweichung führt 10.3 Die PWM beim ATmega Die Funktion des PWM-Modus lässt sich natürlich auch in Software realisieren. Dazu müssen bei dem Zähler der Überlauf- und Vergleichsinterrupt abgefangen werden, um die Ausgabe zu steuern. Die Frequenz des PWM-Verfahrens entspricht dabei genau der Zählerfrequenz. Der Wert im Vergleichsregister bestimmt den Abstand zwischen den beiden ISRs innerhalb eines Zyklus. Die Pulsweitenmodulation im Hardwaremodus hat den Vorteil, dass die Pegelausgabe ohne Aufruf einer ISR geschieht. Es kann als nicht zu Verzögerungen durch andere ISR kommen. Die Softwareemulation des PWM-Verfahrens bietet aber einen entscheidenden Vorteil: Der Zähler gibt den Pegel im Hardwaremodus nur an einem einzelnen, nicht veränderbaren Pin aus. Welche Aktionen bei der Software-PWM ausgeführt werden, ist natürlich frei wählbar. Natürlich lässt sich die Softwareemulation auch komplett ohne Zähler-/Zeitgebereinheit programmieren, indem man die benötigten Unterprogramme im Hauptprogramm aufruft und nicht in den ISRs. 30

Praktikum Mikrocontroller und Eingebettete Systeme

Praktikum Mikrocontroller und Eingebettete Systeme Institut für Informatik Professur für Eingebettete Systeme Praktikum Mikrocontroller und Eingebettete Systeme Wintersemester 2012/2013 Eingebettete Systeme Prof. Dr. Uwe Brinkschulte Dipl.-Inform. Daniel

Mehr

Stepperfocuser 2.0 mit Bootloader

Stepperfocuser 2.0 mit Bootloader Stepperfocuser 2.0 mit Bootloader Info Für den Stepperfocuser 2.0 gibt es einen Bootloader. Dieser ermöglicht es, die Firmware zu aktualisieren ohne dass man ein spezielles Programmiergerät benötigt. Die

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Interrupts im Handbuch des ATmega128 gründlich lesen.

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

Mehr

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

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen

Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13. Teil IV: Programmieren an Beispielen Programmierung von ATMEL AVR Mikroprozessoren am Beispiel des ATtiny13 Eine Einführung in Aufbau, Funktionsweise, Programmierung und Nutzen von Mikroprozessoren Teil IV: Programmieren an Beispielen Die

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

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1 CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7

Mehr

Installationsanleitung für das KKL bzw. AGV4000 Interface

Installationsanleitung für das KKL bzw. AGV4000 Interface Installationsanleitung für das KKL bzw. AGV4000 Interface Diese Anleitung ist unter Windows XP erstellt worden, ist aber auch übertragbar auf Windows 2000/ Vista / Windows 7. Je nach Einstellungen des

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

10.0 Quick Start mit AT89LP2052 Elliptecmotor Kit

10.0 Quick Start mit AT89LP2052 Elliptecmotor Kit 10.0 Quick Start mit AT89LP2052 Elliptecmotor Kit Dieses Kapitel beschreibt die Inbetriebnahme und den ersten Test mit dem AT89LP2052 Elliptecmotor Kit. Eine einfache Access Software für die Steuerung

Mehr

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7 Die Installation der FuxMedia Software erfolgt erst NACH Einrichtung des Netzlaufwerks! Menüleiste einblenden, falls nicht vorhanden Die

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

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

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

S O L U T I O N S ::::: CSE-H55 Ethernet/RS422 Wandler. Installationsanleitung

S O L U T I O N S ::::: CSE-H55 Ethernet/RS422 Wandler. Installationsanleitung CSE-H55 Ethernet/RS422 Wandler Installationsanleitung ::::: ::::: ::::: ::::: ::::: :: 2 Installation der Hardware Installation der Software 3 Installation der Hardware Der Wandler CSE-H55 dient zum Anschluss

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Benutzung der LS-Miniscanner

Benutzung der LS-Miniscanner Benutzung der LS-Miniscanner Seit Januar 2010 ist es möglich für bestimmte Vorgänge (Umlagerungen, Retouren, Inventur) die von LS lieferbaren Miniscanner im Format Autoschlüsselgröße zu benutzen. Diese

Mehr

Dokumentation. Mindestanforderungen: Das Board

Dokumentation. Mindestanforderungen: Das Board Dokumentation Mindestanforderungen: 1. Einen Computer (Mac oder Pc) oder flash-unterstutztes System 2. Flash Player oder Browser mit Flash PlugIn 3. Das Board 4. Tondateien zum Abspielen Je mehr Tondateien

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Anleitung E Mail Thurcom E Mail Anleitung Version 4.0 8.2014

Anleitung E Mail Thurcom E Mail Anleitung Version 4.0 8.2014 Anleitung E Mail Inhalt 1. Beschreibung 1.1. POP3 oder IMAP? 1.1.1. POP3 1.1.2. IMAP 1.2. Allgemeine Einstellungen 2. E Mail Programme 3 3 3 3 3 4 2.1. Thunderbird 4 2.2. Windows Live Mail 6 2.3. Outlook

Mehr

Installationsleitfaden kabelsafe backup professional unter MS Windows

Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsanleitung und Schnelleinstieg kabelsafe backup professional (kabelnet-obm) unter MS Windows Als PDF herunterladen Diese

Mehr

SOFiSTiK AG 2011. Installationsanleitung

SOFiSTiK AG 2011. Installationsanleitung SOFiSTiK AG 2011 Installationsanleitung Copyright SOFiSTiK AG, D-85764 Oberschleißheim, 1990-2011 Dieses Handbuch ist urheberrechtlich geschützt. Kein Teil darf ohne schriftliche Genehmigung der SO- FiSTiK

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

UART-Kommunikation mit dem Atmel AVR

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

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Windows Vista Security

Windows Vista Security Marcel Zehner Windows Vista Security ISBN-10: 3-446-41356-1 ISBN-13: 978-3-446-41356-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41356-6 sowie im Buchhandel

Mehr

Einrichten einer Toolchain zur Programmierung des Nibo 2 Roboters mit Atmel Studio 6

Einrichten einer Toolchain zur Programmierung des Nibo 2 Roboters mit Atmel Studio 6 Einrichten einer Toolchain zur Programmierung des Nibo 2 Roboters mit Atmel Studio 6 Ing. Holger Kölle M.Sc. 26. Mai 2014 1 Projekteinstellungen in Atmel Studio 6 1. Starten Sie Atmel Studio 6, zu finden

Mehr

Einzel-E-Mails und unpersönliche Massen-Mails versenden

Einzel-E-Mails und unpersönliche Massen-Mails versenden Einzel-E-Mails und unpersönliche Massen-Mails versenden Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

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

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

1. Aktionen-Palette durch Fenster /Aktionen ALT+F9 öffnen. 2. Anlegen eines neuen Set über Neues Set... (über das kleine Dreieck zu erreichen) Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Tag 2 Eingabe und Interrupts

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

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch 29.11.2005. für Direkt-Digital-Vario. Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch 29.11.2005. für Direkt-Digital-Vario. Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003 DIGITALVARIO Anleitung Bootloader Ausgabe 0.1 deutsch 29.11.2005 für Direkt-Digital-Vario Firmware ab 00-06-00 Hardware 01 Seriennummer ab 0003 1. Funktion Der Bootloader dient dazu Updates der Variosoftware

Mehr

ALF-BanCo - Chipkarte einrichten in 3 Schritten

ALF-BanCo - Chipkarte einrichten in 3 Schritten ALF-BanCo - Chipkarte einrichten in 3 Schritten 1. Schritt: Installation ALF-BanCo und Chipkartenleser Installieren Sie zunächst die aktuellste Version von ALF-BanCo Stecken Sie das Chipkartenlesegerät

Mehr

Inhaltsverzeichnis WWW.STEMMER-IMAGING.COM

Inhaltsverzeichnis WWW.STEMMER-IMAGING.COM Inhaltsverzeichnis 1 Identifizierung...2 2 Sicherheitshinweise...3 3 Das Anschließen...3 3.1 Für die Nutzung der RS232 Schnittstelle... 3 3.2 Für die Nutzung der USB Schnittstelle... 3 4 Die Inbetriebnahme...3

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

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

Einrichten einer DFÜ-Verbindung per USB

Einrichten einer DFÜ-Verbindung per USB Einrichten einer DFÜ-Verbindung per USB Hier das U suchen Sie können das Palm Treo 750v-Smartphone und den Computer so einrichten, dass Sie das Smartphone als mobiles Modem verwenden und über ein USB-Synchronisierungskabel

Mehr

Aufrufen des Konfigurators über eine ISDN- Verbindung zur T-Eumex 628. Eine neue ISDN-Verbindung unter Windows XP einrichten

Aufrufen des Konfigurators über eine ISDN- Verbindung zur T-Eumex 628. Eine neue ISDN-Verbindung unter Windows XP einrichten Aufrufen des Konfigurators über eine ISDN- Verbindung zur T-Eumex 628 Alternativ zur Verbindung über USB können Sie den Konfigurator der T -Eumex 628 auch über eine ISDN-Verbindung aufrufen. Sie benötigen

Mehr

Wie verbindet man Nokia 6600 mit Oxygen Phone Manager II for Symbian OS phones ( http://www.opm-2.com/symbian/ )

Wie verbindet man Nokia 6600 mit Oxygen Phone Manager II for Symbian OS phones ( http://www.opm-2.com/symbian/ ) Wie verbindet man Nokia 6600 mit Oxygen Phone Manager II for Symbian OS phones ( http://www.opm-2.com/symbian/ ) Falls Sie Ihr Telefon mit dem Rechner paarsweise schon verbunden haben, bitte sehen Sie

Mehr

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice easyident Türöffner Art. Nr. FS-0007 Wir freuen uns, das sie sich für unser Produkt easyident Türöffner, mit Transponder Technologie entschieden haben. Easyident Türöffner ist für Unterputzmontage in 55mm

Mehr

STRATO Mail Einrichtung Mozilla Thunderbird

STRATO Mail Einrichtung Mozilla Thunderbird STRATO Mail Einrichtung Mozilla Thunderbird Einrichtung Ihrer E-Mail Adresse bei STRATO Willkommen bei STRATO! Wir freuen uns, Sie als Kunden begrüßen zu dürfen. Mit der folgenden Anleitung möchten wir

Mehr

Informatik 1 Tutorial

Informatik 1 Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

LPT1 Anschluss mit PCMCIA Karte

LPT1 Anschluss mit PCMCIA Karte 1. Allgemeines LPT1 Anschluss mit PCMCIA Karte verwendete Hardware: Lenze PC Systembusadapter EMF 2173-V003 PCMCIA Karte Firma QUATECH Typ SPP-100 Auf die Installation der PCMCIA Karte wird hier nicht

Mehr

Der SD-Kartenslot befindet sich an der rechten Gehäuseseite unterhalb der rechteckigen hellgrauen Gummiabdeckung.

Der SD-Kartenslot befindet sich an der rechten Gehäuseseite unterhalb der rechteckigen hellgrauen Gummiabdeckung. 1.1 Steckplatz für eine SD-Karte zur Datensicherung 1.2 Verwenden Sie eine SD-Karte zur Datensicherung Ihrer aktuellen Programmierung und die Berichte. Sollte die Kasse einmal einen technischen Defekt

Mehr

Integrated Services Realtime Remote Network

Integrated Services Realtime Remote Network Integrated Services Realtime Remote Network How to CEyeClon Viewer V2 HT-A-003-V2-DE-2013-02-17-TZ-TZ CEyeClon AG Reitschulstrasse 5 2502 Biel / Bienne info@ceyeclon.com www.ceyeclon.com CEyeClon AG, Biel

Mehr

Medea3 Print-Client (m3_print)

Medea3 Print-Client (m3_print) Medea3 Print-Client (m3_print) Installationsanleitung Installationsanleitung m3_print.exe...2 1. Installieren von Ghostskript und Ghostview...2 1. Ghostskript...2 2. Ghostview...3 2. Kopieren des Print-Client-Programms...6

Mehr

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! 9 TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE! An den SeniorNETclub 50+ Währinger Str. 57/7 1090 Wien Und zwar gleich in doppelter Hinsicht:!"Beantworten Sie die folgenden Fragen und vertiefen Sie damit Ihr

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

Mehr

MODBUS - DDE - Treiber

MODBUS - DDE - Treiber Dokumentation MODBUS - DDE - Treiber 6 Slaves (je 2*32 Worte & 2*32 Bits) Version 1.00 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 2 2 Allgemeines zum MODBUS - DDE - Treiber 3 3 Projektverwaltung 4 4 Einstellung

Mehr

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand 29.06.11

Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt. T-Systems International GmbH. Version 1.0 Stand 29.06.11 Verschlüsseln von Dateien mit Hilfe einer TCOS-Smartcard per Truecrypt T-Systems International GmbH Version 1.0 Stand 29.06.11 Impressum Herausgeber T-Systems International GmbH Untere Industriestraße

Mehr

Password Depot für ios

Password Depot für ios Password Depot für ios Inhaltsverzeichnis Erste Schritte... 1 Kennwörterdatei erstellen... 1 Neue Einträge erstellen... 3 Einträge / Gruppen hinzufügen... 3 Einträge / Gruppen kopieren oder verschieben...

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

Bekannte Effekte bei Soft- und Hardware der ESTEC Datenlogger sowie der PC Auswertesoftware

Bekannte Effekte bei Soft- und Hardware der ESTEC Datenlogger sowie der PC Auswertesoftware Bekannte Effekte bei Soft- und Hardware der ESTEC Datenlogger sowie der PC Auswertesoftware Inhaltsverzeichnis 1 Datenlogger Hardware...2 1.1 Revision: 1.32...2 1.2 Revision: 1.31...2 1.3 Revision: 1.30...2

Mehr

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich Seite 1 von 10 CU-R-CONTROL Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32 Autor: Christian Ulrich Datum: 08.12.2007 Version: 1.00 Seite 2 von 10 Inhalt Historie

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Anleitung zur Installation des Printservers

Anleitung zur Installation des Printservers Anleitung zur Installation des Printservers 1. Greifen Sie per Webbrowser auf die Konfiguration des DIR-320 zu. Die Standard Adresse ist http://192.168.0.1. 2. Im Auslieferungszustand ist auf die Konfiguration

Mehr

Der neue persönliche Bereich/die CommSy-Leiste

Der neue persönliche Bereich/die CommSy-Leiste Der neue persönliche Bereich/die CommSy-Leiste Mit der neue CommSy-Version wurde auch der persönliche Bereich umstrukturiert. Sie finden all Ihre persönlichen Dokumente jetzt in Ihrer CommSy-Leiste. Ein

Mehr

Installation LehrerConsole (für Version 6.2)

Installation LehrerConsole (für Version 6.2) Dr. Kaiser Systemhaus GmbH Köpenicker Straße 325 12555 Berlin Telefon: (0 30) 65 76 22 36 Telefax: (0 30) 65 76 22 38 E-Mail: info@dr-kaiser.de Internet: www.dr-kaiser.de Installation LehrerConsole (für

Mehr

Tipps und Tricks zu den Updates

Tipps und Tricks zu den Updates Tipps und Tricks zu den Updates Grundsätzlich können Sie Updates immer auf 2 Wegen herunterladen, zum einen direkt über unsere Internetseite, zum anderen aus unserer email zu einem aktuellen Update. Wenn

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Massenversand Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Massenversand Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Massenversand Massenversand Seite 1 Massenversand Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. STAMMDATEN FÜR DEN MASSENVERSAND 4 2.1 ALLGEMEINE STAMMDATEN 4 2.2

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

Allgemeine Anleitung Treiber für CP2102

Allgemeine Anleitung Treiber für CP2102 Allg. Anleitungen CP2102 Seite 1 / 12 Allgemeine Anleitung Treiber für CP2102 Inhaltsverzeichnis 1 ALLGEMEINES ZUM USB-UART-UMSETZER (CP2102)...3 2 ERSTELLEN EIGENER USB-TREIBER...3 3 ÄNDERN DER PRODUCT-ID...7

Mehr

Bedienungsanleitung Programmiersoftware Save `n carry PLUS. Inhaltsangabe

Bedienungsanleitung Programmiersoftware Save `n carry PLUS. Inhaltsangabe Bedienungsanleitung Programmiersoftware Save `n carry PLUS Mit der Programmiersoftware Save `n carry PLUS lassen sich für die Schaltcomputer SC 08 und SC 88; SC 98 einfach und schnell Schaltprogramme erstellen

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Wie Sie mit Mastern arbeiten

Wie Sie mit Mastern arbeiten Wie Sie mit Mastern arbeiten Was ist ein Master? Einer der großen Vorteile von EDV besteht darin, dass Ihnen der Rechner Arbeit abnimmt. Diesen Vorteil sollten sie nutzen, wo immer es geht. In PowerPoint

Mehr

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten. 1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Bereich METIS (Texte im Internet) Zählmarkenrecherche Bereich METIS (Texte im Internet) Zählmarkenrecherche Über die Zählmarkenrecherche kann man nach der Eingabe des Privaten Identifikationscodes einer bestimmten Zählmarke, 1. Informationen zu dieser Zählmarke

Mehr

104 WebUntis -Dokumentation

104 WebUntis -Dokumentation 104 WebUntis -Dokumentation 4.1.9.2 Das elektronische Klassenbuch im Betrieb Lehrer Aufruf Melden Sie sich mit Ihrem Benutzernamen und Ihrem Passwort am System an. Unter den aktuellen Tagesmeldungen erscheint

Mehr