Microcontrollers 8051 based microcontroller

Slides:



Advertisements
Verwante presentaties
PROS2 Les 13 Programmeren en Software Engineering 2.
Advertisements

Programmeren en Software Engineering 2
Hoe werkt een rekenmachine?
Serieel naar parallel omzetting
Embedded systemen Embedded software.
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(2): Instructietypen.
PROS2 Les 2 Programmeren en Software Engineering 2.
Informatieverwerkende systemen
8051 based microcontroller
Week 1: overzicht computersysteem-organisatie
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 4(2): Digitale.
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 2(1): Inleiding InstructieSetArchitectuur.
Elektor Proton Robot RTC West-Vlaanderen 1 oktober 2013
Datacommunicatie en Netwerken Les 3: Let’s get physical
Logische schakelingen
bewerkingen in programmeeromgevingen
ADuC8xx MICROCONVERTER
Les 5 - onderwerpen Aansturen van vier 7-segment displays
PowerPC Practicum. Introductie Doel practicum = Computers begrijpen Leer de werking van een computer door een emulator te bouwen.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Instructieformaten adressering assembleertalen (zelfstudie.
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 2(2): Instructieformaten adressering assembleertalen.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 6: Practicumprocessor invoer en uitvoer.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Fysische Informatica sensoren en AD-omzetter

Het binaire talstelsel
1/1/ /e/e eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 3(1): Instructietypen (1)
1/1/ / faculty of Electrical Engineering eindhoven university of technology 5JJ20:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 1(2): overzicht.
1/1/ / faculty of Computer Science eindhoven university of technology 5B040:Computerarchitectuur 2M200:Inleiding Computersystemen Sessie 7(1): Flow of.
Geheugenbeheer ICT Infrastructuren hoofdstukken 7 en 8.1.
1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam.
Talstelsels, rekenen en rekenschakelingen
Talstelsels, rekenen en rekenschakelingen
Signaalverwerking Verwerkers. IR-buitenlamp. IJkgrafiek sensor.
Flight 68K Temperatuur geregelde ventilator
Welkom. inhoud presentatie wat is een Micro Mouse controller motoren sensoren hardware software voeding leerwinst.
1 ICT Infrastructuren 19 november 2007 David N. Jansen.
Power PC Assembler. Assembler toolkit bevat Assembler zelf Linkerlibrarian.
1/1/ /e/e eindhoven university of technology OGO 1.2 project Startbijeenkomst Een microprocessor… …om warm voor te lopen.
paragraaf 4a Tekst in ASCII
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (1)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Inleiding InstructieSetArchitectuur (ISA) datatypen.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 3: Instructietypen (2)
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 4: Digitale logica niveau: “systeem-architectuur” cpu-chips.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
Informatica: Binair rekenen.
Les 2: Zaterdag 24 mei 2014 Wim Peeters
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Onderwerp: PIC assembler programmeren
Bits & bytes.
Les 1: Zaterdag 10 mei 2014 Wim Peeters
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 2 - onderwerpen  Helaas nog geen printjes.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 2 - onderwerpen MPLAB.
PEMSY1http:// 1  Herhaling nieuwe instructies van vorige week  nieuw: combineren van assembler en C  oefeningen: assembler.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 4 - onderwerpen DB038 hardware : luidsprekertje.
2TPRJ5 – PIC assembler Hogeschool Utrecht / Institute for Information & Communication Technology Wouter van Ooijen Mail: Sheets.
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
8051 based microcontroller
Dyscalculie uit:
Microcontrollers Theorie 8051 based microcontroller ADuC832 from Analog Devices 01/2016 Roggemans M. (MGM)
H01: Informatie Digitaal Toetsweek1 : VT41, 50 min.
Programmeren. Wat is programmeren? Het schrijven van opdrachten voor de processor De processor “spreekt” machinetaal:
Microcontrollers Labo
Programmeren.
Programmeren met Reeksen
Wat gaan we doen? Herhaling ARM assembler instructies
Binaire getallen 1. binair → decimaal 2. decimaal → binair.
Software Development fundamentals
Transcript van de presentatie:

Microcontrollers 8051 based microcontroller ADuC832 from Analog Devices 12/2011 Roggemans M. (MGM)

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)

