KURSHEFTE AVR Kurs vår 2015

Størrelse: px
Begynne med side:

Download "KURSHEFTE AVR Kurs vår 2015"

Transkript

1 KURSHEFTE AVR Kurs vår 2015 Grunnleggende om mikrokontrollere. c 2015 Omega Verksted Alle rettigheter er reserverte. Det er ikke lov å reprodusere med dette heftet, fordi det er et åndsverk. Det er ikke lov å brette papirfly av, eller på annen måte spre innholdet av denne blekka uten skriftlig tillatelse i π eksemplarer fra utgiver. Dersom det skulle komme oss for øret at noen allikevel har forbrutt seg mot oss, kommer vi hjem til deg og bruker telefonen på deg mens vi spiller trekkspill og synger Helmut Lotti. Lenge leve Omega Verksted. Printed in The Constitutional Anarchy of Norway.

2 2

3 Innhold 1 FORORD 5 2 MIKROKONTROLLERE AVR MODULER I/O-PORTER TIMERE KOMMUNIKASJON ANALOGE MODULER BITS og BYTES TALLSYSTEMER LOGISKE OPERASJONER NOT AND OR XOR BINÆRE OPERASJONER PROGRAMMERING C XMEGA AVR NATURLOVER FOR DET MODERNE MENNESKET. 19 A Oppgaver 20 A.1 Kveld 1: LEDs and stuff A.2 Kveld 2: Timers, interrupts & USART A.3 USART Loopback Test A.4 Kveld 3: ADC og USART

4 4

5 1 FORORD Dette kompendiet er et sammensurium av grunnleggende ting om mikrokontrollere og hva som må til for å kunne programmere de. AVR Kurset er et kræsjkurs og er innom mange aspekter, hvis man ønsker å skjønne alt som foregår i kurset og bli en god mikrokontrollerprogrammerer er det bare en ting som gjelder, øvelse! Med de -ligste hilsener og lykkeønskninger OMEGA VERKSTED 5

6 6

7 2 MIKROKONTROLLERE En mikrokontroller (MCU, µc eller uc) er en liten datamaskin på en integrert krets, den inneholder en prosessor, minne og programmerbare Input/Output moduler (I/O pheripherals). Mikrokontrollere har et programminne (flash) som ikke slettes når mikrokontrolleren mister strøm og RAM (Random Acces Memory) som brukes til mellomlagring av data mens et program kjører. I/O enhetene kan ha mange funksjoner fra helt enkle digitale pinner som kan settes til 1 eller 0 til mer avanserte moduler som timere, kommunikasjonsmoduler som USB, USART, SPI, I 2 C og CAN, analog til digital konverterere (ADC), digital til analog konverterere (DAC). Det som avgjør prisen på en mikrokontroller er i hovedsak antallet I/O-moduler og hvor avanserte oppgaver de skal gjøre, størrelse på programminne, antall pinner og størrelse på RAM. En typisk 8-bit mikrkontroller kan ha fra 512byte programminne og 32byte med RAM, opp til 256Kbyte programminne og noen Kbyte RAM og pakketyper med 6 til 144 pinner. Det fins også mikrokontrollere med noen megabyte med programminne, mye RAM og 400+ pinner. (a) TQFP64 (b) DIP14 Figur 1: Noen pakketyper Alle prosessorere trenger en klokke for å gå, på en typisk brukerdatamaskin i dag er klokkefrekvensen oppe på 3GHz+, som vil si at all logikken i prosessoren tikker og går over 3 miliarder ganger i sekundet. En typisk 8-bit mikrokontroller har en klokkefrekvens på 2-16MHz, her skjer det noe noen millioner ganger i sekundet. 2.1 AVR AVR R er en serie 8-bits og 32-bits mikrokontrollere fra Atmel R, disse mikrokontrollerne er delt inn i 4 hovedfamilier, TINY, MEGA, XMEGA og UC3. TINY er den familien med mikrokontrollere med få moduler, få pinner og lite programminne. De har mellom 6-32 pinner, 0.5-8K flash og er de billigste AVR mikroprosessorene. De brukes ofte hvis man må lage et fysisk lite design eller har en enkel oppgave som kan klare seg med en enkel mikrokontroller. MEGA er en familie med mikrokontrollere med mange moduler, mye programminne og mange pinner. De har mellom pinner og 4-256K flash. De er allsidige 7

8 mikrokontrollere som kan brukes i større applikasjoner som trenger større programmer og flere dupeditter. Det meste av mikrokontroller-ting som lages på Omega Verksted bruker en MEGA AVR, nærmere bestemt ATmega128 som er en kontroller med 64 pinner og 128K flash. Denne kan brukes til det meste. XMEGA er den nyeste 8-bit familien til Atmel. Den har flere moduler enn en typisk MEGA AVR, bedre analogmoduler og en del mer avansert funksjonalitet. UC3 er Atmels 32-bits mikrokontrollere, som du på ingen måte burde nærme deg. 2.2 MODULER Det er mye snakk om moduler når man holder på med mikrokontrollere. En modul er kort fortalt en spesiell funksjon mikrokontrolleren tilbyr, alle moduler er implementert i hardware. Dette betyr at når en modul benyttes jobber den alltid i bakgrunnen, uavhengig av hva prosessoren jobber med. Disse modulene er i utgangspunktet slått av, de skrus på og konfigureres etter behov til applikasjonen man jobber med I/O-PORTER Den vanligste modulen er I/O-porter, i Atmels 8-bit kontrollere er en I/O-port en samling av 8 fysiske pinner på mikrokontrolleren. Disse pinnene kan individuelt settes som en inngang eller utgang. Hvis en pinne som er satt som utgang blir satt 1/på/høy vil mikrokontrolleren lage en spenning på denne pinnen tilsvarende driftsspenningen til mikrokontrolleren, blir pinnen satt til 0/av/lav vil pinnen holde 0 volt. På samme måte kan en pinne som er satt til inngang lese om et signal er høyt eller lavt på utsiden av mikrokontrolleren. Hva kan dette brukes til? Den vanligste tingen man gjør som første mikrokontrollerprogram er å få en lysdiode til å blinke, og eventuelt bruke en knapp til å skru en lydiode av/på. Her er I/O-pinner perfekt! Dette er en meget grunnleggende modul, alle andre moduler gjør mer avanserte ting og hvis de trenger en pinne for å lese noe / generere en spenning tar de over en standard I/O-pinne TIMERE Timere brukes i hovedsak til å holde rede på tid. Hva trenger man det til? Siden mikrokontrolleren kan gjøre noen millioner operasjoner i sekundet sier det seg selv at hvis noe skal brukes til interaksjon med mennesker rekker ikke menneskene å reagere på noen milliontedels sekunder. Timere kan brukes til å generere signaler på pinner og er en god kilde til å lage noe som skal skje periodisk KOMMUNIKASJON De fleste Atmel-kontrollere har USART-, TWI- (I 2 C) og SPI-moduler, dette er vanlige kommunikasjonsmetoder. TWI og SPI brukes ofte for kommunikasjon mellom integrerte kretser på et kretskort. USART er seriell måte å sende data på som brukes veldig mye. Disse signalene kan konverteres til et hav av elektriske standarder som feks RS232, RS485, USB med mer. Noen Atmelkontrollere har også USB-, CAN- og LIN-kontrollere. USB for å kommunisere med PCer, CAN og LIN er standarder som brukes mye i bilindustrien. 8

9 2.2.4 ANALOGE MODULER Mange Atmel-mikrokontrollere har også analoge moduler, en ADC (analog to digital converter) brukes for å måle en analog spenning, og gjøre den om til en digital verdi som kan brukes i en mikrokontroller. Noen Atmel-kontrollere har også DAC (digital to analog converter) for å generere analoge spenninger, dette kan feks brukes til å lage referansespenninger, lydsignaler etc. 9

10 10

