Mikrocontroller in eigenen Hobbyprojekten nutzen



Ähnliche Dokumente
Mikrocontroller Grundlagen. Markus Koch April 2011

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

Einführung in die Welt der Microcontroller

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

PICkit 2 / 3. Programmierung mit dem USB-Programmer PICkit2 bzw. PICkit3 (Microchip) AB

PicKit 3. Programmierung mit dem USB-Programmer PICkit3 (Microchip) AB

Einführung in die Microchip PIC-Controller vergleichende Betrachtung zu anderen Microcontrollern CLUG Matthias Kupfer

Mikrocontroller von Markus Koch April 2011

Teil I: Wat isse ne Mikrokontroller?

Microcontroller Programmierung. Ein PDV-Vertiefungsprojekt von: Chr. Schulz, P. Simon und D. Stein Sommersemester 2005 Version 1.0

SU Egerlandstr. 24a, Moosburg 08761/4245 oder 63708, FAX Vorteile der Cartridges

Was ist Arduino? Historie Der Kern Entwicklungsumgebung Hardware Software Und wozu das Ganze? Workshop Mikrorechner 2012 A.

Steuern, Messen, Regeln - mit Mikrocontrollern im Eigenbau

Eclipse. für die kleinen Dinge des (modernen) Lebens

TBE332 Controller. Produktbeschreibung

POB-Technology Dokumentation. POB-Technology Produkte. Deutsche Übersetzung von roboter-teile.de Alle Rechte vorbehalten Seite 1 von 13

Inbetriebnahme grabbmodul-1 / minimodul-16x bzw. smarteye-1

Praktikum Mikrocomputertechnik

ATMega2560Controllerboard

Das Pollin Atmel Evaluationboard Ver unter Verwendung von MyAVR_Prog Tool und der Arduino IDE ein Kurztutorial

8.1 Grundsätzlicher Aufbau der Beispiele

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Die Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

Grundlagen der Programmierung II BMI Bakk.

Tickt ihr Board noch richtig? Frequenzmessung durch ChipVORX als Ergänzung zum Boundary Scan Test. Dipl.-Ing. (FH) Martin Borowski

Basisanforderungen: EVA-Prinzips. Erweiterte Anforderungen: wirtschaftlichen und privaten Alltag.

Messtechnik zum I2C-Bus

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

Installation und Inbetriebnahme von Microsoft Visual C Express

Übersicht und Dokumentation der Reset- Funktionen der IO CONNECT

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014

Assembler und Hochsprachen

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

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

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

Aufbauanleitung Wortwecker 135x135mm 2

Atmel AVR für Dummies

AVR-Mikrocontroller mit dem GCC programmieren

"Memory Stick" zur Programmierung der comfort 8+ Lichtsteuranlage mit PC Software "scenes editor"

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

Computergruppe Heimerdingen Basiskurs. Karlheinz Wanja & Richard Zeitler

Mikrocontroller - Schnelleinstieg

Einfache Computersteuerung für Modellbahnen

Regiometer. Bedienungsanleitung

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

HYPERCOM MEDHYBRID EINRICHTUNG UNTER TURBOMED

INES-Webserver. Damit gehen Ihre Geräte und Anlagen online. 1 Inhalt

Fortbildungsmodule >> Elektrotechnik. Modulpräzisierung zu Modul 22 >> µc. Teilmodul 22.1 Grundlagen µcontroller 8051

High Performance Datenerfassung Tests am Beispiel WEGA

Schnelleinstieg Visual Studio C/C#

Positionsbestimmung per Ultraschall

INFO BLATT. Das Handbediengerät fungiert als Dialog zwischen Mensch und Steuerung. Handbediengerät. Softwareausstattung SCP

HYPERCOM MEDHYBRID EINRICHTUNG UNTER DAMPSOFT

Bedienungs- & Installationsanleitung COMMPACT / COMMPACT Audio V2.0

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

HYPERCOM MEDHYBRID EINRICHTUNG UNTER CHREMASOFT

