William Sandqvist Flera saker samtidigt? /* Blink1: 1s ON - 1s OFF */ /* Blink2: 0,2s ON - 0,2s OFF - 1s ON - 1s OFF */

Slides:



Advertisements
Liknande presentationer
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Advertisements

Villkor Booelska operatorer Villkorsatser Switchsatser Villkor och annat.
William Sandqvist Simulera med ModelSim ModelSim kan användas till att simulera VHDL-kod, för att avgöra om den är "rätt" tänkt. Man kan.
Programstruktur: C för enchipsdatorer
Många studenter använder en LCD-display till sin programmeringsuppgift
2D1311 Programmeringsteknik med PBL
William Sandqvist Störskydd William Sandqvist
Repetition inför provet
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Föreläsning 7 Analys av algoritmer T(n) och ordo
#include void fun(char s[]) { int i=-1; while(s[++i]!=0) { if('a'
Ämne 1 Ämne 2 Ämne 3 Ämne 4 Ämne 5 Avsluta. Ämne 1 – 100 Frågan Svaret.
PICKit2 programmer-to-go
William Sandqvist Programmet onoffred.c.
SmartCard laborationen
William Sandqvist Varför använda en liten 8-bitars processor när det finns billiga kraftfulla 32-bitars? William Sandqvist
Kretselement på grafisk form
William Sandqvist Blanda R och G William Sandqvist
Språket för inbyggda system 3
Grundläggande programmering
Realtidsprog. - Anders Arvidsson1 Realtidsprogrammering En introduktion – Implementering (med exempel från PIC)
Programmering B PHP Lektion 2
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Programmering B PHP Lektion 3
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Några småsaker switch break, continue, goto Kommentarer.
William Sandqvist C:s minnesmodell.
Operativsystem Vad är det för något ? Varför har man operativsystem ?
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Modulär programutveckling
William Sandqvist Kodlåsmall lockmall.vhd William Sandqvist
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Programmering efter tillståndsdiagram
DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
INTRODUKTION TILL PROGRAMMERING
Problemlösningsmetodik
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
William Sandqvist Polling och Interrupt Antag att Du sitter i en skön fåtölj och läser en bok. Plötsligt blir Du avbruten av att telefonen.
Vad kännetecknar ett sekvensnät?
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Emulatorkonstruktion Schema Inledning Andra metoder Mina metoder Demonstration av min C64-emulator Sammanfattning och frågor.
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
William Sandqvist PIC-programmeringsmiljön i skolan Datorerna i skolans labsalar är centralt underhållna. Du har inte rättigheter att installera.
Din rapport ? Beskriv din applikation.
William Sandqvist Melodispelaren Denna demonstrationslaboration visar, steg för steg, hur man skriver ett kort program i programspråket.
William Sandqvist ReadModifyWrite-problemet PORTB = 0; PORTB.0 = 1; PORTB = PORTB; Vilket värde har portpinnen RB1 nu ? Förmodligen ”1”,
William Sandqvist Lab 2 Några slides att repetera inför Lab 2 William Sandqvist
William Sandqvist Många spännande komponenter passar inte 2,54 mm modulen? Därför finns det ”Breakoutboard” som anpassning, för den som.
GOLDBERG MASKIN. RUBE GOLDBERG- MASKIN En Rube Goldberg-maskin är en maskin av den typ som tecknaren Rube Goldberg gärna ritade, ofta en extremt onödigt.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
William Sandqvist DA-omvandling, oftast PWM.
William Sandqvist Binärkod och Graykod 7 Bitars Kodskiva för avkodning av vridningsvinkel. Skivans vridnings-vinkel finns tryckt som binära.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
William Sandqvist Är Du bra på for-loopar? Ge triangelns höjd: 12 1> * > *** > *****
William Sandqvist Distributed Computing Client – Server. En skrivarserver kan vara ett exempel på en Client-Server arkitektur. S Burd, Systems.
William Sandqvist PWM Sinusoidal Hur tillverkar man en sinusformad spänning? En PWM-signal kan ge en sinusapproximation. Efter filtrering.
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Robotprogrammering med Arduino Robot
DA-omvandling, oftast PWM William Sandqvist En DA-omvandlare tar stor plats på processor- chippet. Den vanligaste DA-lösningen är i stället.
Operativsystem Vad är det för något ? Varför har man operativsystem ? Vilka finns det ?
KPP053, HT2015 MATLAB, Föreläsning 4
Föreläsning 3: Booleans, if, switch
Presentationens avskrift:

William Sandqvist Flera saker samtidigt? /* Blink1: 1s ON - 1s OFF */ /* Blink2: 0,2s ON - 0,2s OFF - 1s ON - 1s OFF */

William Sandqvist Först en lysdiod … while(1) { /* Blink1: 1s ON - 1s OFF */ switch(State1) { case 0: Blink1 = ON; Time1++; if( Time1 == 10 ) { State1 = 1; Time1 = 0; } break; case 1: Blink1 = OFF; Time1++; if( Time1 == 10 ) { State1 = 0; Time1 = 0; } } delay10(10); /* 0,1 sek delay */ }

William Sandqvist Sedan en annan lysdiod … while(1) { /* Blink2: 0,2s ON - 0,2s OFF - 1s ON - 1s OFF */ switch(State2) { case 0: Blink2 = ON; Time2++; if( Time2 == 2 ) { State2 = 1; Time2 = 0; } break; case 1: Blink2 = OFF; Time2++; if( Time2 == 2 ) { State2 = 2; Time2 = 0; } break; case 2: Blink2 = ON; Time2++; if( Time2 == 10 ) { State2 = 3; Time2 = 0; } break; case 3: Blink2 = OFF; Time2++; if( Time2 == 10 ) { State2 = 0; Time2 = 0; } } delay10(10); /* 0,1 sek delay */ }

William Sandqvist Varför inte båda? while(1) { /* Blink1: 1s ON - 1s OFF */ switch(State1) { case 0:... ; break; case 1:... ; } /* Blink2: 0,2s ON - 0,2s OFF - 1s ON - 1s OFF */ switch(State2) { case 0:... ; break; case 1:... ; break; case 2:... ; break; case 3:... ; } delay10(10); /* 0,1 sek delay */ }

William Sandqvist En makalös manick? Lysdiod1, Lysdiod2, Kaffeautomat, Motor … Alla kursens Moore-automater på en och samma gång! manick.c Programmet är bara på 300 kodrader. ( Frågan är vad man ska ha det till ? ) Årets Julklapp?

William Sandqvist State machines State machines/Tillståndsmaskiner/Moore-automater är således mycket användbara hjälpmedel för att programmera ”parallella” processer för små microcontrollers. Tips! Observera att B Knudsen lägger ut effektivare kod för switch() – case än för if() – else if() – else så använd alltid switch-satsen! Många komersiella programvaror bygger på State machines …

William Sandqvist Grafiska programspråk, LabView do { Blink != Blink; delay10(100); /* 1 sek delay */ } while(!Stop );

William Sandqvist En state machine ritad med Realizer. PIC-kod genereras sedan direkt. Realizer, ett grafiskt programmeringsverktyg för små processorer, tex. PIC. Realiser

William Sandqvist B. Knudsen Kan man verkligen skriva ”multitask program” för en 8 bitars processor som bara har en ynkligt liten hårdvarustack? B Knudsen har ett ”udda” verktyg, Leanslice – som ger multitasking med hjälp av anrop till en ”dold statemachine”. Leanslice manual Den som är intresserad läser:

William Sandqvist