Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)
|
|
- Carina Bergström
- för 9 år sedan
- Visningar:
Transkript
1 Realtidsprogrammering En introduktion Implementering (med exempel från PIC)
2 Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt mintid ( Best case). För garanterad mintid kan en funktion utgöras av en fördröjningsloop. Realtidsprog. implementering - Anders Arvidsson 2
3 Utan timing while(1){ PWM = knapptest(); PORTB = BinBCD(PWM); RA2 = PWM_styr(PWM); delay(); // Evig loop // Läs och behandla indata // Presentera // Agera // Eventuell fördröjningsloop Anm: Exekvering får ej stanna i någon funktion, se nästa sida. Realtidsprog. implementering - Anders Arvidsson 3
4 Kodstruktur Vilken kod fungerar i realtid? while(1) { while (knapp==0) // Väntar tills knapp är tryckt continue; while(1) { if (knapp ==1 && knappold ==0) // Detekterar att knappens Knapptryckt = 1; // tillstånd har gått från 0 till 1 Led ^=1; while (knapp==1) continue; // Väntar tills knapp är släppt Knappold = knapp; if (Knapptryckt == 1) { Led ^=1; Knapptryckt = 0; Realtidsprog. implementering - Anders Arvidsson 4
5 Med timing start Vid hård realtid får Worst case aldrig överstiga tiden från start av timer tills timern räknat ut. Periodtiden blir då konstant. Vid mjuk realtid kan timern startas med en kortare tid nästa varv om det förra varvet tog lite för lång tid. (Ladda om timern genom subtraktion istället för att ladda med en konstant). wait Realtidsprog. implementering - Anders Arvidsson 5
6 Med timing while(1){ start_timer(periodtid); PWM = knapptest(); PORTB = BinBCD(PWM); RA2 = PWM_styr(PWM); // Evig loop // Starta timern // Läs och behandla indata // Presentera // Agera idle(); // Vänta på att timern räknat ut // Parallellt med det kan en // bakgrundstask utföras Anm: Funktionerna får tillsammans inte ta längre tid än periodtid Realtidsprog. implementering - Anders Arvidsson 6
7 Tidmätning Timer 0 Timer 8 bitar, räknar ständigt upp Kan slöas ner av prescaler max 256 ggr => upp till cykler Använder intern klocka eller extern pinne Kan fungera som räknare Realtidsprog. implementering - Anders Arvidsson 7
8 Timer Se option_reg (skriv bara option, i C) för konfigurering. Realtidsprog. implementering - Anders Arvidsson 8
9 Timer Exempelkod void init_timer(void) { PSA = 0; // Koppla prescaler till TMR0 PS0 = 0; // Prescaler satt till PS1 = 1; // dela med 128 PS2 = 1; T0CS = 0; // Väljer intern oscillator till timer void start_timer(void) { TMR0 = timervalue; T0IF = 0; // Laddar om timer // (256-timervalue)*prescaler*1us + omladdningstid void wait_timer(void) { while(!t0if) continue; // Väntar på att timer räknar ut (CPU är idle ) Realtidsprog. implementering - Anders Arvidsson 9
10 Med timing, funktioner med lång exekv. tid start switch() Om en funktion tar för lång tid kan den ibland delas upp i två (eller fler) delar där ena delen körs ena varvet, andra delen nästa. Denna metod används när interrupt inte bör användas men någon funktion har behöver kortare periodtid än den långa funktionen kan möta. wait Realtidsprog. implementering - Anders Arvidsson 10
11 Exekveringstid Kompilatorns och kodens inverkan Tänk på att kompilatorn kan generera helt olika kod vid små förändringar i syntaxen. Studera den genererade assemblerkoden och bedöm om något tar onödigt mycket kod/exekveringstid. Testa då en omskrivning. I MPLAB syns den genererade koden under View Disassembly Listing. Realtidsprog. implementering - Anders Arvidsson 11
12 Exekveringstid Kompilatorns och kodens inverkan ui16duty = ui16duty + ui8ipartoffs - 128; Adress Hexkod Asm 0B BCF 0x3, 0x5 0B3 086B MOVF 0x6b, W 0B4 00FB MOVWF 0x7b 0B5 01FC CLRF 0x7c 0B MOVF 0x54, W 0B7 07FB ADDWF 0x7b, F 0B BTFSC 0x3, 0 0B9 0AFC INCF 0x7c, F 0BA 0855 MOVF 0x55, W 0BB 07FC ADDWF 0x7c, F 0BC 3080 MOVLW 0x80 0BD 077B ADDWF 0x7b, W 0BE 00D4 MOVWF 0x54 0BF 30FF MOVLW 0xff 0C BTFSC 0x3, 0 0C MOVLW 0 0C2 077C ADDWF 0x7c, W 0C3 00D5 MOVWF 0x55 ui16duty = ui16duty + ui8ipartoffs; 0B BCF 0x3, 0x5 0B3 086B MOVF 0x6b, W 0B4 07D4 ADDWF 0x54, F 0B BTFSC 0x3, 0 0B6 0AD5 INCF 0x55, F ui16duty = ui16duty - 128; 0B MOVLW 0x80 0B8 07D4 ADDWF 0x54, F 0B9 1C03 BTFSS 0x3, 0 0BA 03D5 DECF 0x55, F Koden genererar 9 rader asm Koden genererar 18 rader asm (= 18 Word) Realtidsprog. implementering - Anders Arvidsson 12
13 Exekveringstid Kompilatorns och kodens inverkan if ((ui8goalpwmin) > (ui8pwmin + 1)) 1DE 00FB MOVWF 0x7b 1DF 01FC CLRF 0x7c 1E MOVF 0x43, W 1E1 00FD MOVWF 0x7d 1E2 01FE CLRF 0x7e 1E MOVLW 0x1 1E4 07FD ADDWF 0x7d, F 1E BTFSC 0x3, 0 1E6 0AFE INCF 0x7e, F 1E7 087E MOVF 0x7e, W 1E8 3A80 XORLW 0x80 1E9 00FF MOVWF 0x7f 1EA 087C MOVF 0x7c, W 1EB 3A80 XORLW 0x80 1EC 027F SUBWF 0x7f, W 1ED 1D03 BTFSS 0x3, 0x2 1EE 29F1 GOTO 0x1f1 1EF 087B MOVF 0x7b, W 1F0 027D SUBWF 0x7d, W 1F1 1C03 BTFSS 0x3, 0 1F2 2A09 GOTO 0x209 if ((ui8goalpwmin) > (INT8U)(ui8PwmIn + 1)) 1DE 0A43 INCF 0x43, W 1DF 00FD MOVWF 0x7d 1E MOVF 0x44, W 1E1 027D SUBWF 0x7d, W 1E2 1C03 BTFSS 0x3, 0 1E3 29E8 GOTO 0x1e8 Koden genererar 6 rader asm INT8U är genom typedef satt till en unsigned char typedef unsigned char INT8U; (ui8pwmin + 1) betraktas nu inte längre av kompilatorn som en signed i jämförelsen. Koden genererar 21 rader asm Realtidsprog. implementering - Anders Arvidsson 13
14 Med timing, verifiera marginal (alternativ 1) start switch() Debug = 1; Använd en ledig pinne (Debug) för att verifiera exekveringstiden. Sätt t ex pinnen vid loopens början, nollställ i vänterutinen. Trigga på stigande flank och mät på oscilloskop med persist (ej radering av föregående svep). Kontrollera att det alltid finns marginal oavsett vad programmet gör. Debug = 0; wait Realtidsprog. implementering - Anders Arvidsson 14
15 Med timing, verifiera marginal (alternativ 2) start switch() I program med små marginaler kan det vara enklare att mäta tiden programmet vistas i vänterutinen. Kom ihåg att subtrahera minsta tiden vänterutinen själv tar vid beräkning av tidsmarginal. Debug = 1; Kontrollera också frekvensen på debugpinnen. Ändras denna tar exekveringen för lång tid. Ge felindikering (t ex tänd en LED) om timern redan räknat ut när programmet går in i wait. wait Debug = 0; Realtidsprog. implementering - Anders Arvidsson 15
16 Interrupt Avbrott = preemptive schemaläggning Realtidsprog. implementering - Anders Arvidsson 16
17 Med Avbrott ISR Större delen av programmet körs som en bakgrundstask. Avbrottsrutinen (ISR) kör med viss periodicitet (triggad av timern) och/eller vid vissa händelser. Övriga programmet kan köras med timing som i tidigare exempel, synkronisera med en flagga från ISR eller använd en andra timer. Realtidsprog. implementering - Anders Arvidsson 17
18 Avbrott Exempelkod void interrupt timer(void){ // timer = funktionens namn // interrupt = lägg funktionen på int_handling(); // adress 4 something_hard(); i main() while(1){ // Evig loop something_soft(); idle(); // Vänta på nästa interrupt // = Synk Realtidsprog. implementering - Anders Arvidsson 18
19 Interrupt Källor Flaggor IE = Interrupt Enable IF = Interrupt Flag Realtidsprog. implementering - Anders Arvidsson 19
20 Konfigurera Interrupt Exempelkod void interrupt timer(void) { Flag = 1; TMR0 = timervalue; T0IF = 0; // Visa att int skett // Sätt timervalue med #define void init(void) { PSA = 0; // Använd prescaler till TMR0 PS0 = 1; // Prescaler satt till dela med 64 PS1 = 0; PS2 = 1; T0CS = 0; // Väljer intern oscillator T0IE = 1; // Timer0 Interrupt Enable GIE = 1; // Global Interrupt Enable Realtidsprog. implementering - Anders Arvidsson 20
21 Implementera schemaläggning Robot från föreläsning om realtidsprinciper. Realtidsprog. implementering - Anders Arvidsson 21
22 Struktur Switch switch (CykCnt) { // Var 10:e ms case 0:{ // 0 ms K(); // Krocksensor S(); // Styr robot H(); // Hjulräknare break; case 1: case 5: { // 10, 50 ms K(); break; case 2: case 4: { // 20, 40 ms K(); S(); break; case 3: { // 30 ms K(); H(); break; default: { CykCnt=0; CykCnt=CykCnt++; If (CykCnt == 6) CykCnt=0; Realtidsprog. implementering - Anders Arvidsson 22
23 Utan timing Realtidsprogrammering Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt mintid ( Best case). För garanterad mintid kan en funktion utgöras av en fördröjningsloop. En introduktion Implementering (med exempel från PIC) Realtidsprog. implementering - Anders Arvidsson 2 Utan timing while(1){ // Evig loop Kodstruktur Vilken kod fungerar i realtid? PWM = knapptest(); // Läs och behandla indata while(1) { while(1) { PORTB = BinBCD(PWM); // Presentera while (knapp==0) // Väntar tills knapp är tryckt continue; if (knapp ==1 && knappold ==0) // Detekterar att knappens Knapptryckt = 1; // tillstånd har gått från 0 till 1 RA2 = PWM_styr(PWM); delay(); // Agera // Eventuell fördröjningsloop Led ^=1; while (knapp==1) // Väntar tills knapp är släppt continue; Knappold = knapp; if (Knapptryckt == 1) { Led ^=1; Knapptryckt = 0; Anm: Exekvering får ej stanna i någon funktion, se nästa sida. Realtidsprog. implementering - Anders Arvidsson 3 Realtidsprog. implementering - Anders Arvidsson 4 Med timing start wait Vid hård realtid får Worst case aldrig överstiga tiden från start av timer tills timern räknat ut. Periodtiden blir då konstant. Vid mjuk realtid kan timern startas med en kortare tid nästa varv om det förra varvet tog lite för lång tid. (Ladda om timern genom subtraktion istället för att ladda med en konstant). Med timing while(1){ start_timer(periodtid); PWM = knapptest(); PORTB = BinBCD(PWM); RA2 = PWM_styr(PWM); // Evig loop // Starta timern // Läs och behandla indata // Presentera // Agera idle(); // Vänta på att timern räknat ut // Parallellt med det kan en // bakgrundstask utföras Anm: Funktionerna får tillsammans inte ta längre tid än periodtid Realtidsprog. implementering - Anders Arvidsson 5 Realtidsprog. implementering - Anders Arvidsson 6 1
24 Tidmätning Timer 0 Timer Timer 8 bitar, räknar ständigt upp Kan slöas ner av prescaler max 256 ggr => upp till cykler Använder intern klocka eller extern pinne Kan fungera som räknare Se option_reg (skriv bara option, i C) för konfigurering. Realtidsprog. implementering - Anders Arvidsson 7 Realtidsprog. implementering - Anders Arvidsson 8 Timer Exempelkod Med timing, funktioner med lång exekv. tid void init_timer(void) { PSA = 0; // Koppla prescaler till TMR0 PS0 = 0; // Prescaler satt till PS1 = 1; // dela med 128 PS2 = 1; T0CS = 0; // Väljer intern oscillator till timer void start_timer(void) // Laddar om timer { TMR0 = timervalue; // (256-timervalue)*prescaler*1us + omladdningstid T0IF = 0; start switch() Om en funktion tar för lång tid kan den ibland delas upp i två (eller fler) delar där ena delen körs ena varvet, andra delen nästa. Denna metod används när interrupt inte bör användas men någon funktion har behöver kortare periodtid än den långa funktionen kan möta. void wait_timer(void) { while(!t0if) continue; // Väntar på att timer räknar ut (CPU är idle ) wait Realtidsprog. implementering - Anders Arvidsson 9 Realtidsprog. implementering - Anders Arvidsson 10 Exekveringstid Kompilatorns och kodens inverkan Tänk på att kompilatorn kan generera helt olika kod vid små förändringar i syntaxen. Studera den genererade assemblerkoden och bedöm om något tar onödigt mycket kod/exekveringstid. Testa då en omskrivning. I MPLAB syns den genererade koden under View Disassembly Listing. Exekveringstid Kompilatorns och kodens inverkan ui16duty = ui16duty + ui8ipartoffs - 128; Adress Hexkod Asm 0B BCF 0x3, 0x5 0B3 086B MOVF 0x6b, W 0B4 00FB MOVWF 0x7b 0B5 01FC CLRF 0x7c 0B MOVF 0x54, W 0B7 07FB ADDWF 0x7b, F 0B BTFSC 0x3, 0 0B9 0AFC INCF 0x7c, F 0BA 0855 MOVF 0x55, W 0BB 07FC ADDWF 0x7c, F 0BC 3080 MOVLW 0x80 0BD 077B ADDWF 0x7b, W 0BE 00D4 MOVWF 0x54 0BF 30FF MOVLW 0xff 0C BTFSC 0x3, 0 0C MOVLW 0 0C2 077C ADDWF 0x7c, W 0C3 00D5 MOVWF 0x55 Koden genererar 18 rader asm (= 18 Word) ui16duty = ui16duty + ui8ipartoffs; 0B BCF 0x3, 0x5 0B3 086B MOVF 0x6b, W 0B4 07D4 ADDWF 0x54, F 0B BTFSC 0x3, 0 0B6 0AD5 INCF 0x55, F ui16duty = ui16duty - 128; 0B MOVLW 0x80 0B8 07D4 ADDWF 0x54, F 0B9 1C03 BTFSS 0x3, 0 0BA 03D5 DECF 0x55, F Koden genererar 9 rader asm Realtidsprog. implementering - Anders Arvidsson 11 Realtidsprog. implementering - Anders Arvidsson 12 2
25 Exekveringstid Kompilatorns och kodens inverkan if ((ui8goalpwmin) > (ui8pwmin + 1)) 1DE 00FB MOVWF 0x7b 1DF 01FC CLRF 0x7c 1E MOVF 0x43, W 1E1 00FD MOVWF 0x7d 1E2 01FE CLRF 0x7e 1E MOVLW 0x1 1E4 07FD ADDWF 0x7d, F 1E BTFSC 0x3, 0 1E6 0AFE INCF 0x7e, F 1E7 087E MOVF 0x7e, W 1E8 3A80 XORLW 0x80 1E9 00FF MOVWF 0x7f 1EA 087C MOVF 0x7c, W 1EB 3A80 XORLW 0x80 1EC 027F SUBWF 0x7f, W 1ED 1D03 BTFSS 0x3, 0x2 1EE 29F1 GOTO 0x1f1 1EF 087B MOVF 0x7b, W 1F0 027D SUBWF 0x7d, W 1F1 1C03 BTFSS 0x3, 0 1F2 2A09 GOTO 0x209 Koden genererar 21 rader asm if ((ui8goalpwmin) > (INT8U)(ui8PwmIn + 1)) 1DE 0A43 INCF 0x43, W 1DF 00FD MOVWF 0x7d 1E MOVF 0x44, W 1E1 027D SUBWF 0x7d, W 1E2 1C03 BTFSS 0x3, 0 1E3 29E8 GOTO 0x1e8 Koden genererar 6 rader asm INT8U är genom typedef satt till en unsigned char typedef unsigned char INT8U; (ui8pwmin + 1) betraktas nu inte längre av kompilatorn som en signed i jämförelsen. Realtidsprog. implementering - Anders Arvidsson 13 Med timing, verifiera marginal (alternativ 1) Debug = 1; Använd en ledig pinne (Debug) för start att verifiera exekveringstiden. Sätt t ex pinnen vid loopens början, nollställ i vänterutinen. switch() Trigga på stigande flank och mät på oscilloskop med persist (ej radering av föregående svep). Kontrollera att det alltid finns marginal oavsett vad programmet gör. wait Debug = 0; Realtidsprog. implementering - Anders Arvidsson 14 Med timing, verifiera marginal (alternativ 2) start switch() I program med små marginaler kan det vara enklare att mäta tiden programmet vistas i vänterutinen. Kom ihåg att subtrahera minsta tiden vänterutinen själv tar vid beräkning av tidsmarginal. Kontrollera också frekvensen på debugpinnen. Ändras denna tar exekveringen för lång tid. Ge felindikering (t ex tänd en LED) om timern redan räknat ut när programmet går in i wait. Debug = 1; Interrupt Avbrott = preemptive schemaläggning wait Debug = 0; Realtidsprog. implementering - Anders Arvidsson 15 Realtidsprog. implementering - Anders Arvidsson 16 Med Avbrott Avbrott Exempelkod ISR void interrupt timer(void){ // timer = funktionens namn // interrupt = lägg funktionen på int_handling(); // adress 4 Större delen av programmet körs som en bakgrundstask. Avbrottsrutinen (ISR) kör med viss periodicitet (triggad av timern) och/eller vid vissa händelser. Övriga programmet kan köras med timing som i tidigare exempel, synkronisera med en flagga från ISR eller använd en andra timer. something_hard(); i main() while(1){ something_soft(); idle(); // Evig loop // Vänta på nästa interrupt // = Synk Realtidsprog. implementering - Anders Arvidsson 17 Realtidsprog. implementering - Anders Arvidsson 18 3
26 Interrupt Källor Konfigurera Interrupt Exempelkod void interrupt timer(void) { Flag = 1; TMR0 = timervalue; T0IF = 0; // Visa att int skett // Sätt timervalue med #define Flaggor IE = Interrupt Enable IF = Interrupt Flag void init(void) { PSA = 0; // Använd prescaler till TMR0 PS0 = 1; // Prescaler satt till dela med 64 PS1 = 0; PS2 = 1; T0CS = 0; // Väljer intern oscillator T0IE = 1; // Timer0 Interrupt Enable GIE = 1; // Global Interrupt Enable Realtidsprog. implementering - Anders Arvidsson 19 Realtidsprog. implementering - Anders Arvidsson 20 Implementera schemaläggning Robot från föreläsning om realtidsprinciper. Struktur Switch switch (CykCnt) { // Var 10:e ms case 0:{ // 0 ms K(); // Krocksensor S(); // Styr robot H(); // Hjulräknare break; case 1: case 5: { // 10, 50 ms K(); break; case 2: case 4: { // 20, 40 ms K(); S(); break; case 3: { // 30 ms K(); H(); break; default: { CykCnt=0; CykCnt=CykCnt++; If (CykCnt == 6) CykCnt=0; Realtidsprog. implementering - Anders Arvidsson 21 Realtidsprog. implementering - Anders Arvidsson 22 4
INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN
Dagens föreläsning Inbyggnadsprocessorer - och programmering ❾ Översikt PIC-processorn ❿ Familj ❿ Flash / EPROM ❿ Introduktion: 16F84 ❾ ❿ Harvard / von Neumann ❿ CISC / RISC ❿ Pipelining ❾ Programmering
Läs merRealtidsprogrammering
Realtidsprogrammering En introduktion - Principer och begrepp Realtidsprog. - Anders Arvidsson 1 Vad är ett realtidssystem? Ett system som reagerar på yttre händelser och ger svar inom en bestämd tid.
Läs mer#include <pic.h> #include <sys.h> char LEFT,RIGHT,MOTORHASTIGHET;
Att avlusa en rad Assembler tar lika lång tid som att avlusa en rad C. Att skriva i C gör att man är utlämnad till kompilatorns sätt att göra assembler koden. Assembler ger fullständig kontroll över tider.
Läs merÖvningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010
STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB
Läs merMicroprocessor / Microcontroller. Industrial Electrical Engineering and Automation
Microprocessor / Microcontroller Varför? Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887 In- och utgångar Pinnar på PIC16F887 Exempel: pinne
Läs merSystemkonstruktion LABORATION REALTIDSPROGRAMMERING
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen
Läs merLathund. C för inbyggda system
Lathund C för inbyggda system Revision 1 2000-09-21 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 MPLAB...4
Läs merMicroprocessor / Microcontroller
Microprocessor / Microcontroller Varför? Industrial Electrical Engineering and Automation Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887
Läs merLathund. C för inbyggda system
Lathund C för inbyggda system Revision 2 2001-04-13 Anders Arvidsson Jonny Martinsson Synpunkter välkomnas! Innehållsförteckning 1 Introduktion... 3 1.1 Assembler kontra C... 3 1.2 Kodexempel... 3 1.3
Läs merÖvningsuppgifter i Mikrodatorteknik för U2
i Mikrodatorteknik för U2 Skriv instruktioner som utför följande operationer (angivna tal antas givna i hexadecimal form om inget annat anges): 1. (0x20) + 25 (0x30) 2. (0x22) - (0x31) (0x25) 3. (w) +
Läs merTentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer
Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 04-01-09 Tid: 08:00-13:00 Lokal: E103 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas
Läs merFöreläsningsanteckningar till Konstruktionsmetoder 981027
Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,
Läs mer'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ
'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ / VQLQJDURFKNRPPHQWDUHU Program: Elektroteknik, mikrodatorsystem Datum: 99-11-02 Tid: 8:00-9:30 Lokal E448 Hjälpmedel: Bilagor: Examinator: Miniräknare, linjal Datablad för
Läs merTentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer
Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 04-05-19 Tid: 13:30-18:30 Lokal: E104 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas
Läs merTentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer
Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 03-08-17 Tid: 10:00-15:00 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84 (Utdelas
Läs merLaboration 4: Knappstuds Drivrutiner för att eliminera störningar.
ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar
Läs merLista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien
DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar
Läs merTentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer
Tentamen Enchipsdatorer med tillämpningar Lösningar och kommentarer Program: Elektroteknik Datum: 03-05-19 Tid: 13:30-18:30 Lokal: He303 Hjälpmedel: Linjal, miniräknare, Datablad: MC60705 och PIC16F84
Läs merPROTOTYPUTVECKLING AV DIGITALT
PROTOTYPUTVECKLING AV DIGITALT STYRSYSTEM FÖR TORKSKÅP Examensarbete utfört i Elektroniksystem av Lena Hermansson Christian Pettersson LiTH-ISY-EX-ET-05/0256-SE Linköping 2005 PROTOTYPUTVECKLING AV DIGITALT
Läs merHögskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien
DIGITAL- OCH MIKRODATORTEKNIK, U2 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar skall inlämnas.
Läs merAVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Läs merLathund. Pacific C för MS-DOS
Lathund Pacific C för MS-DOS Revision 2 2003-08-28 Anders Arvidsson Karl-Johan Krantz Synpunkter välkomnas! Innehållsförteckning 1 Introduktion...3 1.1 Assembler kontra C...3 1.2 Kodexempel...3 1.3 PACIFIC
Läs merEffektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
Läs merHantering av textsträngar och talsträngar. William Sandqvist
Hantering av textsträngar och talsträngar Strängen Hello world! PIC-processorerna lagrar strängkonstanter med bokstäverna inbakade i en följd av instruktioner (en tabell). Man hämtar en bokstav genom att
Läs merVarför använda en liten 8-bitars processor när det finns billiga kraftfulla 32-bitars? William Sandqvist william@kth.se
Varför använda en liten 8-bitars processor när det finns billiga kraftfulla 32-bitars? 8-bits-processor nära givaren? En enkel givare har ofta en svag utsignal. Den kan behöva anslutas med en dyr kabel.
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merDessa komponenter plus några motstånd, klockkrets, kondensatorer och annat smått och gott har åstadkommit ett fungerande POV-hjul.
Om POV, persistence of vision. POV eller persistence of vision är ett fenomen som uppstår på näthinnan i ögat där en efterbild ser ut att finnas kvar i ungefär en tjugofemtedels sekund efter att den flyttat
Läs merDigitala Projekt(EITF40) - Larm
Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Erik Oredsson, I-09 Sara Sellin, I-09 2012-05-08 1. SAMMANFATTNING I denna rapport presenteras vårt projekt att bygga ett huslarm från grunden
Läs merProgramexempel 1 AND-funktionen
Utdrag ur "Logiska funktioner med mikroprocessor" s.10 ff. Reviderat 121105 Håkan Joëlson... Programexempel 1 AND-funktionen Uppgift: Realisera en 2-ingångars AND-grind med PIC16F84A. I detta exempel ska
Läs merThunder s Truck projektrapport
LTH Thunder s Truck projektrapport EITF11 Digitala projekt 2012-05-10 Abstract The goal of this project was to build a truck operated by an IP-remote. The robot is built using standard parts such as two
Läs merLaboration 3 i Digital- och Mikrodatorteknik. Utvecklingssystemet MPLAB IDE Grundläggande assemblerprogrammering för PIC
Laboration 3 i Utvecklingssystemet MPLAB Grundläggande assemblerprogrammering för PIC Målet med laborationen är att få begrepp om Assemblerprogrammering med MPLAB Grundläggande assembler Enkel inmatning
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merEtt program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå.
CT3760 Mikrodatorteknik Föreläsning 12 Torsdag 2006-10-05 Naxos Pollning Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå. En
Läs merEDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)
EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) 1. Motivation ROM. 8kbyte 2 3 2 10 byte 13 Adressbitar [A12,A0] direkt till ROM-kapsel. RWM. 32kbyte 2 5 2 10 byte 15 Adressbitar
Läs merA-del motsvarande KS1
MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen
Läs merDigitala Projekt(EITF40) - Larm
Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Kristoffer Sätermark, dt08ks6 Magnus Johansson, dt08mj9 Innehåll 1 Introduktion 1 2 Kravspec 1 3 Hårdvara 2 3.1 knappsats och decoder........................
Läs merMaskinorienterad programmering
Externa avbrott Anslutning av extern avbrottsvippa, programmering med konfigurering och hantering av externa avbrott. Introduktion till time-sharing, enkel task-switch. Ur innehållet: NVIC och EXTI (SYSCFG)
Läs merKontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704
Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng
Läs merBlandat. Föreläsning 5
Blandat Föreläsning 5 Blandat switch break, continue, goto Kommentarer Problemlösning switch int weekday; printf("mata in veckodagnummer 1-7: "); scanf("%d", &weekday); switch(weekday) { case 1: printf("monday\n");
Läs merDemonstration och konsultation Arbetsbokens avsnitt 7 Händelsestyrt processbyte Förberedande inför laboration 4
Avbrott Demonstration och konsultation Arbetsbokens avsnitt 7 Händelsestyrt processbyte Förberedande inför laboration 4 Demonstrationsövning 5 1 Arbetsbok avsnitt 7: Undantag, avbrott - Uppgift 41 + enable_interrupt
Läs merAgenda (obs! halvdag)
Objektorienterad programmering Föreläsning 3 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (obs! halvdag) Do-satsen Break-satsen Continue-satsen Goto-satsen Switch-satsen Villkorsoperatorn
Läs merEnchipsdatorer med tillämpningar LABORATION 7, ROBOT
Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog
Läs merArduinokurs. Del 1 - Vett och etikett. Talsystem. Binärt ettor och nollor
Del 1 - Vett och etikett Talsystem Binärt ettor och nollor Det binära (Bin) talsystemet är grundläggande för alla datorer och logiska system. Ett värde kan endast vara sant eller falskt ett eller noll!
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merNöjd Medarbetar Index 2012
Kod: 35015273-4EDD20 Kod: 35015274-3B8D36 Kod: 35015275-0F4A36 Kod: 35015276-1F8B23 Kod: 35015277-860103 Kod: 35015278-BF5703 Kod: 35015279-84AD82 Kod: 35015319-26C3AF Kod: 35015545-8C9D82 Kod: 35015546-91D178
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merNågra småsaker. switch break, continue, goto Kommentarer
Några småsaker switch break, continue, goto Kommentarer switch int weekday; printf("mata in veckodagnummer 1-7: "); scanf("%d", &weekday); switch(weekday) case 1: printf("monday\n"); break; case 2: printf("tuesday\n");
Läs mer(Lösningsförslag finns sist i denna fil.)
(Lösningsförslag finns sist i denna fil.) Läser externa signaler. Har 64 ingångar (kanaler), från 0 till 63. Kan bara avläsa en ingång i taget. Avlästa värdet positivt 16-bitars tal. Varje läsning tar
Läs merAVR 5. Styrning av trafikljus. Digitala system 15 p
Namn: Laborationen godkänd: Digitala system 15 p AVR 5 LTH Ingenjörshögskolan vid Campus Helsingborg Styrning av trafikljus. Syftet med laborationen är att styra en trafikkorsning med hjälp av en mikroprocessor.
Läs merLaboration D164. ELEKTRONIK Digitalteknik. Digitalteknik med enchipsdatorer
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg 21-1-4 v 1.1 ELEKTRONIK Digitalteknik Laboration D164 Digitalteknik med enchipsdatorer Namn... Personnummer... Studieprogram...
Läs mer#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char num;
#include #include #include unsigned char num; int count = 0; // antal i lokalen char larmtriggered = 0; //om larmet är utlöst char larmactivated = 0; //om larmet
Läs merJuniorallsvenskan 2006 division 1
Juniorallsvenskan 2006 division 1 Stockholm 24-26 november 2006 Domare: Jonas Sandbom Betänketid: 40 drag på 2 timmar därefter 30 minuter för resten av partiet. 1 2 3 4 5 Parti- Match- PLATS Juniorallsvenskans
Läs merDemonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3
LCD Display och Grafik Demonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3 Målsättning: Efter lektionen ska alla självständigt kunna slutföra
Läs merLEU240 Mikrodatorsystem
Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program
Läs merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs merÖvning 6. Parallellport, timer
Övning 6 Parallellport, timer 6.1 de2_pio_toggles18 Memory-Mapped addresses LEDG8 LEDR17 LEDR16 LEDR15 LEDR14 LEDR13 LEDR12 LEDR11 LEDR10 LEDR9 LEDR8 LEDR7 LEDR6 LEDR5 LEDR4 LEDR3 LEDR2 LEDR1 LEDR0 LEDG7
Läs merArduinokurs. Kurstillfälle 4
Kurstillfälle 4 CW-generering Det här kan ses som överkurs men kan ändå vara roligt för att kunna generera CW på ett enkelt sätt. Det blir en hel del nytt men vi tar det steg för steg Som alla vet gäller
Läs merTentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 (DAT016) Maskinorienterad programmering IT EDA482 (EDA481) Maskinorienterad programmering D
Läs merTentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 (DAT016) Maskinorienterad programmering IT EDA482 (EDA481) Maskinorienterad programmering D
Läs merProgramallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne
Programallokering Att placera program i flashrespektive RAM-minne Program i FLASH-minne Bara lokala variabler Globala oinitierade variabler Globala initierade variabler Program med avbrott Program i RAM-minne
Läs merDigitala Projekt (EITF11) Hemlarm
Digitala Projekt (EITF11) Hemlarm Karl Nordenstorm, I-12, gem12kno 2014-05-16 Handledare: Bertil Lindvall Sammanfattning Den här rapporten beskriver arbetet bakom hur en prototyp för ett hemlarm har utvecklats
Läs merÖversikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström
DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009 1 Outline 1 Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...)
Läs merMaskinorienterad programmering
Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok
Läs merProvmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.
Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:
Läs merEDI022. Digitala Projekt. Rapport. Björn Åkesson 5/20/2011
EDI022 Digitala Projekt Rapport Björn Åkesson 5/20/2011 A synthesizer is built consisting of a bit-counter and phased-locked-loop to create various tones. The construction can be controlled via an external
Läs merAvtalsform Förnyad konkurrensutsättning Namn Fordon (köp och långtidshyror)
Umeå Kommun Utvärdering Delat anbud Avtalsform Förnyad konkurrensutsättning Namn Fordon (köp och långtidshyror) Diarie 12024 Ansvarig upphandlare Jan Lundberg Inkomna anbud Anbudslämnare Organisationsnr
Läs merTentamen omfattar 40 poäng fördelade på 7 uppgifter. 20 poäng krävs för betyget 3, 30 poäng för betyget 4 och 36 poäng för betyget 5.
% & ' ()* #$! "#$ +-,/.
Läs merAtt använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Läs merDatormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden
Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data
Läs merGPIO - General Purpose Input Output
GPIO - General Purpose Input Output Ur innehållet: Digital IO Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Programmering av enkelt
Läs merAnsvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)
MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga
Läs merProgrammering av inbyggda system
GPIO, In- och utmatning Demonstration och konsultation ST407 GPIO konfigurering och användning Arbetsbokens avsnitt 4 och 5 LCD ASCII-display Keyboard Introduktion till laboration 2 Demonstrationsövning
Läs merJuniorallsvenskan 2008 division 1
Juniorallsvenskan 2008 division 1 Stockholm 21-23 november 2008 Domare: Jonas Sandbom Betänketid: 40 drag på 2 timmar därefter 30 minuter för resten av partiet. 1 2 3 4 5 Parti- Match- PLATS Juniorallsvenskans
Läs merLösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merLABORATION. Datorteknik Y
LABORATION Datorteknik Y Mikroprogrammering Version 3.3 2012 (AE) 2013 (AE) 2017 (KP) Namn och personnummer Godkänd Uppg. 1-3 1 1 Inledning Syftet med laborationen är att skapa en känsla för vad som händer
Läs merProgrammering i C, 7,5 hp
Programmering i C, 7,5 hp Föreläsning 4 VÄLKOMNA! 31 switch-satsen Antag att vi har en heltalsvariabel a som skall styra programflödet Antag vidare att a kan anta tex 5 olika värden 1,2,3,4,5 printf( Mata
Läs merMaskinorienterad programmering
Maskinorienterad programmering Sammanfattning Ur innehållet: Vi rekapitulerar kursens syften Vi repeterar kursens lärandemål Vi belyser hur den skriftliga delen av examinationen genomförs. Sammanfattning
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
Läs merKlassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merLösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I
Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I Flervalsfrågor. A 2. C 3. B 4. D 5. A 6. B 7. C 8. D 9. C 0. B. B 2. C 3. A 4. C 5. A Problemuppgifter. Uttryckt i decimal form: A=28+32+8
Läs merMekanismer. (implementation)
Mekanismer (implementation) Repetition Semafor Räknar tillgängliga resurser Initieras med startvärde Vid förbrukning: väntar tills resurs finns Användning: invänta händelse Lås Markerar att en variabel/datastruktur
Läs merRealtidssystem. - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 6
Realtidssystem - Schemaläggning - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 6 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad på: Föreläsningsmaterial
Läs merPIC-programmeringsuppgift (PROA)
PIC-programmeringsuppgift (PROA) Ugnsklocka digital klocka med en timer-funktion Tillämpad Digitalteknik med PIC-processor IL131V (HT12) Karl-Axel Zander 920208-5594 28-01-2013 underskrift Uppgift & beskrivning
Läs merSeriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets
Seriekommunikation Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Läsanvisningar: Arbetsbok kapitel 7 Seriekommunikation 1 Parallell
Läs merPROJEKT STAFFAN STALLEDRÄNG
PROJEKT STAFFAN STALLEDRÄNG PROJEKT STAFFAN STALLEDRÄNG s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och en lysdiod, samt skriva ett program som får högtalaren att spela en
Läs merDet finns många flaggor till g++,
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.
Läs merF4: Assemblerprogrammering
F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering
Läs merOutline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst
Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så
Läs mer7HQWDPHQLNRQVWUXNWLRQVPHWRGHU 'HOWHQWDPHQ / VQLQJDURFKNRPPHQWDUHU
Datum: 98 11 18 Tid: 13:00-14:00 Lokal: E348 Hjälpmedel: Miniräknare, linjal Bilagor: Datablad över PIC Timer 0 7HQWDPHQLNRQVWUXNWLRQVPHWRGHU 'HOWHQWDPHQ / VQLQJDURFKNRPPHQWDUHU Examinator: Bengt Magnhagen
Läs merDatorteknik 2 (AVR 2)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra
Läs merDatorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Pipelining Tid SSA P Pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO Superscalar pipelining FI DI CO FO EI WO FI DI
Läs merSvar till Övning3 Datorteknik, HH vt12 Avbrott och timers
Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Avbrott generellt F7.1. Avbrott sköts med hårdvara i processorn, man läser av hårdvarumässigt. Polling är en enklare princip för I/O- hantering.
Läs merAVRStudio på tre minuter. Micke Josefsson, 2005
AVRStudio på tre minuter Micke Josefsson, 2005 Mycket kort intro till AVRStudio Utvecklingsmiljön AVRStudio innehåller en editor för att mata in programmet, en simulator för att under kontrollerade former
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merMaskinorienterad programmering
Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok
Läs merGPT föreläsning 8. Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner
GPT föreläsning 8 Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner Denna gång Reflektioner kring OU1 Funktioner Reflektioner
Läs merVärmedistribution i plåt
Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.
Läs merDet finns en handledning till kortet på hemsidan. AVR STK500.
Laboration 1 (ver 1) Uppgifter: AVR Studio 4.lnk Bli bekant med utvecklingskortet, och AVR studio. Skriva in program för binärräknare. Simulera detta samt ladda ner det till kortet. Förse ovanstående program
Läs merVäxtviskaren EITF11 Digitala projekt VT15, I12
Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015
Läs mer