Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdLouisa Martens Laatst gewijzigd meer dan 10 jaar geleden
1
Microcontrollers 8051 based microcontroller
ADuC832 from Analog Devices 12/2011 Roggemans M. (MGM)
2
LES 1 Doelstellingen: situering vak, afspraken labo en evaluatie toelichten concept embedded oplossing probleem blokdiagramma computersysteem wat is een microcontroller? hoe ziet een basis 8051 er uit ADuC mogelijkheden en blokdiagramma memorymap 8051/ADuC832 MOV instructies (inwendige adressering)
3
Situering van het vak Embedded systemen Hardware georiënteerd
Basis automatisering Basis voor PLC Specifieke uitwerking onderdeel computersystemen Manier van denken
4
Afspraken Labo Microcontrollers
Aanwezigheid niet verplicht Passieve aanwezigheid verboden Actieve participatie verplicht Misbruik infrastructuur verboden: niet eten of drinken in labo respect voor apparatuur Stiptheid verplicht!!
5
Cursusmateriaal Nederlandstalige cursus:
thuis lezen als herhaling/voorbereiding les (min 5X) ADuC_condensed (onmisbaar in labo) Stick: bevat info van telescript (onmisbaar in labo) bevat eigen programma’s (onmisbaar in labo) ADuC microcontroller kit met kabel (onmisbaar in labo) Slides (PPT) (beknopte versie cursus) (onmisbaar in labo)
6
Evaluatie GEEN permanente evaluatie:
lessen zijn er om te oefenen en vragen te stellen Open boek examen (praktische opgave): vak kan je enkel leren door te doen!!! vak vraagt zekere incubatietijd!!! blok en examenperiode onvoldoende tijd!!! Je mag op het examen alles gebruiken behalve communicatiemiddel of laptop
7
Examenverloop en quotering
Opgave beschikbaar op papier (moet je afgeven) Je moet op de PC’s van het labo werken Examen duurt 1,5u Puntenverdeling: Flowchart (5/20) (DIGITALE BEOORDELING) Werkt het programma 100% (5/20) (DIGITALE BEOORDELING) Programma (10/20) (ANALOGE BEOORDELING)
8
Concept embedded oplossing probleem
9
Concept embedded oplossing probleem
Universele hardware Relatie tussen input en output : eenvoudig aanpasbaar (software=programma) kan afhankelijk zijn van input en output (adaptief(remmen voertuig)) kan gebaseerd zijn op ervaringsgegevens (FUZZY) is aanpasbaar nadat product verkocht is (firmware upgrade) aanpasbaar aan voorkeuren gebruiker
10
Blokdiagramma computersysteem
11
Wat is een microcontroller?
12
Voordelen microcontroller (t.o.v. discrete computer)
Slechts enkele componenten: eenvoudige PCB weinig kans op hardware fouten betrouwbaar low cost kleine afmetingen Nadeel microcontroller (t.o.v. discrete computer): minder flexibel (je koopt een totaal pakket, maar er is wel veel keuze) minder rekenkracht/geheugen
13
Basis 8051
16
Memory map 8051
18
Memory map 8051 (ADuC832) General Purpose Registers
19
Memory map 8051 (ADuC) Onderste 128 GPR’s
20
Memory map 8051 (XC888) SFR’s “oude” 8051
21
Memory- map (ADuC832)
22
Memory- map (ADuC832)
23
Memory map ADuC832 256 bytes registers
24
De MOV instructies Mnemonic OP-CODE Uitvoeringssnelheid
Symbolische werking
25
Alle MOV instructies (tussen registers met 8 bit getallen)
26
LES 2 Doelstellingen: Testen en verdelen van de hardware
Verkennen van de IDE (Integrated design environment) en WSD software Overlopen schema’s ADuC bord maken programma’s (via sjabloon): schakelaars naar LED’s knipperlicht zonder tijdsvertraging (basis uitvoeringstijd instructies) knipperlicht vaste snelheid (met delaya0k05s) knipperlicht variabele snelheid (met delaya0k05s) looplicht variabele snelheid (rotate instucties) Knight rider (herhaald gebruik rotate instructies)
27
Hardware ADuC bord
31
ADuC832 poorten
32
Les 3 Doelstellingen: MOVX en MOVC
looplicht via tabel (DJNZ, CJNE, DB, DPTR) gebruik van de drivers voor: LCD SIO Arithmetic
33
MOVC & MOVX
34
DPTR instructies
35
DJNZ of lussen tellen
36
CJNE of getallen testen
37
ADuCEZ ; LCD interace ; initlcd klaar zetten LCD voor gebruik ; lcdoutchar schrijven van ascii code (accu=input) ; lcdoutbyte schrijven hex waarde accu naar LCD ; lcdoutnib afdrukken 4 laagste bits accu op LCD ; lcdoutmsga afdrukken ascii tot 000h code De reële adressen +80h Voor gebruik met driver: 00 wordt 80h, 01 wordt 81h,…
38
ADuCEZ ; Seriële interface ; initsio klaar zetten seriële poort 9600 baud ; siooutchar afdrukken ascii code (accu=input) ; siooutbyte afdrkken getal in accu ; siooutnib afdrukken 4 laagste bits accu ; siooutmsga afdrukken ascii tot 000h code ; sioinchar inlezen van 1 ascii code in de accu ; sioinbufa inlezen van ascii buffer vanaf adres strtbuf, max 20h karakters!
39
ADuCEZ ; Arithmetic: ; mul16 vermenigvuldigen 2 16 bit getallen ; mul32 vermenigvuldigen 2 32 bit getallen ; div16 delen 2 16 bit getallen ; div32 delen 2 32 bit getallen ; add16 optellen 2 16 bit getallen ; add32 optellen 2 32 bit getallen ; sub16 verschil 2 16 bit getallen ; sub32 verschil 2 32 bit getallen ; hexbcd8 omvormen 8 bit hex naar bcd ; hexbcd16 omvormen 16 bit hex naar bcd ; bcdhex8 omvormen 8 bit bcd naar hex ; bcdhex16 omvormen 16 bit bcd naar hex
40
ADuCEZ ; Diverse ; delaya0k05s tijdsvertraging (waarde in accu)*0,05s
41
Les 4 Doelstellingen talstelsels
basis wiskundige berekeningen (+,-,x,/, 8 en 16 bit, CY vlag) teller op LCD (een decimaal en een hex, stand dip-switches bij op tellen, een decimaal en een hex stand dip-switches er van aftrekken (4 tellers!!)) uurwerk in uu:mm:ss, met software delay
42
Talstelsels Getal=voorstelling!! Decimaal getal: Binair getal:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 waarde afhankelijk plaats getal Binair getal: 0, 1 waarde afhankelijk plaats getal
43
Talstelsels Hexadecimaal getal: BCD getal:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F waarde afhankelijk plaats getal FF BCD getal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 binair gecodeerd: 0000, 0001, 0010, 0011, ...
44
Talstelsels
45
Optelling
47
Verschil berekenen
48
INC en DEC
49
Vermenigvuldigen en delen
50
Les 5 Doelstellingen: Overlopen instructieset (adhv. CONDENSED) :
speciale “verplaats” instructies logische instructies (ANL, ORL, XRL) bit-instructies voorwaardelijke sprongen stack bij subroutines (LCALL, RET, PUSH en POP) Programma looplicht 1 uit 4 via functieschakelaars: contactdender overnamecontact
51
Basis stack werking
52
subroutine aanroepen
53
STACK bij CALL en RET
54
Les 6 Doelstellingen: principe AD omvorming mogelijkheden ADC ADuC832
Mogelijkheden DAC ADuC832 lezen potmeter lezen potmeter als voltmeter tussen 0-5v
55
ADC
56
ADC SAR
57
ADC sample and hold
58
ADC 1LSB 1LSB= Vref/(aantal schaaldelen) 5v/4096=0,001220703v
59
ADuC832 ADC Output formaat ADC
ADC SFR’s
60
ADuC832 ADC Optionele buffering voor externe signalen.
-beveiliging tegen overspanning -opvangen capacitieve load S&H
63
ADuC832 DAC
64
ADuC832 DAC
65
DAC SFR’s
66
Les 7 Afwerken alle vorige oefeningen Stellen van vragen
67
Les 8 Doelstellingen: Timers 0, 1 RTC (TIC) Oefening:
Afdrukken van een uurwerk in UU:MM:SS op LCD
68
Timers 0 & 1 OSC/12 C/T=0 C/T=1
69
Timers 0 & 1 OSC/12 C/T=0 C/T=1
70
T0 en T1 SFR’s
71
TMOD register
72
RTC (TIC) TIC SFR’s
73
TIMECON
74
Les 9 Doelstellingen: Uitleg interrupt op 8051 en generiek Belang van:
PUSH-POP uitvoeringstijd flowchart Oefening: knipperlicht op interrupt, teller LCD in hoofdprogramma teller lcd in interrupt, looplicht in hoofdprogramma Uitleggen hoe interrupt interval instelbaar
75
Interrupt
77
Interrupts Noodzakelijk wanneer hardware niet kan wachten op polling door CPU Wordt gegenereerd door hardware: timers, I/O pinnen, ADC, SIO, system,... Initialisatie nodig: hardware die interrupt zal genereren CPU Er moet een interruptroutine klaar staan
78
Mogelijke interrupt bronnen en -adressen
-Interrupts zijn HARDWARE GEBEURTENISSEN. -Een interrupt activeert een interruptroutine (indien ingeschakeld). -Een interruptroutine moet met een RETI afgesloten worden. -PUSH en POP kunnen noodzakelijk zijn. -Interruptroutines zijn beperkt in de tijd. -Bij meer dan een interruptbron zijn PRIORITEITEN belangrijk. -Overlappingen in het geheugen moeten vermeden worden.
79
Interrupt structuur
80
Standaard 8051 interrupt hardware
83
Les 10 Doelstellingen: Uitleg over stappenmotoren
Uitleg over DC motoren oefening met stappenmotor oefening met DC motor
84
Digitale output: stappen motoren
Interface Technieken
85
Digitale output: stappen motoren
Interface Technieken
86
Digitale output Interface Technieken
87
Digitale output Interface Technieken
88
Digitale output Interface Technieken
89
Digitale output Interface Technieken
90
Digitale output: current chopping
Interface Technieken
91
Digitale output (recirculatie)
Interface Technieken
92
Digitale output (braking)
Interface Technieken
93
Digitale output: full step aansturing
Interface Technieken
94
Digitale output: half step aansturing
Interface Technieken
95
Digitale output (microstepping0
Interface Technieken
96
Digitale output: microstepping
Interface Technieken
97
Digitale output: inductieve belasting
Interface Technieken
98
Les 11 Doelstellingen: Speciale mogelijkheden:
Fail safe werking Spanningsbewaking Software bewaking Snelheid processor wijzigen Low power mogelijkheden (hier generiek bespreken) Afwerken oefeningen vorige les
99
Fail safe werking: Systeem kan de fout ingaan door:
storingen in voedingsspanning spanningsbewaking overspanningsbeveiliging storingen in programmaverloop (externe of interne factoren) externe beinvloeding (EMC, EMI) eventuele bugs in code uitblijven van verwachte signalen (inputs) defect gaan van de hardware (heel duur om op te vangen) space, nucleaire toepassingen, ... Bewaking van de systeemklok
102
Snelheid processor aanpassen:
OSC: RC, XTAL, TTL-klok kunnen gekozen worden uit gamma aan mogelijkheden (toepassingsafhankelijk, wat is beschikbaar in systeem) PLL: aanpassen ingangsklok aan basisfrequentie hardware
103
PLLCON
104
Les 12 Doelstellingen: stellen van vragen afwerken van oefeningen
oplossen specifieke problemen
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.