Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå.
|
|
- Mikael Axelsson
- för 8 år sedan
- Visningar:
Transkript
1 CT3760 Mikrodatorteknik Föreläsning 12 Torsdag 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 rutin för detta kan skrivas in i ett huvudprogram. Exempelvis: while(1) Uppgift(1); Uppgift (2); if( batterispänning <= 1.1V) Subrutin; Uppgift (3); Om man har flera saker som skall kontrolleras kan man infoga ytterligare if-satsser i programmet. Istället för att regelbundet fråga om batterispänningen har blivit för låg kan man skicka en signal utifrån till processorn att det är dags för åtgärd. Ett sådant förfarande kallas för interrupt. While-slingan i main kan göras kortare. # include < avr/io.h> main( ) while(1) Uppgift 1 Uppgift 2 Uppgift 3 Interrupt 0 INT0 Interrupt 1 INT1 Interrupt 2 INT2 De olika interrupten kan bryta while-slingan C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 1/10
2 Det är inte ens nödvändigt att ha några uppgifter i while-slingan. Alla program kan samlas i olika interrupt-rutiner. while-slingan består då av while(1) ; C-programmet får då följande struktur: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> SIGNAL(SIG_INTERRUPT0); void delay( unsigned char x); void main(void) //initieringar while(1) ; SIGNAL(SIG_INTERRUPT0) PORTD = 0x55; delay(30); // Uppgift som interruptet skall utföra. Initieringar: Sätt Portar till ingångar eller utgångar. Tillåt interrupt. Sätt I-bit i SERG MCUCR-registret Se sid 66 manualen GICR- registret. Se sid 67 manualen Detta gäller de tre interrupt som styrs av INT0 på pinne 2 PORTD INT1 på pinne 3 PORTD INT2 på pinne 2 PORTB Flera interrupt Det finns ytterligare ett antal interrupt. Dessa är knutna till bl.a. timers, ad-omvandling, usart mm. Interrupt som är knutna till funktioner inbyggda i microcontrollern. På föreläsning F9 behandlade vi analog komparator. Bilden för analog komparator finns nedan C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 2/10
3 De signaler som hänger ihop med interrupt är ACIS1 ACIS0 och ACIE Exempel Vi har en analog komparator. Komparatorn kan jämföra två spänningar, och avgöra vilken som är störst. En av spänningarna kan vara en intern referensspänning, den används i det här exemplet. ( Spänningen är Band gap referens = 1,23 V ) Inspänningen till komparatorn finns på AIN1 dvs. PORTB pin 3. Normalt skall utsignalen till PORTD vara 0x03. Då komparatorn växlar utsignal (från noll till ett, eller från ett till noll) skall utsignalen istället bli 0x55 några sekunder. För att aktivera komparatorn skall ADC vara 0. För att välja bandgap referens skall ACBG vara 1 För att välja AIN1 skall ACME vara 0 För att aktivera interruptsignal skall ACIE vara 1 Interrupt select känner av signalen ACO. ACIS1 och ACIS0 bestämmer hur interruptet skall ske. Se tabell 79 sid. 210 ACIS1 ACIS0 Interrupt mode 0 0 Comparator interrupt on Output toggle 0 1 Reserved 1 0 Comparator interrupt on Falling Output Edge 1 1 Comparator interrupt on Rising Output Edge C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 3/10
4 Bit ACSR ACD ACBG ACO ACI ACIE ACIC ACIS1 ACIS0 Read/Write R/W R/W R R/W R/W R/W R/W R/W Initialt 0 0 N/A Så här blir inställningarna De bitar som markerats med har ingen inverkan I den här tillämpningen. ACSR = 0x48 och ACSR = 0x7C kommer att fungera lika bra. ACME finns i register SFIOR bit 3. Här räcker det med att sätta SFIOR = 0, För att tillåta interrupt måste I-bit i SREG vara satt PORTB skall vara inport, minst bit 3 i porten. PORTD skall vara utport.. Så här blir programmet: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> SIGNAL( SIG_COMPARATOR); void delay( unsigned char x); void main(void) SREG = 0x80; DDRB = 0; DDRD =0xFF; SFIOR =0x00; // tillåter interrupt ACSR = 0x48; // sid 200 // sid 199 Använder PB3 som ingång. Jämför med // intern referens. // end main while(1) PORTD = 0x03; // end while SIGNAL( SIG_COMPARATOR) PORTD = 0x55; delay(10); C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 4/10
5 void delay( unsigned char x) unsigned char a; unsigned int b; for(a=1;a<x;a++) for(b=1;b<65000;b++) ; // end delay För varje gång som insignalen på port B passerar spänningen 1,23 V så kommer interruptrutinen att anropas. Watchdog Ett dataprogram kan hamna i en oändlig loop. Detta innebär att programmet låser sig. För att komma igång med normal programkärning så måste man tillgripa reset, eller att slå av spänningsmatningen. Watchdog är ett register som räknas upp från 0 till 255. Om registret når 255 och slår om till 0 så genereras ett reset. Watchdog har sin egen klocka. Frekvens 1 MHz vid 5 V matningsspänning. Tiden det tar för räknaren att nå 255 kan ställas in mellan 15ms upp till 1900 ms. Bit WDTCR WDTOE WDE WDP2 WDP1 WDP0 Read/Write R R R R/W R/W R/W R/W R/W Initialt C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 5/10
6 Funktion Iden är att vid normal programkörning nollställa räknaren med jämna mellanrum. Att inte låta räknaren nå 255. Vid programfel så kommer inte nollställningen att ske, utan man får ett omslag från 255 till 0. Detta innebär att processorn kommer att få reset. Start av Watchdog är enkelt. Att avbryta den kräver en något med komplicerad process. Det senare för att den inte skall kunna stängas av en tillfällighet. Watchdog Timer Control Register WDTCR finns beskriven på sid 41. För att starta Watchdog med maximalt tidsintervall 1900 ms kan man använda följande kod: WDR ; sätter räknaren till noll LDI R16, 0x0F ; maxtid och WDE =1 OUT WDTCR, R16 Instuktionen WDR måste sedan återkomma regelbundet, så att räknaren nollställs innan den når sitt maxvärde. För att stänga Watchdog kan man använda följande kod: LDI R16,0x1E OUT WDTCR, R16 LDI R16, 0x10 OUT WDTCR, R16 C-kod och assembler. Ibland kan det vara praktiskt att använda ett assembleruttryck i C-kod. Eller en subrutin skriven i assembler. Det är fullt möjligt att blanda in assembler i C-kod. Hur det sker är lite olika beroende på vilken kompilator som används. Endast som information CodeWizardAVR använder följande metod: #asm( sei ) Detta uttryck kommer att tillåta interrupt. SEI sätter I-biten i SREG. Flera rader kan också användas. #asm LDI R16, 0x80 OUT SREG, R16 #endasm I WINAVR är proceduren en annan. Det är den kompilator som vi använder. Det här är ett litet program som börjar med att läsa ut 0xAA till lysdioderna. Efter det så kommer en etta att skrivas ut till dioderna så att man får ett rinnande ljus C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 6/10
7 #include <avr/io.h> void delay(unsigned char x); // funktion skriven i C. void las_ut(void); // funktion skriven i assembler void nolla(void); // funktion skriven i assembler void main () DDRB=0xFF; // Port B utgång PORTB =0xFF; // alla dioder släckta unsigned char x[]=0,1,2,4,8,16,32,64,128 ; int i; las_ut(); // läser ut 0xAA till portb delay(100); for(i=0;i<9;i++) PORTB = ~ x[i]; // invertering för att inte få rinnande mörker delay(100); nolla(); // stannar programmet void delay(unsigned char x) unsigned char i; unsigned int j; for(i=0;i<x;i++) for(j=0;j<50000;j++) ; De funktioner som har skrivits i assembler finns i en egen fil, en textfil. Filens namn är: subrutiner.s Observera att filslutet är ett stort S. ;subrutiner.s ; Observera stort S som filtillägg. ; det här är information som finns i m16def.inc Det går inte att använda filen direkt ; ;.equ PORTB = $18 ;.equ DDRB = $17 ;.equ PINB = $16 # define PINB 0x16 # define DDRB 0x17 # define PORTB 0x C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 7/10
8 .text.global las_ut las_ut: LDI R20, 0xFF OUT DDRB, R20 LDI R20, 0xAA OUT PORTB, R20 RET.text.global nolla nolla: rjmp nolla RET Det går bra att ha flera funktioner i samma fil. Här har jag två, las_ut( ) och nolla( ). Kompileringen av programmen sker med hjälp av Makefile Vid inställningen av makefile har vi hittills hoppat över alternativet Assembler source file(s): Nu har vi användning av det. I fönstret skriver man in subrutiner.s Detta gör att kompilatorn tar hänsyn till de funktioner som vi skrivit i assembler. När man sedan sparat sin makefile så fortsätter man som tidigare. Nedan visar hur kompilatorn hanterar programmet. Disassembler från AVRStudio En del har jag markerat med fetstil för att man lättare skall kunna hitta i delay ---- main.c : for(i=0;i<x;i++) // subrutin för delay : E090 LDI R25,0x00 Load immediate 27: for(i=0;i<x;i++) : 1798 CP R25,R24 Compare : F450 BRCC PC+0x0B Branch if carry cleared 28: for(j=0;j<50000;j++) A: E020 LDI R18,0x00 Load immediate B: E030 LDI R19,0x00 Load immediate C: 5C2E SUBI R18,0xCE Subtract immediate D: 4F3F SBCI R19,0xFF Subtract immediate with carry E: EC43 LDI R20,0xC3 Load immediate F: 3520 CPI R18,0x50 Compare with immediate : 0734 CPC R19,R20 Compare with carry : F3D0 BRCS PC-0x05 Branch if carry set C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 8/10
9 27: for(i=0;i<x;i++) : 5F9F SUBI R25,0xFF Subtract immediate ---- No Source : CFF4 RJMP PC-0x000B Relative jump : 9508 RET Subroutine return // för main ---- main.c : void main () 7: : E5C6 LDI R28,0x56 Load immediate // skapar : E0D4 LDI R29,0x04 Load immediate // stack : BFDE OUT 0x3E,R29 Out to I/O location : BFCD OUT 0x3D,R28 Out to I/O location 9: DDRB=0xFF; //Port B utgång : EF8F SER R24 Set Register A: BB87 OUT 0x17,R24 Out to I/O location 10: PORTB =0xFF; // alla dioder släckta B: BB88 OUT 0x18,R24 Out to I/O location 11: unsigned char x[]=0,1,2,4,8,16,32,64,128 ; C: E089 LDI R24,0x09 Load immediate D: 018E MOVW R16,R28 Copy register pair E: 5F0F SUBI R16,0xFF Subtract immediate F: 4F1F SBCI R17,0xFF Subtract immediate with carry : 01D8 MOVW R26,R16 Copy register pair : E6E0 LDI R30,0x60 Load immediate : E0F0 LDI R31,0x00 Load immediate : 9001 LD R0,Z+ Load indirect and postincrement : 920D ST X+,R0 Store indirect and postincrement : 958A DEC R24 Decrement : F7E1 BRNE PC-0x03 Branch if not equal 14: las_ut(); // läser ut 0xAA till portb Hoppar till subrutin //finns på adress 0x : 940E0080 CALL 0x Call subroutine 15: delay(100); : E684 LDI R24,0x64 Load immediate A: 940E0047 CALL 0x Call subroutine C: E089 LDI R24,0x09 Load immediate D: 2EE8 MOV R14,R24 Copy register E: 2CF1 MOV R15,R1 Copy register F: 0EEC ADD R14,R28 Add without carry : 1EFD ADC R15,R29 Add with carry 18: PORTB =~ x[i]; : 01F8 MOVW R30,R16 Copy register pair : 9181 LD R24,Z+ Load indirect and postincrement : 018F MOVW R16,R30 Copy register pair : 9580 COM R24 One's complement : BB88 OUT 0x18,R24 Out to I/O location 19: delay(100); C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 9/10
10 : E684 LDI R24,0x64 Load immediate : 940E0047 CALL 0x Call subroutine 16: for(i=0;i<9;i++) : 16E0 CP R14,R16 Compare A: 06F1 CPC R15,R17 Compare with carry B: F7AC BRGE PC-0x0A Branch if greater or equal, signed 21: nolla(); // stannar programmet C: 940E0085 CALL 0x Call subroutine ---- No Source E: 940C0087 JMP 0x Letext : EF4F SER R20 Set Register // las_ut : BB47 OUT 0x17,R20 Out to I/O location : EA4A LDI R20,0xAA Load immediate : BB48 OUT 0x18,R20 Out to I/O location : 9508 RET Subroutine return för las_ut : CFFF RJMP PC-0x0000 Relative jump //nolla : 9508 RET Subroutine return för nolla : CFFF RJMP PC-0x0000 Relative jump : 0100 MOVW R0,R0 Copy register pair : 0402 CPC R0,R2 Compare with carry A: 1008 CPSE R0,R8 Compare, skip if equal B: 4020 SBCI R18,0x00 Subtract immediate with carry C: 0080??? Data or unknown opcode D: FFFF??? Data or unknown opcode E: FFFF??? Data or unknown opcode F: FFFF??? Data or unknown opcode : FFFF??? Data or unknown op C:\Documents and Settings\oan01\My Documents\CT3760_H\Peroid1_2006\F12_2006.doc 10/10
A-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 merGeneral Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18
F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot
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 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 merDataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte
CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.
Läs merProgramräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.
F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren
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 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 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 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 merDatakommunikation med IR-ljus.
Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att
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 merMinnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.
CT3760 Mikrodatorteknik Föreläsning 2 Tisdag 2005-08-30 Minnestyper. Atmega 16 innehåller följande minnestyper: SRAM för dataminne FLASH för programminne EEPROM för parametrar och konstanter. Minnen delas
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 merÖvning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler
Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-
Läs merRealtidsprogrammering. En introduktion Implementering (med exempel från PIC)
Realtidsprogrammering En introduktion Implementering (med exempel från PIC) Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt
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 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 merLarmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA 2015-05-18
2015 Larmcentral Digitala Projekt Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA 2015-05-18 Inledning Denna rapport är en sammanställning av projektet i kursen Digitala
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 merCE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io.
IS1200 Exempelsamling till övning CE_O6, 2015 CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. 6.1. Läs in data från IN-port (skjutomkopplare TOGGLES18) Skriv en subrutin, Get_Data
Läs merLARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall
LARMANLÄGGNING Digitala Projekt, EITF11 Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall 1. Sammanfattning Vi har byggt ett larm vars syfte är att användas i hemmet. Larmet använder
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-08-18 Lokal TERE, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
Läs merBeskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.
Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är
Läs merElektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Läs merTSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator
1 2 TSIU50 Mikrodatorprojekt LAB1 AVR-introduktion och logikanalysator Michael Josefsson Januari 2007 Detta häftes syfte är att tjäna som en snabb introduktion till utvecklingsmiljön AVRStudio och den
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 merThe Phenomenal Doorbell Bilaga 2. Källkod
The Phenomenal Doorbell Bilaga 2. Källkod #include #include #include //Variabler int flag = 0; int count = 0; int timevect[8]; int bellbutton = 0; int waitbutton
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 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 merDatorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.
Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång
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 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 merDatorteknik. Exempeluppgifter i Laborativ Examination
Datorteknik Exempeluppgifter i Laborativ Examination Michael Josefsson Version 0.1 Inledning Nedan följer förslag på några representativa demonstrationslaxar. Uppgifterna är konstruerade så att de ska
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#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 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 merDatorsystem Laboration 2: Minnesmappade bussar
Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................
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 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 merLaboration 5 C-programmering på AVR TSEA57 Datorteknik I
Laboration 5 C-programmering på AVR TSEA57 Datorteknik I Anders Nilsson 2018 version 0.22 Innehåll 1 Introduktion 5 1.1 Syfte....................................... 5 1.2 Förkunskaper..................................
Läs merINGENJÖ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 merÖvningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.
Övningsuppgifter Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. F.2 Ett antal på varandra följande minnesord har
Läs merTentamen med lösningsförslag
Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z
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 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 merTill assemblersystemet Zuper 80 Assembler krävs en SPECTRAVIDEO 328/318+minst 16K ram extra.
ZZZZZ 888 000 A Z 8 8 0 0 A A ZZ 8 8 0 0 A A ZZ u u pppp eee r rrr 888 0 0 AAAAA ZZ u u p p e e rr --- 8 8 0 0 A A ZZ u u p p e ee r 8 8 0 0 A A Z u u p p e r 8 8 0 0 A A ZZZZZ uuuu pppp eeee r 888 000
Läs merLaboration 2 i Datorteknik- Assemblerprogrammering II
Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner
Läs merDatorteknik Hyfsa kod
Datorteknik Hyfsa kod Michael Josefsson Version 0.2 2018 Denna text beskriver hur man kan hyfsa kod till att bli både bättre, mer lättläst och mindre. Som exempel används en del av den kod som behövs för
Läs merD/A- och A/D-omvandlarmodul MOD687-31
D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill
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 merDet finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/
CT3760 Mikrodatorteknik Föreläsning 1 Torsdag 2005-08-25 Upprop. Det finns en hemsida. Adressen är http://www.idt.mdh.se/kurser/ct3760/ Kurslitteratur är Per Foyer Mikroprocessorteknik. Finns på bokhandeln.
Läs merDigitala Projekt (EITF11)
Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...
Läs merTenta i Digitalteknik
Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-06-01 Skrivtid 9.00-14.00 (5 timmar) Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376
Läs merIS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io.
IS1500 ösningar övning CE_O7 2014 CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. 6.1. Vad är seriell kommunikation? a) Vad är skillnaden mellan seriell och parallell kommunikation?
Läs merGPIO - General Purpose Input Output
GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt
Läs merÖvning 7. Timer, serieport
Övning 7 Timer, serieport 7.6 timer_1 Memory-Mapped addresses 0x920 status 0x924 control 0x928 periodl 0x92C periodh 0x930 snapl 0x934 snaph 15 0 Run TO (Time-Out) ITO cont start stop timer_1 start D Q
Läs mer/* * dancing3.c * * Created: :53:20 * Author: digpi10 */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.
/* * dancing3.c * * Created: 2016-05-19 10:53:20 * Author: digpi10 */ #include #include #include int value; //värde från AD-omvandlaren int limit = 0b0101000000;
Läs merDatorteknik 1 (AVR 1)
Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 1 (AVR 1) LTH Ingenjörshögskolan vid Campus Helsingborg Introduktion till datorteknikutrustningen. Laborationens syfte. Syftet med laborationen
Läs merVad bör göras? Steg 1. RISC => pipelining. Parallellism. Pipelining. Nya LDA 13. RISC(reduced instruction set computer) Öka klockfrekvensen
Föreläsning 11 OR-datorn är för långsam! Alternativa arkitekturer kritik av OR-datorn RISC => pipelining LDA 13 (exempelvis) Hämta : 3CP 2 1 CP Absolut,1: 3 CP EXE: 4 CP Summa: 11 CP mem ADR XR SP DR TR
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 merGrunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
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 merDigital- och datorteknik
Digital- och datorteknik Föreläsning #23 Översikt När flera smoduler placeras i processorns adressrum ansluts modulernas adressingångar till motsvarande ledningar i en. Övriga adressledningar i bussen
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2017-08-15 Lokal TER4 Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
Läs merEITF11 - Digitala projekt. Hastighetsmätare. Hugo Backmyr Mattias Karlsson
EITF11 - Digitala projekt Hastighetsmätare Hugo Backmyr 2015-05-17 Inledning Syftet med kursen är att illustrera industriellt utvecklingsarbete. Målet med projektuppgiften är en prototyp för vidareutveckling
Läs merExempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler
Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs
Läs merKällkod. #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define green_diode PD5. #define RS PD4
Källkod #include #include #include #define red_diode PD6 #define green_diode PD5 #define E PD0 #define RW PD1 #define RS PD4 unsigned int password = 1; unsigned
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 merLunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11)
Skola: Institution : Kurs : Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11) Projekttyp : Rapportsammanfattning Handledare : Bertil Lindvall Studenter : Datum : 2015-05-11
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 merTentamen PC-teknik 5 p
Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C
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 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad
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 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 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 merDigital- och datorteknik
Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer
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 merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen
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 mer7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.
1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2016-10-18 Lokal TER1 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 7 Antal sidor (inklusive
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 merDigital- och datorteknik
Digital- och datorteknik Föreläsning #19 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Normaltillstånd vs undantagstillstånd I normaltillstånd
Läs merStyrteknik: MELSEC FX och numeriska värden
PLC2C:1 MELSEC FX I kursen styrteknik används styrsystemet FX1S som är ett litet system i MELSEC FX-serien. Vår version av FX1S har endast digitala in- och utgångar men oftast finns det både digitala och
Läs merDu har fått stycken taggar. (av föreningen okt-06 eller av den f.d. medlem du övertagit lägenheten från) Din pinkod är:
A för Passagesystem och Tvättstugebokning Lgh nr: Du har fått stycken taggar. (av föreningen okt-06 eller av den f.d. medlem du övertagit lägenheten från) Din pinkod är: Version 1.4 120218 Pinkoden används
Läs merRAPPORT: DIGITALA PROJEKT
2012-05-14 LTH RAPPORT: DIGITALA PROJEKT Linus Ahlberg, Johan Ryde och Kristin Svensson I-09 Innehåll Inledning... 3 Krav... 3 Ursprungliga krav... 3 Modifierade krav (ej trådlös)... 3 Konstruktion...
Läs merFeeding Daisy. EITF11 Lunds Tekniska Högskola. Grupp 12: Pontus Akervall Louise Landare Anton Schölin. En automatisk blomvattnare
Feeding Daisy En automatisk blomvattnare EITF11 Lunds Tekniska Högskola Grupp 12: Pontus Akervall Louise Landare Anton Schölin Handledare: Bertil Lindvall Introduktion... 3 Hårdvara... 3 Processor... 3
Läs merTentamen. Datorteknik Y, TSEA28
Tentamen Datorteknik Y, TSEA28 Datum 2017-10-26 Lokal TER1, TER3 Tid 8-12 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program
Läs merWilliam Sandqvist william@kth.se
Komparatorn en 1 bits AD-omvandlare En komparator är en känslig förstärkare för skillnaden mellan spänningarna på ingångarna. Minsta lilla positiv skillnad gör att utgången hamnar på (1) eller vid negativ
Läs merLunds Tekniska Högskola. I-10 Grupp 11: David Sundström Max Schulz Albert Lundberg Handledare: Bertil Lindvall
2013 Lunds Tekniska Högskola I-10 Grupp 11: David Sundström Max Schulz Albert Lundberg Handledare: Bertil Lindvall DIGITALA PROJEKT The objective of the course Digital Project is letting a group of students
Läs merSystemkonstruktion SERIEKOMMUNIKATION
Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,
Läs merFörsättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 03-05-3 Salar U, KÅRA, U3 Tid -8 Kurskod TSEA Provkod TEN Kursnamn Digitalteknik Institution ISY Antal uppgifter som ingår
Läs merPulsmätare Digitala Projekt EITF11
Pulsmätare Digitala Projekt EITF11 Grupp 5 Sebastian Mattsson, 900611 ain09sma@student.lu.se Johannes Persson, 880823 ain09jpe@student.lu.se Handledare: Bertil Lindvall Innehållsförteckning Inledning...3
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #23 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Översikt När flera minnesmoduler placeras i processorns
Läs merGrundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson
Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merTentamen (Exempel) Datorteknik Y, TSEA28
Tentamen (Exempel) Datorteknik Y, TSEA28 Datum 2018-08-21 Lokal TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor
Läs merDigital- och datorteknik
Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast
Läs mer