11 3 BITS og BYTES Tall må representeres på en eller annen måte i en mikrokontroller, tall blir representert på binær 1 i hardware, det er også ganske vanlig å representere tall i heksadesmial 2 når man programmerer mikrokontrollere. Hvert siffer i et binært tall kalles et bit, en gruppe på 8-bit kalles en byte. 3.1 TALLSYSTEMER Et gitt heltall i et tallsystem er beskrevet ved siffer a n, hvert siffer har en vekt b. I desimalsystemet er vekten til hvert siffer b = 10. For å angi tallsystem kan man for eksempel skrive det desimale tallet 128 som hvor a 2 = 1, a 1 = 2, a 0 = 8. Tallet kan deles ned i vekten til hvert siffer på denne måten: = , en generell måte å uttrykke heltall på er: (a n a n 1... a 2 a 1 a 0 ) b = n a k b k [k = 0, 1, 2,... n] k=0 Dette var jo greit, desimalsystemet er enkelt for oss fordi vi bruker det hele tiden uten å tenke over det på denne måten, hva hvis vi bruker et binært (to-)tallsystem hvor hvert siffer kun kan ha verdien 1 eller 0; , den desimale verdien av dette tallet blir da: = 7 a k 2 k = = = k=0 En grafisk representasjon av dette kan være: Vekt BIN DEC HEX 9 A Tabell 1: Visuell Tallkonvertering 1 2-tallssystem hvor hvert siffer kan ha verdien 1 eller tallssystem hvor hvert siffer kan ha verdien 0-9, A, B, C, D, E eller F 11

12 På samme måte kan vi bruke et heksadesmialt (16-)tallsystem hvor sifrene 0-9 og bokstavene A-F brukes, A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Det vil si at den desimale verdien av det heksadesimale tallet 0C2F 16 blir: 0C2F 16 = 3 a k 16 k = = = k=0 Dette er en kompakt måte å representere tall på, den største fordelen er når man ser på sammenhengen mellom heksadesimale tall og binære tall. Hvert heksadesimalt siffer kan ha verdiene 0-15, det kan også et firesifret binært tall også ha, det vil si at man enkelt kan konvertere mellom binære og heksadesimale tall. BIN DEC HEX A B C D E F Vekt BIN HEX 1 5 F A Tabell 2: BIN to HEX 12

13 3.2 LOGISKE OPERASJONER Når man programmerer mikrokontrollere får man bruk for å manipulere binære tall og ofte enkelte bit. Her der det fire logiske operasjoner som blir brukt ofte, de kalles NOT, AND, OR og XOR. Funksjonen til disse operasjonene er forklart under NOT En NOT-operasjon er den enkleste, den inverterer et enkelt bit. 1 blir til 0 og 0 blir til 1: NOT har følgende sannhetstabell. Innputt Resultat Innput Resultat Tabell 3: Sannhetstabell: NOT AND AND-operasjonen gir ut 1 hvis alle argumentene er 1, eks: 1 AND 1 AND 1 = 1, mens 1 AND 0 AND 1 = 0. AND har følgende sannhetstabell: Innputt Resultat Innput Innput Resultat Tabell 4: Sannhetstabell: AND OR OR-operasjonen gir ut 1 hvis et av argumentene er 1, eks: 0 OR 1 OR 0 = 1, mens 0 OR 0 OR 0 = 0. OR har følgende sannhetstabell: Innputt Resultat Innput Innput Resultat Tabell 5: Sannhetstabell: OR 13

14 3.2.4 XOR XOR gir ut 1 hvis et oddetall av argumentene er 1, eks: 1 XOR 0 = 1, 1 XOR 1 = 0. XOR har følgende sannhetstabell: Inputt Resultat Innput Innput Resultat Tabell 6: Sannhetstabell: XOR 3.3 BINÆRE OPERASJONER RIGHT SHIFT og LEFT SHIFT er to operasjoner som brukes mye i mikrokontrollerprogrammering, disse operasjonene dytter alle bittene i et binært tall til henholdsvis høyre eller venstre. Et binært tall: RIGHTSHIFT 2 vil dytte tallet to hakk til høyre og padde med nullere, resultatet blir En tilsvarende LEFT SHIFT vil gi svaret

15 4 PROGRAMMERING Mikrokontrollerprogrammering handler i hovedsak om å konfigurere diverse moduler til å gjøre det man vil. Modulene lagrer all konfigurasjon i registre, registerne på 8-bits mikrokontrollereer 8-bit store, og hvert av bittene i registret har en spesiell funksjon. Når et register er konfigurert og strømmen skrus av, vil registeret nullstilles til standardverdier, dette betyr at programkoden som skrives må konfigurere alle modulene som skal brukes. Hvor finnes det informasjon om moduler, tilhørende register og hva de forskjellige bittene i registerne gjør? Hver mikrokontroller har sitt eget datablad. For å programmere mikrokontrollere er det en ting som betyr noe: RTFD! Den eneste måten å finne informasjonen som trengs for å programmere mikrokontrollere er i databladet, de som har sett i et Atmel datablad kan da si, men det er jo 600+ sider, ingen gidder å lese alt det bare for å programmere litt. Det er helt riktig, trikset er å lære seg å plukke ut informasjonen som trengs. Hver modul har et eget kapittel, det inneholder masse tekst om hvordan den fungerer og bakerst i hvert kapittel er det en seksjon som heter Register Description. Denne delen inneholder en oversikt over alle registre som tilhører modulen og en beskrivelse av hva hvert enkelt bit gjør. De første gangene man bruker en modul kan det være greit å skumlese litt om modulen og så studere registrene nøye, hvis man lurer på hva noe i registerbeskrivelsen betyr, kan man lese mer om det i kapittelet over. Når man har brukt et par moduler ender det ofte opp med at man hopper rett på registerbeskrivelsen og i mange tilfeller er det nok! 4.1 C Mikrokontrollerprogrammering er på et lavt nivå med bits og bytes, derfor brukes også lav-nivå programmeringsspråk. De fleste mikrokontollere (alle Atmels kontrollere) kan i dag programmeres i C. Før ble det brukt mye assembly som er det nærmeste man kommer maskinkoding med 1-ere og 0-ere. 15

16 Et skall for et AVR c-program kan se slik ut; Listing 1: main.c 1 // Tekst etter "//" kalles kommentarer, disse ignoreres av kompilatoren 2 /* 3 For lengre kommentarer kan man bruke denne stilen. 4 Dette gir mulighet for kommentarer over flere linjer. 5 */ 6 7 #include <avr/io.h> // Inneholder definisjoner for AVR uc 8 9 void IoInit() { // PORTD.DIR er et register, definisjonen for dette fins i <avr/io.h> 12 // Flgende kodelinje sier at pinne 0, 1 og 2 p port B skal settes som utgang. 13 // alle andre bits vil bli overskrevet til PORTD.DIR = (1 << PIN0_bp) (1 << PIN1_bp) (1 << PIN2_bp); // alternativt kunne man brukt flgende syntaks, som bare endrer bit 3: 17 PORTD.DIR = (1 << PIN3_bp); //forkortelse for PORTD.DIR = PORTD.DIR (1 << 3). 18 } int main(){ uint8_t tall = 0; // Initialiserings kode 25 IoInit(); while(1) { // Hoved programkode 30 tall++; // forkortelse for tall = tall + 1; PORTD.OUT ^= 0xFF; // forkortelse for PORTD.OUT = PORTD ^ 0xFF; Inverterer alle bit } } Et C-program må ha en main() funksjon, dette er hvor programmet starter. En typisk måte å strukturere et mikrokontrollerprogram på er å gjøre modulinitialisering, og så kjøre et program i en evig løkke slik at programmet aldrig slutter. Data kan lagres i variabler, variabler kan brukes i regnestykker og lignende. Før en variabel kan brukes må den deklareres med en type, datatyper som er vanlig å bruke i AVR er vist under: Vanlige datatyper Beskrivelse uint8 t 8-bits heltall, verdi fra uint16 t 16-bits heltall, verdi fra char 8-bits heltall, brukt til å lagre tegn (ASCII). float 32-bits flyttall, brukes når man trenger desimaler. bool Sannhetsverdi, TRUE eller FALSE. (#include <stdbool.h>). void Tom variabel. Tabell 7: Variabeltyper En deklarasjon av en variabel skal inneholde en variabeltype og et navn, den kan også initialiseres med en verdi; variabeltype navn = initialiseringsverdi 16

