Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/2014-2015
Microcontroller Uit Wikipedia
“A microcontroller (sometimes abbreviated µC or uC) is a small
computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals.”
2
Relevantie De systeemingenieur is in staat systemen te bouwen met behulp van
complexe componenten. Sleutelcompetenties hierbij zijn het analyseren, selecteren,
configureren en programmeren van complexe componenten. Een microcontroller is een complexe digitale component die in vrijwel
elk apparaat dat wij dagelijks gebruiken aanwezig is. De belangrijkste ontwerpparameters zijn snelheid, geheugenbeslag en
energieconsumptie.
3
Relevantie In deze cursus worden de belangrijkste aspecten als interne opbouw,
organisatie en programmering van een microcontroller besproken. Teneinde een goed inzicht in de interne werking van een
microcontroller te verkrijgen wordt op assemblerniveau geprogrammeerd.
4
Onderwijs INLMIC-co1/pr1 – Microcontrollers Theorie Jesse op den Brouw 7x2 uur Eén toets, beoordeeld met cijfer 1 t/m 10 Practicum Harry Broeders 7x2 uur Beoordeeld met een O/V Totaal 84 SBU (3 EC) 5
Waar in de opleiding? Voltijd Jaar 2, blok 1 Voorgaande vakken: INLDIG, DIGSE1, DIGSE2, GESPRG Gevolgd door: MICPRG Duaal Jaar 3, blok 1 Voorgaande vakken: INLDIG, DIGSE1, DIGSE2, GESPRG Gevolgd door: MICPRG
6
Leerdoelen Na deze onderwijseenheid kan de student:
een eenvoudig microcontrollersysteem analyseren en configureren. uit een eenvoudige specificatie een algoritme opstellen. eenvoudige algoritmes vertalen in een assembly-programma. eenvoudige programma’s verifiëren door simulatie. eenvoudige programma’s verifiëren door demonstratie op een ontwikkelboard.
7
Keuze microcontroller Gekozen is voor de ATmega32(A) van de firma Atmel Eenvoudig om te leren en te gebruiken Wordt zeer veel in de praktijk gebruikt Veel te vinden op internet Goede en goedkope ontwikkelomgeving voor studenten Ontwikkelomgeving Goede IDE met assembler GNU C/C++ compiler Goedkope debug/tracer
8
Boek The AVR Microcontroller and Embedded Systems;
Using Assembler and C Paperback 744 pagina's Pearson Education ISBN10: 1292042567 ISBN13: 978-1-29204-256-5 Let goed op: internationale editie, paperback € 86,- bij bol.com Wordt ook gebruikt bij MICPRG 9
Alternatieve boeken Er zijn enkele alternatieven
Embedded System Design With The Atmel Avr Microcontroller (Engels, C) Programming and Customizing the Avr Microcontroller (Engels, gedateerd) AVR, hardware en C-programmering in de praktijk (Nederlands, C) AVR-microcontrollers (Nederlands, gedateerd, assembler, weinig info) Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie (Duits, C en assembler, volledig) AVR – An Introductionary Course (Engels, assembler, gedateerd, niet volledig),
10
Week 1 Introductie microcontroller Wat is een computersysteem? Wat is een microcontroller? Typen processoren Opbouw van een microcontroller ALU Registers Multiplexers H1S1, H1S2, H1S3 (tm p20), H1S4 11
Week 2 Opbouw ATmega32 controller Registers Algemeen, IR, PC, SP, flags, statusregister Verwerking instructies Ophalen instructies, decoderen, uitvoeren Typen geheugen Registers, I/O, SRAM, Flash, eeprom Geheugenmap
H2S1, H2S2, H3S1, H3S2, H3S4, H3S8
12
Week 2 – vervolg Instructies Typen instructies Operands
H2S1, H2S2, H3S1, H3S2, H3S4, H3S8
13
Week 3 Addressing modes Voorbeelden assemblerprogramma’s Port I/O Lussen, vergelijken en beslissingen
H3S3, H3S5, H3S6, H3S7, H4S1, (H4S2), H4S3,
H5S1, H5S2, H6S1, H6S2, H6S3, H6S4, (H4S8) 14
Week 4 Stack Subroutine Parameteroverdracht Wachtlussen
H4S2, H4S3, sheets
15
Week 5 Interrupt Timer
H11S1, H11S3, H11S4,
H10S1 (tm p331), H10S2, H11S2 16
Week 6 C en assembler Simpele variabelen Pointer, array’s Beslissen Lussen (while, for, do-while) Functies H8S1 (tm p260), sheets
17
Week 7 Uitloop Bespreking proeftoets
18
Practicum Docent: Harry Broeders Aanwezigheid verplicht Beoordeling voldoende/onvoldoende Practicumkaart Voor het practicum stof bestuderen/programma ontwerpen
19
Practicum Week 1:
tutorial
Week 2:
fouten opsporen, werking programma uitleggen
Week 3:
eenvoudig programma, zoek grootste getal
Week 4:
eenvoudig programma met I/O
Week 5:
stack, subroutines
Week 6:
interrupts, Timer/Counter 0
Week 7:
uitloop 20
De Haagse Hogeschool, Delft 015-2606311
[email protected] www.dehaagsehogeschool.nl