Bedienungsanleitung Programmiersoftware Save `n carry PLUS. Inhaltsangabe

Computer: PC. Informationstechnik für Luft-und Raumfahrt Aerospace Information Technology

Errata dspic-boards Fachbereich MDT TU-Berlin

5. PC-Architekturen und Bussysteme

C und C++ für Embedded Systems

Inbetriebnahme des Willem Programmers PCB5-E. Die Software GQUSBprg 0.98d6 Willem Enhanced / Dual Power Programmer PCB5.

Samsung Large Format Display

Berührungslose Datenerfassung. easyident-usb Stickreader. Art. Nr. FS-0012

Benutzung der LS-Miniscanner

Gforth EC auf dem NXT Brick

4D Server v12 64-bit Version BETA VERSION

Sensor board EB

Parallel-IO. Ports am ATmega128

PC-Software für Verbundwaage

Quanton Manual (de) Datum: URL: )

Entwicklungsboard 16F1824

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

mit SD-Karte SD-Karte Inhalt

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

MH - Gesellschaft für Hardware/Software mbh

StarterKit Embedded Control SC13 + DK51. From the electronic to the automation

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

XY-Plotter. Hardware. Software µp. Software PC. von Thomas Wagner

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger

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

LED DMX Modul MIDI / MAXI. Produktblatt Bestellnummer: /

14 Mee Controller Mee Controller Blockschaltbild Mee Controller Beschleunigungssensor. HSR Hochschule für Technik Rapperswil

Spannungsversorgung für Mikrocontroller-Schaltungen DH1AAD, Ingo Gerlach, , Ingo.Gerlach@onlinehome.de

Network Controller TCP/IP

Schaltungen Jörg Roth 197

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

Ergänzungen zum Manual OS V 2.05/2.06

Abhängig von Monitorgrösse und gewählter Auflösung können die Menueleisten etwas anders aussehen als in den Bildern dargestellt.

Installationsanleitung für das Touch Display: S170E1-01 LCD A170E1-T3 ChiMei - egalaxy


Tageslichtsimulator Easy Time Controll. Bedienungsanleitung

Es können nur Werte ausgelesen werden, Es kann -NICHT- geschaltet werden!!

Highspeedaufnahmen mit dem Arduino Uno Board

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

easyident Türöffner mit integriertem USB Interface

Vorbereitung des seriellen Kabels (RS232, 9-Pin)

Transkript:

PIC-Mikrocontroller Mikrocontroller in eigenen Hobbyprojekten nutzen - Mikrocontroller Definition und Historie - die PIC-Familie - Entwicklungssysteme - Programmierung - Softwareerstellung - Debugging Wulf Pompetzki OV Duisburg-Huckingen, L16 Mikrocontroller - Definition µcontroller, µc - Ein-Chip-Computersystem, das Prozessor, Speicher und Peripheriefunktionen auf einem Chip enthält. Anwendungen z.b. zur Steuerung von: - Waschmaschinen, - Radios, CD-Player - Spielzeuge, - Chip-Karten, - Fernbedienungen, Uhren, - Motorsteuerungen, Airbag-Systeme (Mittelklassewagen typ. ca. 30 Stück), - Computer Peripherie wie Tastatur (z.b. Intel 8048), Maus, Drucker etc., - Transceiver, elektronische Morsetasten, Automatiktuner. PIC-Controller 2 Seite 1

Mikrocontroller - Historie 1 Mikroprozessoren, µp ab 1971 (Intel 4004) gebaute ICs zum Aufbau von Mikrorechnern; Speicher und Peripherie müssen extern ergänzt werden, heute in Form von PCs weit verbreitet. Für kleine Gerätesteuerungen zu aufwändig und zu teuer. Amateurnutzung möglich, erfordert EPROM Programmierer Bsp.: mc EMUF - erschienen 1981, - Steuerrechner auf Europakarte, - CPU Rockwell R6504 - Preis ca. 100,- DM PIC-Controller 3 Mikrocontroller - Historie 2 Mikrocontroller ab Mitte der 70er-Jahre, meist als Weiterentwicklung eines µp, z.b. Rockwell R6502 zum R6511. Nutzung durch Amateure Zunächst nicht möglich, da Programmspeicher bei der Herstellung erzeugt wird - "maskenprogrammiert". Ab Mitte der 80er-Jahre dann aufwendige und teure Sonderlösungen wie integriertes EPROM oder "Piggyback". Erst Programmspeicher im EEPROM (erstmals 1993 im Microchip PIC16C84) oder später Flash erlauben einfache Programmierung. PIC-Controller 4 Seite 2

die PIC-Familie 1 "Urtyp" PIC1650 - Peripheral Interface Controller von General Instruments entwickelter 8-Bit Prozessor. Weiterentwicklung und Vermarktung durch Microchip Technology heute auch 16- (PIC24) und 32-Bit (PIC32) Versionen sowie spezielle dspic für die Signalverarbeitung. Besonderheiten der 8-Bit Versionen - getrennter Code- und Datenspeicher ("Harvard architecture"); - sehr kleiner Befehlsumfang (35 Befehle beim "Mid-Range Core"); - schnell (1 Befehlszyklus = 4 Takt-Zyklen = 200ns bei 20 MHz Takt); - nur 1 Akkumulator, aber: gesamtes RAM wie Register ansprechbar; - RAM und Peripherie in Banks organisiert; - Hardware Stack (8 Level); - Gehäuse 6 bis 64 Pins, vielfältige integrierte Peripherie (Timer, serielle Schnittstellen, A/D, D/A, PWM, I²C, SPI, CAN, USB, Ethernet); - XLP-Versionen für Low-Power (9 na Sleep, 30 µa/mhz). PIC-Controller 5 PIC 16F84A 18 Pins 13 I/O-Pins 1k Programm 68 Bytes RAM 64 EEPROM 13 I/O-Pins ICSP Befehl: movlw movwf 0x7C 0x05 0x307C 0x7C 0x001 0x000 movlw! 0x7C PIC-Controller 6 Seite 3

PIC 16F84A - Register Organisation - aufgeteilt auf 2 "Banks" - im unteren Bereich Ergebnis- und Steuerregister von Prozessor und Peripherie - im oberen Bereich RAM (in beiden Banks identisch) PIC-Controller 7 die PIC-Familie 4 PIC 16F84A - Gehäuse Beschaltung OSC1/CLKIN Taktgenerator - Quarz oder RC-Osz. / Eingang ext. Takt OSC2/CLKOUT Taktgenerator - Quarz-Osz. / Takt ext. Ausgabe MCLR Reset Eingang / Programmierspannung (RB6 / RB7 beim Programmieren Takt- bzw. Dateneingang) RA4/T0CKI Bi-directional I/O-Port / externer Eingang Timer Takt RB0/INT Bi-directional I/O-Port / externer Interrupt-Eingang RA0-3 Bi-directional I/O-Port RB1-7 Bi-directional I/O-Port V SS Masse V DD Versorgung 2,0 bis 5,5 Volt PIC-Controller 8 Seite 4

Entwicklungssysteme - Software 1 MPLAB IDE frei verfügbar, enthält: - Assembler, - Linker, - Simulator, - eingeschränkte C-Compiler, - Microchip Programmer und Debugger werden eingebunden. PIC-Controller 9 Entwicklungssysteme - Programmer 2 "Homebrew"-Programmer Diverse Schaltungen für serielle und parallele PC-Schnittstellen. Microchip PICStart Plus Programmer (ca. 180,- EUR, heute eher obsolet). PIC-Controller 10 Seite 5

Entwicklungssysteme - Debugger 3 Microchip USB-Programmer/Debugger - PICkit 2 Debug Express (35,- / 55,- EUR mit Demo-Board) - PICkit 3 Debug Express (43,- / 63,- EUR mit Demo-Board) - MPLAB ICD 3 (ca. 180,- EUR) PIC-Controller 11 Entwicklungssysteme - Demo Boards 4 Beispielprogramm auf MPLAB-ICD Demo Board Controller PIC16F877 RC-Oszillator (ca. 4 MHz) Beschaltung: 8 LEDs an RC0-7 1 Poti an RA0 1 Taster an RB0 Aufgabe: Poti-Stellung an LEDs anzeigen. PIC-Controller 12 Seite 6

Softwareerstellung 1 Hier in Assembler... Start org 0x000 ;Start am Reset Vector nop ;für Debugger bcf STATUS, RP0 ;Auswahl Bank0 clrf PORTC ;PORTC=B'00000000', LEDs aus movlw B'11000001' ;A/D Takt RCosc, A/D aktiv movwf ADCON0 bsf STATUS, RP0 ;Auswahl Bank1 movlw B'10000111' ;Timer0 Vorteiler 1:256 movwf OPTION_REG movwf TRISC ;PORTC alles Ausgänge movlw B'00001110' ;A/D linksbündig, 1 Kanal, movwf ADCON1 ;Versorgung als Referenz Main bcf STATUS, RP0 ;Auswahl Bank0 btfss INTCON,T0IF ;Warte auf Ablauf Timer0 goto Main bcf INTCON,T0IF PIC-Controller 13 bsf ADCON0,GO ;Starte A/D Wandler Softwareerstellung 2...oder in C möglich void main(void) { SysInit(); for (;;) { switch(nstate) { case ST_INIT: StateInitial(); break; case ST_VOLTMETER: StateVoltage(); break; case ST_TEMPERATURE: StateTemperature(); break; case ST_CLOCK: PIC-Controller 14 // System Initialization // Main Infinite loop // Depending on current state // Initialization State // Voltmeter Selection mode // Temperature Selection mode // Clock mode selection display StateClock(); break; } // Depending on current state (Main state machine) } // Main infinite loop } Seite 7

Debugging 1 In-Circuit Debugger - Fenster in den laufenden Controller erlaubt direkt in der Zielschaltung: - Programmierung - kontrollierter Betrieb in Echtzeit - Einblick in: -Register, - Speicher, - I/O-Anschlüsse - Manipulation des Programmablaufs a.) Platine mit Schnittstelle - Controller in der Zielschaltung b.) Platine ohne Schnittstelle - Controller auf Header-Board PIC-Controller 15 Debugging 2 Die IDE und der Hardware-Debugger unterstützen durch: - Programmierung und Fernsteuerung des Prozessors in der Zielschaltung - Start / Stopp / Einzelschrittbetrieb - Parallele Anzeige im Assembler - Echtzeit Anzeige/Änderung von Registern und Speicher PIC-Controller 16 Seite 8

Weiterführende Informationen www.microchip.com Datenbücher und -blätter, Entwicklungssysteme, englischsprachig. http://pic-projekte.de/wiki/ PIC-Projekte Wiki, gute Tutorials zu PIC und MPLAB IDE, deutschsprachig. www.sprut.de/electronic/pic/ Umfangreiche deutsche Infos zu PICs, Brenner, Projekte... www.suncol.de Lerneinheiten zum PIC 12F675, deutschsprachig. www.chemgapedia.de/vsengine/vlu/vsc/de/ch/11/cmt/vlus/pic_progr amm.vlu.html Tutorial zur PIC-Programmierung, gute Beschreibung der Befehle, deutschsprachig. PIC-Controller 17 Bezugsquellen www.reichelt.com Entwicklungssysteme, Controller PIC12/16/18/24/32/dsPIC (gute Auswahl). www.conrad.de Entwicklungssysteme, Controller PIC12/16/18/24 (Grundangebot). www.farnell.de bzw. www.hbe-berlin.de Entwicklungssysteme, Controller (sehr gute Auswahl), Verkauf an Privat nur über Fa. HBE. Preisbeispiele für einige 18-Pin Controller Reichelt Conrad Prg RAM EEP Timer Sonstiges 16F84A 4/20 2,20/3,15 6,73/8,64 1k 68 64 1 16F628A 1,75 1,98 2k 224 128 3 Osc/PWM 16F648A 2,30 2,98 4k 224 128 3 Osc/PWM 16F88 2,95 4,09 4k 368 256 3 Osc/PWM 16F1827 1,80-4k 368 256 5 Osc/PWM/ADC PIC-Controller 18 Seite 9