PROS2 Les1 Programmeren en Software Engineering 2
PROS2 Les1
Programmeren en Software Engineering 2
2
Werkvormen PROS2PROS2T1 + PROS2P1 = 84 SBU.
14 uur theorie.14 uur practicum.56 uur zelfstudie = 7 uur/week zelfstudie!
Toets:Mondelinge toets in week 8 en/of 9 van dit
kwartaal (van 14 april t/m 24 april 2009).Vrijstelling van het mondeling als alle
practicumopgaven op tijd met een voldoende zijn afgesloten.
Wordt beoordeeld met Voldoende/Onvoldoende.
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). Combineren van C en assembler. Gebruik van de library AVR libc.
4
Plaats in curriculumBouwt verder op PROS1 en COMIC.Voorbereiding voor PROS3, OPSYS, DISE3.Ondersteunend bij EPRO3 (project
beertender).
http://bd.thrijswijk.nl/semboek/2008/index.htm
5
Leermiddelen Blackboard PROS2. http://bd.thrijswijk.nl/pros2:
Sheets, handouts. Studiewijzer. Practicumopdrachten. Stukken theorie.
Boeken: AVR - An Introductory Course van John Morton De taal C van PSD tot C programma van Daryl McAllister.
Ontwikkelomgeving: AVR Studio met WinAVR plugin en simulator plugin. EPRO1 bordje.
6
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...
Verkeer: Stoplicht, overwegbeveiliging, flitspaal, enz...
Auto: Motor management systeem, ABS, airbag, radio, route informatie-
systeem enz... ...
Microcontroller toepassingen
7
ATmega16 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).
8
ATmega16 Blok diagramBelangrijkste onderdelen die behandeld
worden:
Port A Port C Port DPort B
ADC Timer/Counter0, 1 en 2
CPU USART
PD0-PD1PA0-PA7 PB0-PB1PC6-PC7 PD4-PD7
9
Voordelen C t.o.v. ASMEenvoudiger 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
PROS2 = Naked C Geen operating
systeem en geen run-time environment. (B.v. geen stdio.h.)
Beperkte library AVR-libc.
Beperkt datageheugen 1K Bytes RAM.
Beperkt programma-geheugen 16K Bytes Flash.
11
Naked C Voorbeeld
12
Programma 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.