17 eks: uint8 t minvariabel = 4; Trenger man en liste med variabler av samme type kan man lage et Array et array deklareres nesten likt som en variabel; variabeltype navn[n]; eks: uint8 t minvariabel[10] Her opprettes det 10 variabler, minvariabel[0] til minvariabel[9]. Variabler kan være del av regnestykker, under er noen vanlige operasjoner: Operasjon C-syntax Beskrivelse A + B A + B Addisjon A B A B Subtraksjon A/B A/B Divisjon A B A B Multiplikasjon NOT A A Bitvis NOT A AND B A & B Bitvis AND A OR B A B Bitvis OR A XOR B A B Bitvis XOR A RIGHT SHIFT B A >> B Skifter A, B possisjoner til høyre A LEFT SHIFT B A << B Skifter A, B possisjoner til venstre Eksempel på bruk av variable: Tabell 8: C-Syntax Listing 2: math.c 1 int main() { 2 3 uint8_t var = 0; 4 5 var = ; // var blir 9 6 var = var - 5; // var blir 4 7 var += 3; // var blir 7 8 var = var/2; // var blir 3, desimaler forsvinner. 9 var++ // var blir while(1){ } } XMEGA AVR #include < avr/io.h > i eksempelprogrammet for AVR inkluderes definisjoner for Registre og bit i registre. Hver modul har en tilhørende struct som inneholder adresser til sine respektive register. Som et eksempel: modulene som styrer pinnene på mikrokontrolleren kalles PORTx, der x er en bokstav mellom A og D. Hvert av disse modulene har i < avr/io.h > en tilhørende struct 3 som inneholder adressene DIR, OUT og IN. Dette er registrene som bestemmer oppførselen til PORTx. Altså: PORTA inneholder adressene til registrene til modulen som styrer pinnene på PORTA, 3 En struct er en datatype i C som kan inneholde flere variabler. 17

18 PORTC inneholder adressene til registrene til modulen som styrer pinnene på PORTC etc. Se eksemplene under. Bitnummer Bitnavn PIN7 bp PIN6 bp PIN5 bp PIN4 bp PIN3 bp PIN2 bp PIN1 bp PIN0 bp DIR Tabell 9: oversikt over DIR - register Registeret er definert slik at det kan skrives til/leses fra, bitnavnene er definert som bitnummeret i registeret. Det vil si at vi kan sette bestemte bit ved å skrive slik: Listing 3: register.c 1 PORTD.DIR = (1 << PIN5_bp); //Disse to linjene er ekvivalente. 2 PORTD.DIR = 0b ; // Vi venstreskifter et 1-tall inn 5 posisjoner. Her er eksempler på vanlige måter å manipulere registre på, for å forstå hva som skjer se på de logiske operasjonene beskrevet tidligere. Listing 4: logikk.c 1 PORTD.DIR = (1 << PIN5_bp) (1 << PIN6_bp); // Skriver over registeret. 2 PORTD.DIR = (1 << PIN5_bp) (1 << PIN6_bp); // Setter bit5 og bit6 til 1, beholder resten av registeret. 3 PORTD.DIR &= ~((1 << PIN5_bp) (1 << PIN6_bp)); // Setter bit5 og bit6 til 0. 4 PORTD.DIR ^= (1 << PIN5_bp) (1 << PIN6_bp); // Toggler bit5 og bit6, hvis det er 1 blir det 0 og omvendt. 18

19 5 NATURLOVER FOR DET MODERNE MENNESKET. Her har vi tatt med noen lover som er ment å være til oppmuntring om noe av en eller annen grunn ikke skulle virke perfekt første gang: Murphys lov: Hvis noe kan gå galt, går det galt. Dersom det ikke går galt, viser det seg at det senere ville vært best om det gikk galt allikevel. Boobs law: You always find things in the last place you look. Finagle s fourth law: Once a job is fouled up, anything done to improve it only makes it worse. H.L. Mencken s law: Those who can do Those who can t teach Those who can t teach administrate Lowreys law: If it jams force it. If it breaks it needed replacement anyway. Harrisberger s fourth law of the lab: Experience is directly proportional to the amount of equipment ruined. Jone s law: The man who smiles when anything goes wrong has thought of someone to blame it on. Oliver s law: Experience is something you don t get until just after you need it. Olke s law: There is no such ting as foolproofness. Speer s 1st law: The visibility of an error is inversely proportional to the number of times you have looked at it. Loven om forelesere: Enhver foreleser antar at du ikke har noe som helst annet å gjøre enn å arbeide med det faget denne foreleseren foreleser. Sattinger s law: It works better if you plug it in. O Toole s Commentary on Murphy s Law: Murphy was an unrealistic optimist. Ohm s lov sier noe om motstanden som var imot elektrisiteten til å begynne med. Dersom disse lovene ikke skulle gi deg noe hjelp med problemet ditt så sett deg ned og spør deg selv: Hvordan ville MacGyver håndtert denne situasjonen? Printet på 100% resirkulerte trær 19

20 A Oppgaver 20

21 A.1 Kveld 1: LEDs and stuff In this session we will get to know Atmel Studio and hopefully compile our first program. Task 1 will take you through starting Atmel Studio, opening a project, compiling it, uploading it and debugging it. Task 2 will force you to look in the datasheet for information and if gods willing make your board respond to switch presses. Task 3 will throw you into the arcane world of assembly and register addresses. But we will hold your hand. (a) Connecting Atmel-ICE to the Xplain board (b) Pull-up Task 0 1. Connect the Atmel-ICE to the Xplained board as shown above, using the AVR connector on the ICE. Also connect both the Atmel-Ice and the Xplained board to the computer via USB cables. 2. Start Atmel Studio, don t create or open any project. 3. Choose Tools Device Programming. 4. Choose Tool as Atmel-ICE. 5. Choose Device as ATxmega32e5. 6. Choose Interface as PDI. 7. Press Apply. 8. If asked to upgrade, upgrade. Afterwards, remove and reinsert the device from the computer. Restart Atmel Studio, and then return to point Press Read. If no errors are presented, celebrate discreetly. 10. Close the window. Creating a blank project: 1. Open Atmel Studio Select File New Project 3. Choose AVRGCC C Executable Project, select a proper name, and at the bottom press OK. 4. Choose ATxmega32E5 as the microcontroller, press OK. 21

22 Task 1 The goal of this task is to make one of the LEDs blink on and off, and also to get comfortable using Atmel Studio. You will be introduced to the world of datasheets, bitflags and registers, but the principal goal is to get something to work. 1. Create a blank project as described above. 2. Unzip the session1.zip provided and locate task1.c, add the C file to the project. This is done by right clicking on your project in the solution manager on the right. Choose add existing item and locate your file. 3. You will see a code skeleton, with parts missing. Read the comments. What do you think will have to be added in order to make it work? 4. Read the manual section 12.3 (p.140). Are you getting any closer? 5. After you have read through the code, read through it again. Try to understand what is going on, and the registers functions. If you get your head around this, you will have an easier time with the later tasks. 6. Try compiling (F7). No errors? Good. Errors? Fix them or ask someone. 7. Try uploading your project to the board (Ctrl+Alt+F5). 8. If you are compiling and uploading successfully, but nothing happens? Are you toggling the correct bit? Check your bit logic. Have you defined F CPU properly? Is the LED pin set as output? 9. Try debugging your project: Press ALT + F5. This starts debugging. Select your programming tool (Atmel-ICE) as debugger. Open the I/O view by pressing the button that looks like this. Find PORTD in the I/O View to the right. Press F11 to single-step. See if you can track the changes each line does. Also try inserting a break point in your code (right click to the left of a line), and run it using F5. Try stepping. Notice the program halting on your break point. See how things change with every loop. Task 2 Alright, you have successfully made an LED blink. This time around, you will link it to a button, such that the LED is switched on when the button is pressed, and switched off when it is released. Let s a go! 1. Create a blank project as described above. 2. Remember where you unzipped session1.zip and locate task2.c, add the C file to the project. 3. Yet again, have a glance at the code structure. 4. The oh-so useful pin defines from last task have been removed. In order to figure out the pins to use, look at the Xplained-E5 s hardware user guide, section 3.2, table 3-5. (or just look at task 1 s code if you are really, really lazy) 5. Because of how the chip is wired, we have to enable a pull-up resistor in order to read from the pins. This is done by the gibberish on lines 50 and 51. (see datasheet section 16.3 and manual ) 6. Read the datasheet pages referenced in the code. Try figuring out what to add. 7. Note that, since the button pulls the pin to earth, a pressed button will read as LOW, whereas a released button reads as HIGH. 22

23 8. To read from pins, you have to use bit masking, since each IN register contains values for all the pins on that port. This is done by doing a bitwise AND operation. If we want to select the value of pin 4 on PORTB, we would do ( ( 1 <<4 ) & PORTB.IN ), which masks that particular bit. Task 3 You have successfully made an LED controllable by the press of a button. Your finger must be dead tired holding that button down by now, so let s make it toggleable! This will require slightly more code, but we are sure you will make it. 1. Create a blank project as described above. 2. Remember where you unzipped session1.zip and locate task3.c, add the C file to the project. 3. This time, the code is slightly more complex. Before looking at the code, think about how you would implement this. 4. You will want to have an infinite main loop, that checks and logs the button s state. If it has changed, you will want to see if it was pressed or released. If it was pressed, you will want to toggle the LED. 5. Notice that the light sometimes bugs. Why is that? (hint: the processor clocks really fast, and the button is a mechanical device.) 6. In order to get rid of this bouncing, you will have to implement anti-bouncing. How can you be sure that the button has settled in a final state? (hint: use a delay) 7. If you have everything working, try making the buttons toggle on release instead of press. 8. Brain still not exploded? Make the LED blink a pattern when triggered instead of toggling! 23

24 24

25 A.2 Kveld 2: Timers, interrupts & USART In this session we will have a look at how one can use timers to do periodic tasks (blinking LEDs!), as well as setting up the board to communicate with your computer. In Task 1 you have to set up a timer and interrupts, and use them to toggle the corresponding LED. In Task 2 you will set up USART to exchange messages with your computer. Task 1 1. Do the procedure in section A.3 to check the USART module. 2. Create a new AVRStudio project. 3. Unzip the session2.zip provided and locate code/task1/task1.c, add the C file to the project. This is done by right clicking on your project in the solution manager on the right. Choose add existing item and locate your file. 4. Use what you learned in session 1 to setup the pins connected to led0 and led1 as outputs, you can either use copy-and-paste from session 1, or you can have a look at the datasheet and figure out for yourself which registers need to be set. 5. Enable global interrupts and the high level interrupt priority. Hint: Enabling global interrupts is done with the pre-defined function sei(). To find out more about interrupt levels you can read section 11.5 and onward in the manual. 6. Setup timer/counter 4 on PORTC ( TCC4 ) to count at a reasonable speed. Hint: timers are discussed in section 13. Read the register description of CTRLA carefully and see if you can figure out how to start the timer. 7. Figure out which interrupt-vector to use in the ISR definition. Section has a list of all the vector names used for the timers. After finding the correct one, add TCC4 at the start and vect at the end and you are good to go. 8. Write the toggle code in the ISR. The interrupt flag has to be manually cleared at the end of the interrupt, using the code-line: TCxn.INTFLAGS = ( 1 << TCn OVFIF bp); 9. The led should now toggle at regular intervals. If it appears to not toggle, it could be because it is toggling too fast. In that case, find a way to slow the frequency of the interrupt. HINT: Check out registers CTRLA and PER. Task 2 1. Create a new Atmel studio project. 2. add the file task2.c to your project. 3. Use the code you have made in Task 1 and setup the leds to output (doesn t matter which led). 4. You will notice that one line of code has been provided in the file task2.c, which will simply mux the USART lines to the correct pins on the devboard. Short story: The USART can be used on to different sets of pins, and the hardware on the Xplained board uses the wrong ones : So we have to tell the chip to use the correct ones. If this is confusing, do not worry for now. 5. Setup the USARTD0 module with a bitrate of 9600 and 8bit character length. Hint: Check out the register descriptions for CTRLB, CTRLC and BAUDCTRLA. If you get gibberish on your screen, the baud-rate may be set to the wrong value. 6. To choose the values for the baudrate, you could read the datasheet and do the calculations provided there. Or you could use the spreadsheet tool provided in the.zip file. Set the periphial frequency (fper) of the chip to and the desired bitrate to In this case, when choosing the value from the table, choose a combination which makes BSEL = 0 and BSCALE255. In general, you want the error in the last column to be as small as possible (below 2 percent). Hint: If you choose the values within the limitations above, you can ignore the register BAUDCTRLB. 25

26 7. Fill in the function for sending data over the USART to your computer. Hint: Read the description of the DATA and STATUS registers. You need to check if the module is ready for new data before sending. 8. (optional) Fill in the function for receiving data over the USART from your computer, then combine the two functions to echo characters received on the transmitter. EXTRA: Use interrupts to receive the data and return them. A.3 USART Loopback Test In Session 2 we will communicate using the USART protocol via USB. To this end we first should make sure that it s your program that s at fault and not windows. The steps below install a premade loopback code in the XMEGA chip. There are several terminal applications that can be used to do this, some terminals are: Brays Terminal Putty Realterm Hercules Hyperterminal (built in to windows xp) many more To test loopback mode please: 1. Locate the.hex file in the provided.zip file for session 2. (/session2/hex/usart Loopback Test.hex) 2. Open Atmel Studio, do not open a project. 3. Select Tools Device Programming. 4. Choose Atmel-ICE, atxmega32e5 and PDI. Press Apply. 5. Press the Memories tab in the left hand menu. 6. Point the Flash field to the provided.hex file and press program. 7. The microcontroller has now been programmed with precompiled code. 8. If you have not installed the Xplain driver, please download the CDC driver from omegav.no/avrkurs. 9. Right click on My Computer, select Manage (Behandle) and find the Device Manager tab. 10. If the driver is installed correctly, there should be a port called Xplain Serial Port(COMxx). 11. If the driver si not installed, install it somehow and plug the xplain out and in again. 12. Connect to COMxx with your favorite serial connection program, the settings are 9600 BAUD, 1 start bit, 8 databits, 1 stop bit and no parity. 13. If you connect successfully, the terminal should now say Omega Verksted Try typing something in the terminal, the microcontroller program is set to return anything that is sent to it. You should receive any characters you send. 15. The data is now sent through the USB cable, into an AT32UC31256 avr chip, through the USARTD0 module in the xmega and back. 26

27 Figur 2: Device Manager 27

28 28

29 A.4 Kveld 3: ADC og USART In this session we will play with the PWM (Pulse Width Modulation) module of the timer, as well as using an ADC (Analog to Digital converter) to read off the onboard light sensor. In task 1 you will program the timer with PWM to slowly fade a led on and off. In task 2 you will program the ADC to read an analog voltage from the onboard light sensor. Task 1 Start a new Atmel Studio project and include the files provided in session3/code/task2/ This is a shell for a multifile project, the code for each module is separated into different files. Read about pulse width modulation in the datasheet. Figure out which timer the LEDs on the Xplained board are connected to. Implement the init function in pwm.c Implement the set value function in pwm.c to update the timer compare register. Edit main.c to use a loop with a delay to slowly fade the LED on and off. Extra: Can you make a function to make the light level look even for the human eye? Task 2 Start a new Atmel Studio project and include the files provided in session3/code/task2 This is a shell for a multifile project, the code for each module is separated into different files. Copy over the pwm.c and pwm.h file from the previous task. Read the section about the Analog to Digital converter in the datasheet. Figure out which ADC channel the light sensor on the Xplained board is connected to. Implement the init function in adc.c Implement the read value function in adc.c to read the value of the ligh sensor. Edit main.c to create a loop that reads off the light sensor and set that value as the output of the led. Extra: Can you implement a interrupt based solution, which updates the LED each time a sample is complete? 29

30 30

KURSHEFTE AVR Kurs vår 2016

KURSHEFTE AVR Kurs vår 2016 KURSHEFTE AVR Kurs vår 2016 Grunnleggende om mikrokontrollere. c 2016 Omega Verksted Alle rettigheter er reserverte. Det er ikke lov å reprodusere med dette heftet, fordi det er et åndsverk. Det er ikke

Detaljer

KURSHEFTE AVR Kurs vår 2012

KURSHEFTE AVR Kurs vår 2012 KURSHEFTE AVR Kurs vår 2012 Grunnleggende om mikrokontrollere. c 2012 Omega Verksted Alle rettigheter er reserverte. Det er ikke lov å reprodusere med dette heftet, fordi det er et åndsverk. Det er ikke

Detaljer

Slope-Intercept Formula

Slope-Intercept Formula LESSON 7 Slope Intercept Formula LESSON 7 Slope-Intercept Formula Here are two new words that describe lines slope and intercept. The slope is given by m (a mountain has slope and starts with m), and intercept

Detaljer

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis) Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis) 1. Gå til print i dokumentet deres (Det anbefales å bruke InDesign til forberedning for print) 2. Velg deretter print

