De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Microcontrollers Theorie 8051 based microcontroller ADuC832 from Analog Devices 01/2016 Roggemans M. (MGM)

Verwante presentaties


Presentatie over: "Microcontrollers Theorie 8051 based microcontroller ADuC832 from Analog Devices 01/2016 Roggemans M. (MGM)"— Transcript van de presentatie:

1 Microcontrollers Theorie 8051 based microcontroller ADuC832 from Analog Devices 01/2016 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/Les Microcontrollers Aanwezigheid niet verplicht Passieve aanwezigheid verboden Actieve participatie verplicht Misbruik infrastructuur verboden: – niet eten of drinken in labo/les – respect voor apparatuur Stiptheid verplicht!!

5 Cursusmateriaal Beschikbaar via: – www.grog.be Nederlandstalige cursus (optioneel): – Thuis lezen als herhaling/voorbereiding les (min 5X) – ftp://telescript.thomasmore.be/pub/CD- Microcontrollers/8051/ADuC800V2/ Alle materiaal met betrekking op labo (software, documentatie, oef) ADuC_condensed (onmisbaar in labo en lessen) – TOLEDO ADuC_20xx_labo (bevat uitleg over labo opgaven onmisbaar in labo) ADuC_20xx_theorie (beknopte versie cursus onmisbaar in de les) Stick (minimaal 100MB) : – bevat info van telescript (onmisbaar in labo) – bevat eigen programma’s (onmisbaar in labo) ADuC microcontroller kit (onmisbaar in labo) met kabel (thuis)

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 (laptop, GSM, tablet,…lichtsignalen, geluidsgolven,…)

7 Examenverloop en quotering Opgave beschikbaar op papier (moet je afgeven) Je moet op de PC’s van het labo werken Examen duurt 1u en 30 minuten Puntenverdeling: Flowchart (5/20) (DIGITALE BEOORDELING) Werkt het programma 100% (5/20) (DIGITALE BEOORDELING) Programma (10/20) (ANALOGE BEOORDELING)

8 Waarom programmeerbare bouwstenen gebruiken? 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 Microcontroller - PLC - Regelaar Procescomputer – Controller -…

9 Blokdiagramma computersysteem

10 Basis 8051

11

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

14 Memory map 8051

15

16 Memory map 8051 (ADuC832) General Purpose Registers

17 Memory map 8051 (ADuC) Onderste 128 GPR’s

18 Memory map 8051 (XC888) SFR’s “oude” 8051

19 Memory- map 8051 (ADuC832)

20

21 Memory map ADuC832 256 bytes registers Optioneel RAM (niet gebruikt) MOVC A,@A+DPTR

22 De MOV instructies Mnemonic OP-CODEUitvoeringssnelheid Symbolische werking

23 Alle MOV instructies (tussen registers met 8 bit getallen)

24 LES 2 Doelstellingen: – Overlopen schema’s ADuC bord – ADuC poorten – looplicht via tabel: DB MOVX, MOVC en DPTR DJNZ CJNE

25

26

27

28

29

30 ADuC832 poorten

31 Tabel aanmaken/uitlezen Waar? In FLASH geheugen (ROM) Hoe? Na DB (Define Byte) in programma VB: ljmplus;programma sluiten met lus Jef:db11111110b;eerste waarde in tabel db11111101b;tweede waarde in tabel … db01111111b;laatste waarde in tabel #include“c:\aducezx.inc”; x afhankelijk gebruikte bord

32 Tabel aanmaken/uitlezen Hoe aangeven in programma waar tabel in geheugen zit? Jef: = adres eerste byte in tabel in geheugen = label in programma Hoe Flash lezen? movc a,@a+dptr ;lees uit code geheugen naar de accu dptr=DPTR= pointer die 16 bit adres moet bevatten jef: =16 bit adres in geheugen = label in programma a? Voor de instructie ongekende waarde  eerst op 0 zetten mov dptr,#jef ;16 bit adres tabel in dptr laden mov a,#00h ;eerst accu=0 mov a,@a+dptr ; mov a,@0+dptr = steek in accu wat er op adres in dptr staat Na de instructie bevat a de waarde uit de tabel (in vb = 11111110b)

