1 / 12

Microcontroller Programmeren in C

Microcontroller Programmeren in C. MICPRG Les1. Werkvormen MICPRG. MICPRG-co1 + MICPRG-pr1 = 84 SBU. 14 uur theorie . 14 uur practicum. 14 uur toets + voorbereiding 42 uur zelfstudie = 6 uur /week zelfstudie ! Toets : Theorie :

chesmu
Download Presentation

Microcontroller Programmeren in C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microcontroller Programmeren in C MICPRG Les1

  2. Werkvormen MICPRG • MICPRG-co1 + MICPRG-pr1 = 84 SBU. • 14 uurtheorie. • 14 uur practicum. • 14 uurtoets + voorbereiding • 42 uurzelfstudie = 6 uur/week zelfstudie! • Toets: • Theorie: • Schriftelijketoets met open vragenbeoordeeld met cijfer. • Je mag gebruikmaken van al het studiematriaal + eigenaantekeningen. • Practicum: • 6 opdrachtenbeoordeeld met Voldoende/Onvoldoende. • Aanwezigheidverplicht.

  3. 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).

  4. 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

  5. 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 editievanAl Kelley en IraPohl. • Ontwikkelomgeving: • AVR Studio 4 met WinAVRplugin en simulator plugin. • STK 500 bord met JTAGICE mkII of Dragon.

  6. 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… • ...

  7. 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

  8. Timer/Counter0, 1 en 2 ADC CPU USART Port A Port C Port D Port B ATmega32 Blok diagram • Belangrijksteonderdelen die behandeldworden: PC6-PC7 PD4-PD7 PD0-PD1 PA0-PA7 PB0-PB1

  9. 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.

  10. 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. MICPRG = Naked C

  11. Naked C Voorbeeld

  12. 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. Programma #include <avr/io.h> #include<stdint.h> #include<util/delay.h> voidwait(void) { uint8_t i; for(i = 0; i < 10; ++i) _delay_ms(25); } intmain(void) { voidwait(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; }

More Related