Slides:



Advertisements
Verwante presentaties
‘SMS’ Studeren met Succes deel 1
Advertisements

Programmeren en Software Engineering 2

NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Motorsturing met de Arduino
PROS2 Les 2 Programmeren en Software Engineering 2.
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
Programmeren en Software Engineering 2
© 2010 Noordhoff UitgeversMarketingcommunicatiestrategie.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
(E)OBD.
Microcontroller Programmeren in C


Verkeerslicht - Nederlands principe: groen-oranje-rood-groen
Elektor Proton Robot RTC West-Vlaanderen 1 oktober 2013
CSA, week 51 CSA week 5. CSA, week 52 Applets  Applet is Java programma dat afgeleid is van klasse Applet  Heeft geen methode main, wel methode init.
ADuC8xx MICROCONVERTER
Les 5 - onderwerpen Aansturen van vier 7-segment displays
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 6: Practicumprocessor invoer en uitvoer.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
Kb.1 Ik leer op een goede manier optellen en aftrekken
Tevredenheids- enquête 2012 P. Grouwels Inleiding Mogelijke antwoorden: Zeer goed: 4 sterren ****: volledig tevreden; Goed: 3 sterren ***:
PROS2 Les 14 Programmeren en Software Engineering 2.
Nooit meer onnodig groen? Luuk Misdom, IT&T
REKENEN.

EVEN HELDER KRIJGEN EVEN DE VRAAG HEEL HELDER KRIJGEN VOORDAT JE ZOMAAR AAN DE SLAG GAAT?
Phoenix Contact ILC150ETH F. Rubben, Ing.. Phoenix Contact ILC150ETH F. Rubben, Ing.
Hoofdstuk 6: Controle structuren
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Digitale overzetting van beweging The mosFET strikes back.
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Programma SIEL week 4 SIEL week 4 Sensorprincipes Meettechnieken
1Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen &  vorige toestand uitgang.
Sequentiële schakelingen
Natuurkunde overal 2HA en 2VWO
PROS2 Les 7 Programmeren en Software Engineering 2.
PROS2 Les 6 Programmeren en Software Engineering 2.
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):