Detaljer

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3 Relational Algebra 1 Unit 3.3 Unit 3.3 - Relational Algebra 1 1 Relational Algebra Relational Algebra is : the formal description of how a relational database operates the mathematics which underpin SQL

Detaljer

Arduino med Atmel studio 6.x (6.1)

Arduino med Atmel studio 6.x (6.1) Arduino med Atmel studio 6.x (6.1) Etter å ha sett meg grenseløs lei av Arduinos IDE har jeg i lenge tid brukt Atmels eget AS6.1 Tenkte derfor lage en liten hvordan sette den opp til å virke med arduino.

Detaljer

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

Hvordan føre reiseregninger i Unit4 Business World Forfatter: Hvordan føre reiseregninger i Unit4 Business World Forfatter: dag.syversen@unit4.com Denne e-guiden beskriver hvordan du registrerer en reiseregning med ulike typer utlegg. 1. Introduksjon 2. Åpne vinduet

Detaljer

Trådløsnett med Windows XP. Wireless network with Windows XP

Trådløsnett med Windows XP. Wireless network with Windows XP Trådløsnett med Windows XP Wireless network with Windows XP Mai 2013 Hvordan koble til trådløsnettet eduroam med Windows XP Service Pack 3? How to connect to the wireless network eduroam with Windows XP

