1 / 119

Microcontrollers

Microcontrollers. 8051 based microcontroller XC888 from I nfineon 08/2011 Roggemans M. (MGM). LES 1. Doelstellingen: s ituering vak, afspraken labo en evaluatie toelichten concept embedded oplossing probleem b lokdiagramma computersysteem w at is een microcontroller?

Download Presentation

Microcontrollers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microcontrollers 8051 based microcontroller XC888 from Infineon 08/2011 Roggemans M. (MGM)

  2. LES 1 • Doelstellingen: • situering vak, afspraken labo en evaluatie toelichten • concept embedded oplossing probleem • blokdiagrammacomputersysteem • wat is een microcontroller? • hoe ziet een basis 8051 er uit • XC888 mogelijkheden en blokdiagramma • memorymap8051/XC888 • MOV instructies (inwendige adressering)

  3. Situering van het vak • Embedded systemen • Hardware georienteerd • Hoort bij interfacetechnieken • Basis voor embedded systemen derde jaar • Basis voor “C” programmeren • Specifieke uitwerking onderdeel computersystemen

  4. Afspraken Labo Microcontrollers • Aanwezigheid nietverplicht • 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) • XC888 condensed (onmisbaar in labo) • Stick: • bevat info van telescript(onmisbaar in labo) • bevat eigen programma’s(onmisbaar in labo) • XC888 microcontroller kit met USB 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

  14. XC888

  15. XC888

  16. Memory map 8051 (XC888)

  17. XC888

  18. Memory map 8051 (XC888) General Purpose Registers

  19. Memory map 8051 (XC888) Onderste 128 GPR’s

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

  21. Memory map 8051 (XC888) SFR’s XC888

  22. Memory map 8051 (XC888)

  23. Effectieve geheugenkaart XC888

  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 Infineon FLOAT software • Overlopen schema’s XC888 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 (rotateinstucties) • Knight rider (hehaald gebruik rotate instructies)

  27. Hardware XC888 bord

  28. Hardware XC888 bord

  29. Hardware XC888 bord

  30. Hardware XC888 bord

  31. Hardware XC888 bord

  32. Hardware XC888 bord

  33. Hardware XC888 bord

  34. Hardware XC888 bord

  35. Hardware schakelaars & LED’s

  36. Les 3 • Doelstellingen: • MOVX en MOVC • looplicht via tabel (DJNZ, CJNE, DB, DPTR) • gebruik van de drivers voor: • STDIO (herhaling les 2) • Diverse (aanvulling/ herhaling les 2) • LCD • ADC • Arithmetic • IIC • teller op LCD scherm (8 bit hex en 8 bit decimaal, inc en dec)

  37. MOVC & MOVX

  38. DPTR instructies

  39. DJNZ of lussen tellen

  40. CJNE of getallen testen

  41. XCEZ ; standaard I/O: ; initdipswitch klaar zetten poort 4 voor gebruik met de dipswitch ; initftoetsen klaar zetten 4 functieschakelaars onderaan scherm ; initleds klaar zetten LED's als outputs

  42. XCEZ ; I2C interface (minimale interface op 100kbit/s) enkel master mode!! ; initiic klaar zetten iic interface ; iicstart genereren van een startconditie op iic poort ; iicstop genereren stop conditie op iic poort ; iicinbyteack lezen van 1 byte met ack (accu=output) ; iicinbytenack lezen van 1 byte met nack (accu=output) ; iicoutbyte schrijven van 1 byte (accu=input, c=waarde ack bit slave)

  43. XCEZ ; LCD interace ; initlcd klaar zetten LCD voor gebruik (incl i2c init) ; 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 ; lcdlightonbacklight aan ; lcdlightoffbacklight uit ; lcdbuzonbuzzer aan ; lcdbuzofbuzzer uit

  44. XCEZ ; Seriële interface (via USB stekker!!) ; initsio klaar zetten seriële poort 9600 baud ; siooutchar afdrukken ascii code (accu=input) ; siooutbyteafdrkken getal in accu ; siooutnib afdrukken 4 laagste bits accu ; siooutmsga afdrukken ascii string @dptr tot 000h code ; sioinchar inlezen van 1 ascii code in de accu ; sioinbufa inlezen van ascii buffer vanaf adres strtbuf, max 20h karakters!

  45. XCEZ ; ADC ; initadc klaar zetten ADC voor minimaal gebruik ; adclm335 uitlezen lm35 (a-b) bevat resultaat ; adcpotmeter uitlezen van de potmeter (a-b) bevat resultaat

  46. XCEZ ; 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

  47. XCEZ ; Diverse ; delaya0k05s tijdsvertraging (waarde in accu)*0,05s ; delay1ms tijdsverraging 1 milliseconde ; delay10us tijdsvertraging 10 microseconde ; XCsw2xtal overschakelen rc naar kristal (Pauwels Danny) ; mapregs selecteer de SFR's in de mappedarea ; nomapregs selecteer de SFR's in de non-mappedarea

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

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

  50. 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, ...

More Related