33 MOVC & MOVX

34 DPTR instructies

35 DJNZ of lussen tellen

36 CJNE of getallen testen

37 Les 3 Doelstellingen: – gebruik van de drivers voor: LCD Arithmetic – talstelsels – basis wiskundige berekeningen (+,-,x,/, 8 en 16 bit, CY vlag)

38 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 string @dptr, tot 000h code De reële adressen +80h Voor gebruik met driver: 00 wordt 80h, 01 wordt 81h,…

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 ; getadc lees spanning op analoge input ; getadcmeet de spanning op de analoge input waarvan het nummer in de accu (a) ; staat. ; ; input:accu= te meten kanaalnummer (00h-0Fh) ; output:accu= 8 bit meetresultaat ; gebruikt: accu

41 Talstelsels Getal=voorstelling!! Decimaal getal: – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – waarde afhankelijk plaats getal 123 1 2 3 Binair getal: – 0, 1 – waarde afhankelijk plaats getal 1001 1 0 0 1

42 Talstelsels Hexadecimaal 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,...

43 Talstelsels

44 Optelling

45

46 Verschil berekenen

47 INC en DEC

48 Vermenigvuldigen en delen

49 Les 4 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)

50 Basis stack werking

51 subroutine aanroepen

52 Les 5 Doelstellingen: – principe AD omvorming – mogelijkheden ADC ADuC832 – Mogelijkheden DAC ADuC832 – Timers 0, 1 – RTC (TIC)

53 ADC

54 ADC SAR

55 ADC sample and hold

56 ADC 1LSB 1LSB= Vref/(aantal schaaldelen) 5v/256=0,01953125…..v

57 Gebruik getadc getadc is een functie: lcallgetadc;roep functie op getadc verwacht input parameter mova,#xx;xx=06h voor LM335 (10mV/K) ;xx=07h voor potmeter (0-5v) lcallgetadc;roep functie op getadc geeft resultaat terug na lcall getadc bevat accu 8 bit meetresultaat: 00h=0v  ffh=4,980v ((5/256)x255)

58 ADuC832 ADC Optionele buffering voor externe signalen. -beveiliging tegen overspanning -opvangen capacitieve load S&H

59 ADuC832 DAC

60

61 Timers 0 & 1 OSC /12 C/T=0 C/T=1

62 Timers 0 & 1 OSC /12 C/T=0 C/T=1

63 RTC (TIC) TIC SFR’s

64 TIMECON

65 Les 6 Doelstellingen: – Uitleg interrupt op 8051 en generiek – Belang van: PUSH-POP uitvoeringstijd flowchart – Uitleggen hoe interrupt interval instelbaar – Uitleg over stappenmotoren – Uitleg over DC motoren

66 Interrupt

67

68 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

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

70 Interrupt structuur

71 Standaard 8051 interrupt hardware

72

73

74 Interface Technieken74 Digitale output: stappen motoren

75 Interface Technieken75 Digitale output: stappen motoren

76 Interface Technieken76 Digitale output

77 Interface Technieken77 Digitale output

78 Interface Technieken78 Digitale output

79 Interface Technieken79 Digitale output

80 Interface Technieken80 Digitale output: current chopping

81 Interface Technieken81 Digitale output (recirculatie)

82 Interface Technieken82 Digitale output (braking)

83 Interface Technieken83 Digitale output: full step aansturing

84 Interface Technieken84 Digitale output: half step aansturing

85 Interface Technieken85 Digitale output (microstepping0

86 Interface Technieken86 Digitale output: inductieve belasting

87 Einde. Vragen?


Download ppt "Microcontrollers Theorie 8051 based microcontroller ADuC832 from Analog Devices 01/2016 Roggemans M. (MGM)"

Verwante presentaties


Ads door Google