Detaljer

Start Here USB *CC * *CC * USB USB

Start Here USB *CC * *CC * USB USB 1 USB Start Here USB 11 USB WARNING: To ensure that the software is installed correctly, do not connect the USB cable until step 11. 11 USB 2 a. b. Lower both the paper tray and the print cartridge door.

Detaljer

TB-615 / TB-617 Wireless slim keyboard. EN User guide SE Användarhandledning FI Käyttöohje DK Brugervejledning NO Bruksanvisning

TB-615 / TB-617 Wireless slim keyboard. EN User guide SE Användarhandledning FI Käyttöohje DK Brugervejledning NO Bruksanvisning TB-615 / TB-617 Wireless slim keyboard EN User guide SE Användarhandledning FI Käyttöohje DK Brugervejledning NO Bruksanvisning EN User guide You have bought a wireless keyboard to use with Windows XP,

Detaljer

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX) Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX) Peter J. Rosendahl Click here if your download doesn"t start automatically Han Ola of Han Per:

Detaljer

Bestille trykk av doktoravhandling Ordering printing of PhD Thesis

Bestille trykk av doktoravhandling Ordering printing of PhD Thesis Bestille trykk av doktoravhandling Ordering printing of PhD Thesis Brukermanual / User manual Skipnes Kommunikasjon ntnu.skipnes.no PhD Thesis NTNU LOG IN NOR: Gå inn på siden ntnu.skipnes-wtp.no, eller

Detaljer

Information search for the research protocol in IIC/IID

Information search for the research protocol in IIC/IID Information search for the research protocol in IIC/IID 1 Medical Library, 2013 Library services for students working with the research protocol and thesis (hovedoppgaven) Open library courses: http://www.ntnu.no/ub/fagside/medisin/medbiblkurs

Detaljer

Litt mer om Arduino. Roger Antonsen Sten Solli INF1510 31. januar 2011

Litt mer om Arduino. Roger Antonsen Sten Solli INF1510 31. januar 2011 Litt mer om Arduino Roger Antonsen Sten Solli INF1510 31. januar 2011 ARDUINO Input (Data) Prosessering Output Arduino Man kan bruke de 3 elementene i varierende grad, og også kutte noen helt ut. Det finnes

Detaljer

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Endelig ikke-røyker for Kvinner! (Norwegian Edition) Endelig ikke-røyker for Kvinner! (Norwegian Edition) Allen Carr Click here if your download doesn"t start automatically Endelig ikke-røyker for Kvinner! (Norwegian Edition) Allen Carr Endelig ikke-røyker

Detaljer

DM6814/DM5814 User s Manual

DM6814/DM5814 User s Manual (Real Time Devices) Table 1-1 Factory Settings Switch/ Jumper Function Controlled Factory Settings (Jumpers Installed) P4 Connects a P14 jumper selectable interrupt source to an interrupt

Detaljer

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal. KROPPEN LEDER STRØM Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal. Hva forteller dette signalet? Gå flere sammen. Ta hverandre i hendene, og la de to ytterste personene

Detaljer

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard Trådløsnett med MacOSX 10.5 Leopard Wireless network with MacOSX 10.5 Leopard April 2010 Slå på Airport ved å velge symbolet for trådløst nettverk øverst til høyre på skjermen. Hvis symbolet mangler må

Detaljer

Exercise 1: Phase Splitter DC Operation

Exercise 1: Phase Splitter DC Operation Exercise 1: DC Operation When you have completed this exercise, you will be able to measure dc operating voltages and currents by using a typical transistor phase splitter circuit. You will verify your

Detaljer

SmartPass Mini User Manual BBNORGE.NO

SmartPass Mini User Manual BBNORGE.NO SmartPass Mini User Manual BBNORGE.NO Intro Welcome to the usermanual for your SmartPass Mini system. The first time you start the SmartPass you have to request a License. This is to regiser your license

Detaljer

INSTALLATION GUIDE FTR Cargo Rack Regular Ford Transit 130" Wheelbase ( Aluminum )

INSTALLATION GUIDE FTR Cargo Rack Regular Ford Transit 130 Wheelbase ( Aluminum ) INSTALLATION GUIDE 1505-FTR Cargo Rack Regular Ford Transit 130" Wheelbase ( Aluminum ) QUICK START GUIDE Phase 1 - Assembly q 1.1 Setup... q 1.2 Cargo Rack Assembly... 3-4 5-6 Phase 2 - Installation q

Detaljer

Trådløsnett med Windows Vista. Wireless network with Windows Vista

Trådløsnett med Windows Vista. Wireless network with Windows Vista Trådløsnett med Windows Vista Wireless network with Windows Vista Mai 2013 Hvordan koble til trådløst nettverk eduroam med Windows Vista? How to connect to the wireless networkeduroam with Windows Vista?

Detaljer

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) INF234 Er du? Er du? - Annet Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor

Detaljer

INSTALLATION GUIDE FTR Cargo Rack Regular Ford Transit 130" Wheelbase ( Aluminum )

