PROS2 Les1 Programmeren en Software Engineering 2.

12
PROS2 Les1 Programmeren en Software Engineering 2

Transcript of PROS2 Les1 Programmeren en Software Engineering 2.

Page 1: PROS2 Les1 Programmeren en Software Engineering 2.

PROS2 Les1

Programmeren en Software Engineering 2

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

Page 3: PROS2 Les1 Programmeren en Software Engineering 2.

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.

Page 4: PROS2 Les1 Programmeren en Software Engineering 2.

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

Page 5: PROS2 Les1 Programmeren en Software Engineering 2.

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.

Page 6: PROS2 Les1 Programmeren en Software Engineering 2.

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

Page 7: PROS2 Les1 Programmeren en Software Engineering 2.

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

Page 8: PROS2 Les1 Programmeren en Software Engineering 2.

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

Page 9: PROS2 Les1 Programmeren en Software Engineering 2.

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.

Page 10: PROS2 Les1 Programmeren en Software Engineering 2.

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.

Page 11: PROS2 Les1 Programmeren en Software Engineering 2.

11

Naked C Voorbeeld

Page 12: PROS2 Les1 Programmeren en Software Engineering 2.

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.