Situering van het vak Embedded systemen Hardware georiënteerd Basis automatisering Basis voor PLC Specifieke uitwerking onderdeel computersystemen Manier van denken

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!!

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)

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

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)

Concept embedded oplossing probleem

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

Blokdiagramma computersysteem

Wat is een microcontroller?

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

Basis 8051

Memory map 8051

Memory map 8051 (ADuC832) General Purpose Registers

Memory map 8051 (ADuC) Onderste 128 GPR’s

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

Memory- map 8051 (ADuC832)

Memory- map 8051 (ADuC832)

Memory map ADuC832 256 bytes registers

De MOV instructies Mnemonic OP-CODE Uitvoeringssnelheid Symbolische werking

Alle MOV instructies (tussen registers met 8 bit getallen)

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)

Hardware ADuC bord

ADuC832 poorten

Les 3 Doelstellingen: MOVX en MOVC looplicht via tabel (DJNZ, CJNE, DB, DPTR) gebruik van de drivers voor: LCD SIO Arithmetic

MOVC & MOVX

DPTR instructies

DJNZ of lussen tellen

CJNE of getallen testen

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,…

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 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!

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

ADuCEZ ; Diverse ; delaya0k05s tijdsvertraging (waarde in accu)*0,05s

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

Talstelsels Getal=voorstelling!! Decimaal getal: Binair 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

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

Talstelsels

Optelling

Verschil berekenen

INC en DEC

Vermenigvuldigen en delen

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

Basis stack werking

subroutine aanroepen

STACK bij CALL en RET

Les 6 Doelstellingen: principe AD omvorming mogelijkheden ADC ADuC832 Mogelijkheden DAC ADuC832 lezen potmeter lezen potmeter als voltmeter tussen 0-5v

ADC

ADC SAR

ADC sample and hold

ADC 1LSB 1LSB= Vref/(aantal schaaldelen) 5v/4096=0,001220703v

ADuC832 ADC Output formaat ADC ADC SFR’s

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

ADuC832 DAC

ADuC832 DAC

DAC SFR’s

Les 7 Afwerken alle vorige oefeningen Stellen van vragen

Les 8 Doelstellingen: Timers 0, 1 RTC (TIC) Oefening: Afdrukken van een uurwerk in UU:MM:SS op LCD

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

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

T0 en T1 SFR’s

TMOD register

RTC (TIC) TIC SFR’s

TIMECON

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

Interrupt

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

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.

Interrupt structuur

Standaard 8051 interrupt hardware

Les 10 Doelstellingen: Uitleg over stappenmotoren Uitleg over DC motoren oefening met stappenmotor oefening met DC motor

Digitale output: stappen motoren Interface Technieken

Digitale output: stappen motoren Interface Technieken

Digitale output Interface Technieken

Digitale output Interface Technieken

Digitale output Interface Technieken

Digitale output Interface Technieken

Digitale output: current chopping Interface Technieken

Digitale output (recirculatie) Interface Technieken

Digitale output (braking) Interface Technieken

Digitale output: full step aansturing Interface Technieken

Digitale output: half step aansturing Interface Technieken

Digitale output (microstepping0 Interface Technieken

Digitale output: microstepping Interface Technieken

Digitale output: inductieve belasting Interface Technieken

Les 11 Doelstellingen: Speciale mogelijkheden: Fail safe werking Spanningsbewaking Software bewaking Snelheid processor wijzigen Low power mogelijkheden (hier generiek bespreken) Afwerken oefeningen vorige les

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

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

PLLCON

Les 12 Doelstellingen: stellen van vragen afwerken van oefeningen oplossen specifieke problemen