INSTALLATION GUIDE FTR Cargo Rack Regular Ford Transit 130 Wheelbase ( Aluminum ) INSTALLATION GUIDE 1505-FTR Cargo Rack Regular Ford Transit 130" Wheelbase ( Aluminum ) QUICK START GUIDE Phase 1 - Assembly q 1.1 Setup... q 1.2 Cargo Rack Assembly... 3-4 5-6 Phase 2 - Installation q

Detaljer

REMOVE CONTENTS FROM BOX. VERIFY ALL PARTS ARE PRESENT READ INSTRUCTIONS CAREFULLY BEFORE STARTING INSTALLATION

REMOVE CONTENTS FROM BOX. VERIFY ALL PARTS ARE PRESENT READ INSTRUCTIONS CAREFULLY BEFORE STARTING INSTALLATION 2011-2014 FORD EXPLORER PARTS LIST Qty Part Description Qty Part Description 1 Bull Bar 2 12mm x 35mm Bolt Plates 1 Passenger/Right Mounting Bracket 2 12mm Nut Plate 1 Driver/Left Mounting Bracket 2 12mm

Detaljer

GLOBALCOMSERVER HP 9100C DIGITAL SENDER GATEWAY ADMINISTRATOR S GUIDE 1998 AVM INFORMATIQUE (UPDATED: AUGUST 22, 2006)

GLOBALCOMSERVER HP 9100C DIGITAL SENDER GATEWAY ADMINISTRATOR S GUIDE 1998 AVM INFORMATIQUE (UPDATED: AUGUST 22, 2006) PAGE 1 / 13 GLOBALCOMSERVER HP 9100C DIGITAL SENDER GATEWAY ADMINISTRATOR S GUIDE 1998 AVM INFORMATIQUE (UPDATED: AUGUST 22, 2006) PAGE 2 / 13 LICENSE LICENSE Information in this document is subject to

Detaljer

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring Compello Fakturagodkjenning Versjon 10 Software as a service Tilgang til ny modulen Regnskapsføring Dokumentopplysninger 2018 Compello AS. Med enerett. Microsoft, MS-DOS og Windows er registrerte varemerker

Detaljer

EMPIC MEDICAL. Etterutdanningskurs flyleger 21. april Lars (Lasse) Holm Prosjektleder Telefon: E-post:

EMPIC MEDICAL. Etterutdanningskurs flyleger 21. april Lars (Lasse) Holm Prosjektleder Telefon: E-post: EMPIC MEDICAL Etterutdanningskurs flyleger 21. april 2017 Lars (Lasse) Holm Prosjektleder Telefon: +47 976 90 799 E-post: Lrh@caa.no it-vakt@caa.no Luftfartstilsynet T: +47 75 58 50 00 F: +47 75 58 50

Detaljer

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import Compello Fakturagodkjenning Versjon 10.5 As a Service Tilgang til Compello Desktop - Regnskapsføring og Dokument import Dokumentopplysninger 2018 Compello AS. Med enerett. Microsoft, MS-DOS og Windows

Detaljer

Vedlegg 2 Dokumentasjon fra TVM leverandør

Vedlegg 2 Dokumentasjon fra TVM leverandør (Step 7) Payment selection or date modification state This screen is displayed after validation of a date in the calendar screen. The customer can: - Modify again the date by pressing the Validity begin:

Detaljer

Rom-Linker Software User s Manual

Rom-Linker Software User s Manual Rom-Linker Software User s Manual Tel.: +886-2-2274-1347 Fax. +886-2-2273-3014 Http://www.hmt.com.tw e-mail: hmtsales@hmt.com.tw Contents Catalogue Page (1) Rom-Linker Starting Screen... 01 (2) Rom-Linker

Detaljer

Elektronisk innlevering/electronic solution for submission:

Elektronisk innlevering/electronic solution for submission: VIKINGTIDSMUSEET Plan- og designkonkurranse/design competition Elektronisk innlevering/electronic solution for submission: Det benyttes en egen elektronisk løsning for innlevering (Byggeweb Anbud). Dette

Detaljer

Vurderingsveiledning SPR3008 Internasjonal engelsk Eleven gir stort sett greie og relevante svar på oppgavene i samsvar med oppgaveordlyden.

Vurderingsveiledning SPR3008 Internasjonal engelsk Eleven gir stort sett greie og relevante svar på oppgavene i samsvar med oppgaveordlyden. Answering Exam Tasks Currently the exam for this course has two tasks. Task 1 is referred to as the short task and task 2 is referred to as the long task. There are sometimes two parts to Task 1, a and

Detaljer

Dynamic Programming Longest Common Subsequence. Class 27

Dynamic Programming Longest Common Subsequence. Class 27 Dynamic Programming Longest Common Subsequence Class 27 Protein a protein is a complex molecule composed of long single-strand chains of amino acid molecules there are 20 amino acids that make up proteins

Detaljer

Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening.

Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening. Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening. 27.5 LCD Electronic thermostat with program setting. Bright LCD display placed at the top of the heater

Detaljer

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) INF247 Er du? Er du? - Annet Ph.D. Student Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen,

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. juni 2010 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

HONSEL process monitoring

HONSEL process monitoring 6 DMSD has stood for process monitoring in fastening technology for more than 25 years. HONSEL re- rivet processing back in 990. DMSD 2G has been continuously improved and optimised since this time. All

Detaljer

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time: Side 1 av 8 Norwegian University of Science and Technology DEPARTMENT OF COMPUTER AND INFORMATION SCIENCE MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN Wednesday 3 th Mars 2010 Time: 1615-1745 Allowed

Detaljer

of color printers at university); helps in learning GIS.

of color printers at university); helps in learning GIS. Making a Home Page Why a Web Page? Easier to submit labs electronically (lack of color printers at university); Easier to grade many labs; Provides additional computer experience that helps in learning

Detaljer

Moving Objects. We need to move our objects in 3D space.

Moving Objects. We need to move our objects in 3D space. Transformations Moving Objects We need to move our objects in 3D space. Moving Objects We need to move our objects in 3D space. An object/model (box, car, building, character,... ) is defined in one position

Detaljer

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6.

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6. Administrasjon av postnummersystemet i Norge Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6. may 2015 Postnumrene i Norge ble opprettet 18.3.1968 The postal codes in Norway was established in

Detaljer

Den som gjør godt, er av Gud (Multilingual Edition)

Den som gjør godt, er av Gud (Multilingual Edition) Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Click here if your download doesn"t start automatically Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Den som gjør godt,

Detaljer

SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM

SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM 2 TEMA 1 MULTIPROSESSERING MED DATASTEGET Multiprosessering har lenge vært et tema i SAS Stadig ny funksjonalitet er med på

Detaljer

Trigonometric Substitution

Trigonometric Substitution Trigonometric Substitution Alvin Lin Calculus II: August 06 - December 06 Trigonometric Substitution sin 4 (x) cos (x) dx When you have a product of sin and cos of different powers, you have three different

Detaljer

Databases 1. Extended Relational Algebra

Databases 1. Extended Relational Algebra Databases 1 Extended Relational Algebra Relational Algebra What is an Algebra? Mathematical system consisting of: Operands --- variables or values from which new values can be constructed. Operators ---

Detaljer

PSi Apollo. Technical Presentation

PSi Apollo. Technical Presentation PSi Apollo Spreader Control & Mapping System Technical Presentation Part 1 System Architecture PSi Apollo System Architecture PSi Customer label On/Off switch Integral SD card reader/writer MENU key Typical

Detaljer

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk Vekeplan 4. Trinn Veke 39 40 Namn: Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD Norsk Engelsk M& Mitt val Engelsk Matte Norsk Matte felles Engelsk M& Mitt val Engelsk Norsk M& Matte

Detaljer

Emneevaluering GEOV272 V17

Emneevaluering GEOV272 V17 Emneevaluering GEOV272 V17 Studentenes evaluering av kurset Svarprosent: 36 % (5 av 14 studenter) Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet PhD Candidate Samsvaret mellom

Detaljer

