Introductie - Digitale Systemen

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