MICPRG Les 14 Microcontroller Programmeren in C. 153 Duurzaam AVR gebruik De AVR ATmega32A is de opvolger van de ATmega32. De A versie is ongeveer 40%
Dirk Smets KHLim - dep. IWT Digitale Elektronica Programmeerbare Logica FPGA : Field Programmable Gate Array DIA 1 DIA 1 Verdere FPGA-producten Discontinued!
WAT IS PRECIES HET DOEL? ALS JE NIET WEET HOE JE ERGENS GAAT KOMEN?
Van begrippen naar toepassingen
1Ben Bruidegom 1 Micro controllers introduction. 2Ben Bruidegom 2 Areas of use & Numbers of machines You might have 1 or 2 Pentium class chips at home.
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
Signaalverwerking Verwerkers. Toepassingen: IR-buitenlamp
Welkom. inhoud presentatie wat is een Micro Mouse controller motoren sensoren hardware software voeding leerwinst.
Best8-1 Les 8: Input/Output [Lat: datarum initus exitusque]
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 6 - onderwerpen seriele interface (UART -
1/1/ / faculty of Electrical Engineering eindhoven university of technology PGO opdracht trim. 1.2, week 1: Digitaal/Analoog, maar dan digitaal… A.C. Verschueren.
Welkom allemaal! Tassen achter in het lokaal onder de tafels. Wacht dan stil en aandachtig op het begin van de les.
1/1/ eindhoven university of technology / faculty of Computer Science 2IC20:Computersystemen Week 2: IDaSS.
23 september 2014 Niels Vanmarcke
Openbaar je talent Service public, talent particulier.
Stralingsbescherming deskundigheidsniveau 5
Les 1: Zaterdag 10 mei 2014 Wim Peeters
Robotica & ICT Formula Flowcode Robot
06-RIS-02: F. Rubben, ing..
Microcontrollers Labo
Programmeren van de Raspberry Pi
LaagFrequent Functie Generator voor sinus, driehoek en blok golf met
TIMER STARTEN DE TIJD IS OM! TIJDSLIMIET: 30 seconden
Analog  Digital Conversion
Transcript van de presentatie:

Microcontroller Programmeren in C MICPRG Les 6

Pulse generator Veel signalen in de buitenwereld zijn pulsvormig. Veel actoren kunnen met een pulsvormig signaal worden aangestuurd: Lamp. Motor. Telefoonkiezer.(Puls en toon!) Luidspreker. enz... Om deze signalen te kunnen opwekken hebben veel µC’s een ingebouwde pulse generator.

Timer/Counter0 Timer/Counter0 kan een pulsvormig signaal opwekken op pin OC0 = PB3. Output Compare eventueel in CTC mode = Clear Timer on Compare match (50% duty-cycle). Fast PWM (instelbare duty-cycle). PWM = Pulse Width Modulation. Fase correct PWM (instelbare duty-cycle). Timer/Counter1 kan pulsvormige signalen op-wekken op pinnen OC1A = PD5 en OC1B = PD4. Timer/Counter2 kan een pulsvormig signaal opwekken op pin OC2 = PD7

TIMER0_COMP_vect interrupt Output compare 7 TCNT0 0x06 0x07 0x08 count-ingang comparator = COM0/1 7 0x07 OCR0 OC0 PB3 Output control TIMER0_COMP_vect interrupt 1 FOC0 OCF0 OCIE0 =0 =1

T/C0 count-ingang

T/C0 Output Compare

T/C0 Output Compare OCF0 = Output Compare Flag 0. OCIE0 = Output Compare Interrupt Enable 0. FOC0 = Force Output Compare 0. FOC0 = 1  Actie op pin OC0 = PB3, die bij compare match wordt uitgevoerd, wordt nu meteen uitgevoerd!

CTC Clear Timer on Compare Match 7 TCNT0 reset 0x07 0x06 0x00 count-ingang comparator = COM0/1 7 0x07 OCR0 OC0 PB3 Output control TIMER0_COMP_vect interrupt 1 FOC0 OCF0 OCIE0 =1 =0

T/C0 CTC

Waarom TIFR = 1<<OCF0 en niet TIFR |= 1<<OCF0 Opdracht Zie AVR boek pagina 44 t/m 46. 1 seconde wachten bij FCLK = 2.4576 MHz. Maak een variant van dit programma met behulp van T/C0 Output Compare in CTC mode. void wacht1sec() { uint8_t i; TCCR0 &= ~(1<<COM01 | 1<<COM00 | 1<<WGM00 | 1<<CS01); TCCR0 |= 1<<WGM01 | 1<<CS02 | 1<<CS00; OCR0 = 239; TCNT0 = 0; for (i = 0; i < 10; i++) { TIFR = 1<<OCF0; while (~TIFR & 1<<OCF0); } TCCR0 &= ~(1<<CS02 | 1<<CS01 | 1<<CS00); ? Waarom TIFR = 1<<OCF0 en niet TIFR |= 1<<OCF0

Opdracht Stel: Er is een luidspreker aangesloten op pin OC0 = PB3. De frequentie van de µC = 8 MHz. Schrijf een programma om een kamertoon op de luidspreker te genereren. De kamertoon, in de muziektheorie a' genoemd terwijl de wetenschappelijke benaming A4 is wordt veel gebruikt voor het stemmen van muziek-instrumenten. De kamertoon hoort een frequentie van 440 Hz te hebben. De meeste stemvorken worden dan ook op 440 Hz gemaakt.

Uitwerking 440Hz => periode tijd = 1/440 = sec. PD3 elke 1/880 sec inverteren (toggle). fCPU = 8 MHz. Prescaler zo laag mogelijk (nauwkeuriger). Prescaler=1 => 1 tick T/C0 = 1/8000000 sec. OCR0+1 = 8000000/880 = 9091 Past niet! Benodigde prescaler 9091/256 = 36. Kies 64. Prescaler=64 => 1 tick T/C0 = 64/8000000 sec. OCR0+1 = 8000000/(880*64) = 142. Opgewekte freq = 8000000/(64*142*2) = 440,14

Uitwerking #include <avr/io.h> int main(void) { OCR0 = 141; TCCR0 = 0x1B; DDRB |= 1<<3; while (1); return 0; }

Huiswerk Bestudeer AVR Boek pagina 121. Bestudeer AVR datasheets hoofdstuk over T/C0 (18 pagina’s).