BIBSYS Brukermøte 2011 Live Rasmussen og Andreas Christensen. Alt på et brett? -om pensum på ipad og lesebrett

BIBSYS Brukermøte 2011 Live Rasmussen og Andreas Christensen. Alt på et brett? -om pensum på ipad og lesebrett BIBSYS Brukermøte 2011 Live Rasmussen og Andreas Christensen Alt på et brett? -om pensum på ipad og lesebrett Prosjektet epensum på lesebrett Vi ønsker å: Studere bruk av digitalt pensum i studiesituasjonen.

Detaljer

SERVICE BULLETINE 2008-4

SERVICE BULLETINE 2008-4 S e r v i c e b u l l e t i n e M a t e r i e l l Materiellsjef F/NLF kommuniserer påminnelse omkring forhold som ansees som vesentlige for å orientere om viktige materiellforhold. Målgruppen for Servicbulletinen

Detaljer

Justeringsanvisninger finnes på de to siste sidene.

Justeringsanvisninger finnes på de to siste sidene. d Montering av popup spredere Justeringsanvisninger finnes på de to siste sidene. Link til monteringsfilm på youtube: http://youtu.be/bjamctz_kx4 Hver spreder har montert på en "svinkobling", det vil si

Detaljer

Trådløst nett UiT Feilsøking. Wireless network UiT Problem solving

Trådløst nett UiT Feilsøking. Wireless network UiT Problem solving Trådløst nett UiT Feilsøking Wireless network UiT Problem solving April 2015 Hvorfor får jeg ikke koblet meg opp mot trådløst nettverk med Windows 7? Why can t I connect to the wireless network with Windows

Detaljer

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

5 E Lesson: Solving Monohybrid Punnett Squares with Coding 5 E Lesson: Solving Monohybrid Punnett Squares with Coding Genetics Fill in the Brown colour Blank Options Hair texture A field of biology that studies heredity, or the passing of traits from parents to

Detaljer

SJEKKESKOLEN: EN STEG-FOR-STEG GUIDE TIL TILTREKNING AV FANTASTISKE JENTER (NORWEGIAN EDITION) BY ANDREAS GODE VIBBER

SJEKKESKOLEN: EN STEG-FOR-STEG GUIDE TIL TILTREKNING AV FANTASTISKE JENTER (NORWEGIAN EDITION) BY ANDREAS GODE VIBBER Read Online and Download Ebook SJEKKESKOLEN: EN STEG-FOR-STEG GUIDE TIL TILTREKNING AV FANTASTISKE JENTER (NORWEGIAN EDITION) BY ANDREAS GODE VIBBER DOWNLOAD EBOOK : SJEKKESKOLEN: EN STEG-FOR-STEG GUIDE

Detaljer

Speed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F.

Speed Racer Theme. Theme Music: Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz. September 9, 2011 Physics 131 Prof. E. F. September 9, 2011 Physics 131 Prof. E. F. Redish Theme Music: Speed Racer Theme Cartoon: Charles Schultz / Jef Mallett Peanuts / Frazz 1 Reading questions Are the lines on the spatial graphs representing

Detaljer

EN Skriving for kommunikasjon og tenkning

EN Skriving for kommunikasjon og tenkning EN-435 1 Skriving for kommunikasjon og tenkning Oppgaver Oppgavetype Vurdering 1 EN-435 16/12-15 Introduction Flervalg Automatisk poengsum 2 EN-435 16/12-15 Task 1 Skriveoppgave Manuell poengsum 3 EN-435

Detaljer

The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses.

The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses. 1 The law The regulation requires that everyone at NTNU shall have fire drills and fire prevention courses. 2. 3 Make your self familiar with: Evacuation routes Manual fire alarms Location of fire extinguishers

Detaljer

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2 Mathematics 4Q Name: SOLUTIONS. (x + 5)(x +5x) 7 8 (x +5x) 8 + C [u x +5x]. (3 x) (3 x) + C [u 3 x] 3. 7x +9 (7x + 9)3/ [u 7x + 9] 4. x 3 ( + x 4 ) /3 3 8 ( + x4 ) /3 + C [u + x 4 ] 5. e 5x+ 5 e5x+ + C

Detaljer

GEOV219. Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet postbachelor phd

GEOV219. Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet postbachelor phd GEOV219 Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet postbachelor phd Mener du at de anbefalte forkunnskaper var nødvendig? Er det forkunnskaper du har savnet? Er det forkunnskaper

Detaljer

Innholdsfortegnelse... 1 Endringslogg UD BETALINGSTERMINAL NETS NEW DRIVERS FULL SUPPORT WINDOWS

Innholdsfortegnelse... 1 Endringslogg UD BETALINGSTERMINAL NETS NEW DRIVERS FULL SUPPORT WINDOWS ENDRINGSLOGG INNHOLDSFORTEGNELSE Innholdsfortegnelse... 1 Endringslogg 2017.151.1... 3 UD-17.136 BETALINGSTERMINAL NETS NEW DRIVERS FULL SUPPORT WINDOWS 10... 3 UD-17.137 UTESTÅENDE NOT SHOWIN CROSSED

Detaljer

Ethernet Starter Kit II

Ethernet Starter Kit II Ethernet Starter Kit II Tel: +49 (2405) 408 550 Fax: +49 (2405) 408 554 44 Email: info@wilke.de 1 Ethernet Starter Kit II Welcome to the Ethernet Starter Kit II. This short description is intended to

Detaljer

LabVIEW seriekommunikasjon med mikrokontroller

LabVIEW seriekommunikasjon med mikrokontroller KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.15 OPPG.NR.: LV3 LabVIEW seriekommunikasjon med mikrokontroller Oppgave Denne oppgaven går ut på å lage et LabVIEW-program som kan kommunisere med en

Detaljer

stjerneponcho for voksne star poncho for grown ups

stjerneponcho for voksne star poncho for grown ups stjerneponcho for voksne star poncho for grown ups www.pickles.no / shop.pickles.no NORSK Størrelser XS (S) M (L) Garn Pickles Pure Alpaca 300 (350) 400 (400) g hovedfarge 100 (100) 150 (150) g hver av

Detaljer

Løsningsforslag for oppgavene i operativsystemer og C, uke 38 ( )

Løsningsforslag for oppgavene i operativsystemer og C, uke 38 ( ) Løsningsforslag for oppgavene i operativsystemer og C, uke 38 (19.9-23.9) På terminalstue: Oppgave 1: List alle filer og kataloger under /usr/bin som har filnavn som begynner på b. ls /usr/bin/b* Oppgave

Detaljer

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Emneevaluering GEOV325 Vår 2016 Kommentarer til GEOV325 VÅR 2016 (emneansvarlig) Forelesingsrommet inneholdt ikke gode nok muligheter for å kunne skrive på tavle og samtidig ha mulighet for bruk av power

Detaljer

Intro til Atmel Studio Bits&bytes

Intro til Atmel Studio Bits&bytes Intro til Atmel Studio 6.1 - Bits&bytes Vi har nå vært igjennom et bittelite prosjekt med en LED og en knapp, husker du at vi måtte gjøre noe spessielt med PORTB i loopen vår så den skulle fortsette å

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. april 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe CARING OMSORG Is when we show that we care about others by our actions or our words Det er når vi viser at vi bryr oss om andre med det vi sier eller gjør PATIENCE TÅLMODIGHET Is the ability to wait for

Detaljer

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett

Detaljer

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor. 6-13 July 2013 Brisbane, Australia Norwegian 1.0 Brisbane har blitt tatt over av store, muterte wombater, og du må lede folket i sikkerhet. Veiene i Brisbane danner et stort rutenett. Det finnes R horisontale

Detaljer

klassisk angoragenser classic angora sweater

klassisk angoragenser classic angora sweater klassisk angoragenser classic angora sweater www.pickles.no / shop.pickles.no NORSK Størrelser XS (S) M (L) XL (XXL) Garn Pickles Angora 150 (175) 200 (225) 250 (275) g Pinner 80 og 40 cm rundpinne og

Detaljer

