Microcontroller Programmeren in C

Slides:



Advertisements
Verwante presentaties
Delen van apparatuur woensdag 21 maart Delen van apparatuur Wanneer is delen van apparatuur relevant ? Wanneer meerdere computers aanwezg zijn en.
Advertisements

informatica keuzevak in 4- en 5-havo
informatica keuzevak in 5- en 6-vwo

PROS2 Les 13 Programmeren en Software Engineering 2.
Objectgeoriënteerd Programmeren in C++

Elektrotechniek Elektrotechniek is een heel breed vakgebied.
Programmeren en Software Engineering 2

Data Acquisition & Control System
Serieel naar parallel omzetting

Embedded systemen Embedded software.
PROS2 Les 2 Programmeren en Software Engineering 2.
Jaar 1Jaar 2Jaar 3Jaar 4 Opleidingsprofiel Elektrotechniek De CarrièreDe Basis Afstuderen PropedeuseKern Stage EP1EP2EQ1EQ2ECS Minor ECNECA regulier Minor.
Programmeren en Software Engineering 2
gebouw applicaties binnen een gebouwbesturingssysteem
Moederbord en blu-ray.
Computers Door: Jelle Smits 3TG erste.
Algoritmen en Datastructuren (ALDAT)
How to build a robot Sander van Dijk Kunstmatige Intelligentie
De PC bestaat uit Systeemkast Monitor of beeldscherm


Kennismaking met de computerconfiguratie
PROS2 Les 12 Programmeren en Software Engineering 2.
MICPRG Les 12 Microcontroller Programmeren in C. 127 Real-time clock PC heeft een RTC Real-time Clock die de “time of day” bijhoudt. De RTC is voorzien.
Elektor Proton Robot RTC West-Vlaanderen 1 oktober 2013
Jaar 1Jaar 2Jaar 3Jaar 4 Opleidingsprofiel Elektrotechniek De CarrièreDe Basis Afstuderen PropedeuseKern Stage EP1EP2EQ1EQ2ECS Minor ECNECA regulier Minor.
Arduino project.
Gestructureerd programmeren in C
1 Device driver. 2 Hardware Operating Systeem Prog1Prog2 System calls/ API Device drivers Gebruiker afschermen van de hardware.
PROS2 Les 11 Programmeren en Software Engineering 2.
ADuC8xx MICROCONVERTER
Les 5 - onderwerpen Aansturen van vier 7-segment displays
Auteursomgeving voor Digitale Componenten
Over computers.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
PROS2 Les 14 Programmeren en Software Engineering 2.
HM-ES-th1 Les 1 Hardware/Software Codesign with SystemC.
Jaar 1Jaar 2Jaar 3Jaar 4 Opleidingsprofiel Elektrotechniek De CarrièreDe Basis Afstuderen PropedeuseKern Stage EP1EP2EQ1EQ2ECS Minor ECNECA regulier Minor.

PROS2 Les 7 Programmeren en Software Engineering 2.
PROS2 Les 6 Programmeren en Software Engineering 2.
Jaar 1Jaar 2Jaar 3Jaar 4 Opleidingsprofiel Elektrotechniek De CarrièreDe Basis Afstuderen PropedeuseKern Stage EP1EP2EQ1EQ2ECS Minor ECNECA regulier Minor.
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):


MICPRG Les 14 Microcontroller Programmeren in C. 153 Duurzaam AVR gebruik De AVR ATmega32A is de opvolger van de ATmega32. De A versie is ongeveer 40%
Welkom. inhoud presentatie wat is een Micro Mouse controller motoren sensoren hardware software voeding leerwinst.
Moederbord en blu-ray.
Jaar 1Jaar 2Jaar 3Jaar 4 Opleidingsprofiel Elektrotechniek De CarrièreDe Basis Afstuderen PropedeuseKern EP1EP2EQ1EQ2 2 × Minor ECNECA duaal Minor Kern.
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
Achterkant laptop. Zijkant laptop S-Video Poort Deze poort wordt gebruikt om de computer via een kabel aan de tv te koppelen. De S-video poort verdeeld.
Computertechniek 2 – ARM assembler Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1  programma draaien vanuit ROM.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Onderwerp: PIC assembler programmeren
tircms02-p les 1 Operating Systems practicum
Les 1: Zaterdag 10 mei 2014 Wim Peeters
Hoorcollege 1a Praktische zaken. Gameprogrammeren Doel van het vak: Games programmeren (de game loop, sprites, audio, physics, animatie…) Basisprogrammeertechnieken.
VPEMSY1, D3ECPT2 : ARM Assembler 1 Hogeschool Utrecht / Electrical Engineering & Design 1  Herhaling: CMP, CMN,
2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology Wouter van Ooijen Mail: Sheets.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag Een embedded systeem: ARM bord.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Embedded systemen Programmeren op de Arduino Les 5 analoge input en motoren.
Welkom bij de presentatie van de Cube of Life, gemaakt door Team Z.
Gameprogrammeren: Introductie
Presentatie Best Door F.W.Weeda.
Transcript van de presentatie:

Microcontroller Programmeren in C MICPRG Les1

Werkvormen MICPRG MICPRG-co1 + MICPRG-pr1 = 84 SBU. Toets: 14 uur theorie. 14 uur practicum. 14 uur toets + voorbereiding 42 uur zelfstudie = 6 uur/week zelfstudie! Toets: Theorie: Schriftelijke toets met open vragen beoordeeld met cijfer. Je mag gebruik maken van al het studiematriaal + eigen aantekeningen. Practicum: 6 opdrachten beoordeeld met Voldoende/Onvoldoende. Aanwezigheid verplicht.

Inhoud Toepassingen van microcontrollers. Embedded software voor microcontrollers in C. Uitsturen en inlezen van digitale signalen (parallelle I/O). Het maken van een tijdvertraging (timer). Na een bepaalde tijd herhalen van bepaalde acties (timer). Interrupts in C. Inlezen van analoge signalen (ADC). Tellen van pulsen (counter). Meten van pulsduur (input capture timer). Opwekken van pulsen (output compare en PWM timer). Seriële communicatie (UART). Datastructuren (struct), textfiles, datum en tijd in C. Gebruik van Flash en EEPROM. Duurzaam gebruik van een microcontroller (sleep modes).

Plaats in curriculum Bouwt verder op GESPRG en INLMIC. Voorbereiding voor OGOPRG. Wordt toegepast bij PROBAS (eindproject Basis). http://bd.eduweb.hhs.nl/semboek/2012/index.htm http://bd.eduweb.hhs.nl/semboek/2012/duaal.htm

Leermiddelen Blackboard MICPRG. http://bd.eduweb.hhs.nl/micprg: Sheets, handouts. Studiewijzer. Practicumopdrachten. Stukken theorie. Boeken: AVR - An Introductory Course van John Morton De programmeertaal C, 4de vernieuwde editie van Al Kelley en Ira Pohl. Ontwikkelomgeving: AVR Studio 4 met WinAVR plugin en simulator plugin. STK 500 bord met JTAGICE mkII of Dragon.

Microcontroller toepassingen Huis, tuin en keukenproducten: Magnetron, broodbakmachine, video, DVD speler, speelgoed, CV ketel enz... Medische apparatuur: MRI scanner, pacemaker, digitale thermometer, enz… Computer apparatuur: DVD drive, printer, modem enz... Land- en tuinbouw: Klimaatbeheersing, sorteermachine, weegschaal, koeherkennings- systeem enz... Auto: Motor management systeem, ABS, airbag, radio, route informatie- systeem enz... Verkeer: Stoplicht, overwegbeveiliging, flitspaal, enz... Energietechniek: Smart energy meter, smart grid, motorcontroller, enz… ...

ATmega32 Uitsturen en inlezen van digitale poorten. Het maken van een tijdvertraging (timer). Na een bepaalde tijd herhalen van bepaalde acties (timer). Interrupts in C. Inlezen van analoge signalen (ADC). Tellen van pulsen (counter). Meten van pulsduur (input capture timer). Opwekken van pulsen (output compare en PWM timer). Seriële communicatie (UART).

ATmega32 Blok diagram Belangrijkste onderdelen die behandeld worden: ADC CPU Timer/Counter 0, 1 en 2 USART PC6-PC7 PD4-PD7 PD0-PD1 PA0-PA7 PB0-PB1 Port A Port B Port C Port D

Voordelen C t.o.v. ASM Eenvoudiger te lezen en te begrijpen. Daardoor beter aan te passen en eenvoudiger uit te breiden. C programma’s voor de AVR kunnen eenvoudiger worden omgezet naar een C programma voor een andere microcontroller. Zeker als de microcontroller specifieke delen van het programma zijn "verborgen" in een aantal specifieke functies.

MICPRG = Naked C Geen operating systeem en geen run-time environment. (B.v. geen stdio.h.) Beperkte library AVR-libc. Beperkt datageheugen 2K Bytes RAM. Beperkt programma-geheugen 32K Bytes Flash.

Naked C Voorbeeld

Programma Bitn… voor beginners: Bitje veranderen: #include <avr/io.h> #include <stdint.h> #include <util/delay.h> void wait(void) { uint8_t i; for (i = 0; i < 10; ++i) _delay_ms(25); } int main(void) { void wait(void); uint8_t c1, c2, i; DDRB = 0xFF; while (1) { c1 = 0x80; c2 = 0x01; for (i = 0; i < 4; i++) { wait(); PORTB = ~(c1 | c2); c1 >>= 1; c2 <<= 1; return 0; Bitn… voor beginners: Bitje veranderen: Bitje setten. Bitje clearen. Bitje flippen. Meerdere bitjes veranderen. Bitje testen: Is het bitje 1? Is het bitje 0? Meerdere bitjes testen. Schuiven met bitjes. Maskers en patronen samenstellen door een 1 naar links te schuiven.