// Translation // KLART SVAR «Free-Range Employees»

// Translation // KLART SVAR «Free-Range Employees» // Translation // KLART SVAR «Free-Range Employees» Klart Svar is a nationwide multiple telecom store, known as a supplier of mobile phones and wireless office solutions. The challenge was to make use

Detaljer

GYRO MED SYKKELHJUL. Forsøk å tippe og vri på hjulet. Hva kjenner du? Hvorfor oppfører hjulet seg slik, og hva er egentlig en gyro?

GYRO MED SYKKELHJUL. Forsøk å tippe og vri på hjulet. Hva kjenner du? Hvorfor oppfører hjulet seg slik, og hva er egentlig en gyro? GYRO MED SYKKELHJUL Hold i håndtaket på hjulet. Sett fart på hjulet og hold det opp. Det er lettest om du sjølv holder i håndtakene og får en venn til å snurre hjulet rundt. Forsøk å tippe og vri på hjulet.

Detaljer

Call function of two parameters

Call function of two parameters Call function of two parameters APPLYUSER USER x fµ 1 x 2 eµ x 1 x 2 distinct e 1 0 0 v 1 1 1 e 2 1 1 v 2 2 2 2 e x 1 v 1 x 2 v 2 v APPLY f e 1 e 2 0 v 2 0 µ Evaluating function application The math demands

Detaljer

Den som gjør godt, er av Gud (Multilingual Edition)

Den som gjør godt, er av Gud (Multilingual Edition) Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Click here if your download doesn"t start automatically Den som gjør godt, er av Gud (Multilingual Edition) Arne Jordly Den som gjør godt,

Detaljer

Macbeth: Frozen Scenes

Macbeth: Frozen Scenes Macbeth: Frozen Scenes Using Frozen Scenes There are several ways to use these scenes 1. Along with the scene one can give the students the lines from the play and ask them to perform their scene with

Detaljer

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson

Detaljer

Time & Attendance Timeregistrering. End User Sluttbruker

Time & Attendance Timeregistrering. End User Sluttbruker Time & Attendance Timeregistrering End User Sluttbruker Introduction Introduksjon This presentation is a step by step walkthrough of the time registration process in our HR system. The information is presented

Detaljer

Perpetuum (im)mobile

Perpetuum (im)mobile Perpetuum (im)mobile Sett hjulet i bevegelse og se hva som skjer! Hva tror du er hensikten med armene som slår ut når hjulet snurrer mot høyre? Hva tror du ordet Perpetuum mobile betyr? Modell 170, Rev.

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Norsk Eksamensdato: 20. mai 2014 Varighet/eksamenstid: 0900-1400 Emnekode: Emnenavn: TELE3010-A 14V Mikroprosessorsystemer Klasse(r): 2EE 2EI Studiepoeng:

Detaljer

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017 Enkel og effektiv brukertesting Ida Aalen LOAD.17 21. september 2017 Verktøyene finner du her: bit.ly/tools-for-testing Har dere gjort brukertesting? Vet du hva dette ikonet betyr? Mobil: 53% sa nei Desktop:

Detaljer

ARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012

ARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012 ARDUINO PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK STUDIELABEN FRITZING Roger Antonsen INF1510 30. januar 2012 Arduino Cookbook, Michael Margolis Denne

Detaljer

FIRST LEGO League. Härnösand 2012

FIRST LEGO League. Härnösand 2012 FIRST LEGO League Härnösand 2012 Presentasjon av laget IES Dragons Vi kommer fra Härnosänd Snittalderen på våre deltakere er 11 år Laget består av 4 jenter og 4 gutter. Vi representerer IES i Sundsvall

Detaljer

https://sandefjord.ist-asp.com/sandefjordpub/login.htm

https://sandefjord.ist-asp.com/sandefjordpub/login.htm Søknad om plass i barnehage eller SFO i Sandefjord kommune Application for a place in kindergarten or day care facilities for school children, this will be referred to as SFO. Søknad om plass skal legges

Detaljer

Start MATLAB. Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5

Start MATLAB. Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5 Start MATLAB Start NUnet Applications Statistical and Computational packages MATLAB Release 13 MATLAB 6.5 Prompt >> will appear in the command window Today: MATLAB overview In-class HW: Chapter 1, Problems

Detaljer

Windows Server 2008 Hyper-V, Windows Server 2008 Server Core Installation Notes

Windows Server 2008 Hyper-V, Windows Server 2008 Server Core Installation Notes Windows Server 2008 Hyper-V, Hyper-V Server 2008, and Windows Server 2008 Server Core Installation Notes Installing Dell UPS Management Software on a Hypervisor-Based Server Environment w w w. d e l l.

Detaljer

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk.

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Stavanger, 25. januar 2012 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Vi skal i denne øvinga se litt på brytere, lysdioder og

Detaljer

Bostøttesamling

Bostøttesamling Bostøttesamling 2016 Teresebjerke@husbankenno 04112016 2 09112016 https://wwwyoutubecom/watch?v=khjy5lwf3tg&feature=youtube 3 09112016 Hva skjer fremover? 4 09112016 «Gode selvbetjeningsløsninger» Kilde:

Detaljer

IN 211 Programmeringsspråk. Dokumentasjon. Hvorfor skrive dokumentasjon? For hvem? «Lesbar programmering» Ark 1 av 11

IN 211 Programmeringsspråk. Dokumentasjon. Hvorfor skrive dokumentasjon? For hvem? «Lesbar programmering» Ark 1 av 11 Dokumentasjon Hvorfor skrive dokumentasjon? For hvem? «Lesbar programmering» Ark 1 av 11 Forelesning 8.11.1999 Dokumentasjon Med hvert skikkelig program bør det komme følgende dokumentasjon: innføring

Detaljer

Årsplan ENGELSK 5.trinn. Setningsmønster It starts at It finishes at I want to be a when I grow up

Årsplan ENGELSK 5.trinn. Setningsmønster It starts at It finishes at I want to be a when I grow up Årsplan ENGELSK 5.trinn Kompetansemål (Henta frå Kunnskapsløftet) Språklæring identifisere og bruke ulike situasjoner og læringsstrategier for å utvide egne ferdigheter i engelsk beskrive eget arbeid med

Detaljer

Kartleggingsskjema / Survey

Kartleggingsskjema / Survey Kartleggingsskjema / Survey 1. Informasjon om opphold i Norge / Information on resident permit in Norway Hvilken oppholdstillatelse har du i Norge? / What residence permit do you have in Norway? YES No

Detaljer

GEO231 Teorier om migrasjon og utvikling

GEO231 Teorier om migrasjon og utvikling U N I V E R S I T E T E T I B E R G E N Institutt for geografi Emnerapport høsten 2013: GEO231 Teorier om migrasjon og utvikling Innhold: 1. Informasjon om emnet 2. Statistikk 3. Egenevaluering 4. Studentevaluering

Detaljer

Forelesning 5. Diverse komponenter/større system

Forelesning 5. Diverse komponenter/større system Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i MAT2400 Analyse 1. Eksamensdag: Onsdag 15. juni 2011. Tid for eksamen: 09.00 13.00 Oppgavesettet er på 6 sider. Vedlegg: Tillatte

Detaljer

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) INF283, HØST 16 Er du? Er du? - Annet Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye) Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 =

Detaljer

Maple Basics. K. Cooper

Maple Basics. K. Cooper Basics K. Cooper 2012 History History 1982 Macsyma/MIT 1988 Mathematica/Wolfram 1988 /Waterloo Others later History Why? Prevent silly mistakes Time Complexity Plots Generate LATEX This is the 21st century;

Detaljer

FASMED. Tirsdag 21.april 2015

FASMED. Tirsdag 21.april 2015 FASMED Tirsdag 21.april 2015 SCHEDULE TUESDAY APRIL 21 2015 0830-0915 Redesign of microorganism lesson for use at Strindheim (cont.) 0915-1000 Ideas for redesign of lessons round 2. 1000-1015 Break 1015-1045

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer