8 bit unsigned integer værdier vist som binær, decimal og hexdecimal. Embeddede systemer. En introduktion til MSP430
|
|
|
- Andrea Jørgensen
- 7 år siden
- Visninger:
Transkript
1 8 bit unsigned integer værdier vist som binær, decimal og hexdecimal Embeddede systemer En introduktion til MSP430
2 Indhold Embeddede systemer... 4 Læsevejledning... 4 Formål... 4 Supplerende udstyr og materialer til dette kompendium... 5 Formål... 5 Kapitel 1: Introduktion til Embeddede systemer... 6 Talsystemer... 6 CPU... 6 Eksempler på Microcontroller familier... 6 Texas Instruments MSP430 serie... 8 MSP430F CPU... 8 Unified Clock System... 9 Flash... 9 RAM... 9 Perifere enheder... 9 I/O ports P1 til P Power management modulet Watchdog Full Speed USB ADC DMA Direct Memory Access Comp_B REF USCI 0 og USCI CRC RTC_A Timer TA0, TA1, TA2 og TB MPY Interrupt system JTAG og Spy-By-Wire Side 2 af 22
3 EEM - Emulation enhed Memory Map Adressering Assembler sprog Watchdog Timer+ igen WDTCTL registeret Assembleren Lidt om CPU en Program Counter - PC IAR Workbench Opstarts assembler kode Øvelser Side 3 af 22
4 Embeddede systemer Et Embedded system, på dansk også kaldet et indlejret system, er et computersystem med en dedikeret funktion som er indbygget i et mekanisk eller et elektrisk system. Embeddede systemer anvendes i for eksempel mikrobølgeovne, vaskemaskiner, fladskærme, bilmotorer og tusinder af andre produkter. Læsevejledning Figur 1 - Moderne biler kan have indbygget op til 80 embeddede systemer Dette kompendie er en introduktion til embeddede systemer og forudsætter læseren har grundlæggende kendskab til programmering og elektronik. Formål Formålet med dette kompendie er at læseren får indsigt i hvorledes en CPU med perifere enheder fungerer. Der findes hundredevis af forskellige CPU er, nogle simple andre komplicerede. De fleste CPU er fra Intels x86 model i de fleste PC er til ARM processorerne der anvendes i de fleste smartphones, har alle de samme grundlæggende principper. Det er disse principper som dette kompendie forsøger at afdække. I dette kompendie anvendes CPU familien MSP430 fra Texas Instruments, det er en forholdsvis simpel CPU som anvendes i milliarder af embeddede enheder verden over. MSP430 Fordelen ved at anvende MSP430 er at den er nem at komme i gang med og har perifere enheder der er nemme at anvende, således vi kan fokusere på det primære formål for dette kompendie. Nemlig at forstå hvad der sker under motorhjelmen på et computersystem. Figur 2 - Texas Instruments MSP430G2553IN20 CPU med indbyggede perifere enheder Side 4 af 22
5 Supplerende udstyr og materialer til dette kompendium Eksemplerne i dette materiale bygger på Texas Instruments LaunchPad udviklingskit, der koster under kr. 100,- inklusiv Micro controllere samt manualer til Texas Instruments Micro controller MSP430G2553IN20. Micro controlleren følger med LaunchPad kittet. LaunchPad kit varenummer: MSP-EXP430G2 Datablad fra Texas Instruments: MSP430G2x53, MSP430G2x13 Mixed Signal Microcontroller Brugervejledning fra Texas Instruments: MSP430x2xxx Family User s Guide IAR Embedded Workbench IDE MSP430 udviklingsmiljø med size-limited evaluation licens Links til alle ressourcer kan findes i artiklen Valg af udviklingsmiljø Der findes flere udviklingsmiljøer til MSP430 serien, hvor de to mest anvendte er Texas Instruments egen Code Composer bygger på Eclipse og anvender Texas Instruments egen ASM430 assembler og CL430 C- compiler. IAR anvender deres egen assembler A430 og C-compileren ICC430, som har mere intuitive direktiver. Code Composer er et gratis udviklingsmiljø uden begrænsninger hvor IAR s udviklingsmiljø har begrænsninger uden licens. I dette kompendium har jeg valgt at anvende IAR s udviklingsmiljø, da det er et stabilt setup og anvender en assembler som har mere intuitive direktiver. Begrænsningen i IAR s linker, er at der maksimalt må bygges projekter op til 4 KB. Herudover minder IAR s miljø meget om Keils uvision. Figur 3 - Texas Instruments MSP430F5529 LaunchPad udviklingssæt Formål Formålet med dette kompendium er at give læseren grundlæggende forståelse for hvorledes embeddede systemer fungerer. Side 5 af 22
6 Kapitel 1: Introduktion til Embeddede systemer I dette kompendium er kigger vi under motorhjelmen for at forstå hvorledes MSP430 familien fungerer. Talsystemer I embedded programmering anvendes ofte binære, decimale og hexadecimale tal. Derfor er det nødvendigt at have rutine i at manipulere med bits og tal. Programmering af embeddede systemer foregår ofte i C, C++ eller assembler hvor den mest anvendte notation for tal er b for binære tal (Bemærk b et til sidst) o Binær notation kan ikke anvendes i C og C++ 0x71 for hexadecimale tal (Indledes med 0x) 071h anvendes også for hexadecimale tal o Indledes med 0 og afsluttes med h 113 for decimale tal. Det er samme tal der er anvendt i eksemplerne ovenfor o b = 0x71 = 113 Under programmeringen kan anvendes det talsystem som er mest logisk for programmøren eller som dokumenterer programmet bedst. Binær Decimal Hexadecimal a b c d e f CPU CPU en eller Central Processing unit, eller microprocessor, er enheden som eksekverer programmerne. I embeddede systemer anvendes oftest microcontrollere MCU eller µc som er en microprocessorer som er integreret sammen med input/output enheder i en enkelt chip. Microcontrollere er udviklet til forskellige formål som for eksempel at være strømbesparende til batteridrevet udstyr eller indeholde forskellige input/output enheder som anvendes i specifikke sammenhænge. Der findes mange familier af microcontrollere, hver med deres fordele og ulemper. Mange microcontrollere indeholder ud over CPU og input/output enheder også RAM og programhukommelse, timere, ure og strømstyringer. Eksempler på Microcontroller familier Texas Instruments MSP430 familie Atmels AVR familie blandt andet anvendt til Arduino UNO Side 6 af 22
7 ARM familien blandt andet anvendt til Rasberry PI og Apple iphone og ipad Side 7 af 22
8 Texas Instruments MSP430 serie En meget anvendt MCU er er Texas Instruments TI MSP430, som er en familie af hundredevis af forskellige MCU er, som blandt andet anvendes i batteriforsynet udstyr, da de er særdeles strømbesparende. MSP430 s CPU er ikke særlig kraftig og anvendes derfor i udstyr med lille CPU behov. MSP430F5529 Som det ses af blokdiagrammet af MSP430F5529 MCU en i Figur 4 består den af mange dele som tilsammen udgør et komplet computersystem. CPU ens eksterne enheder kaldes for perifere enheder. De enkelte dele gennemgås i det følgende. Figur 4 - Blokdiagram over MSP430F5529 serien CPU CPU eller Central Processing Unit i den valgte MCU kan anvendes op til 25 MHz. Ofte anvendes en lavere frekvens for at spare energi, da strømforbruget stiger med stigende frekvens. CPU ens hastighed kan varieres løbende, hvilket anvendes meget især i batteriforsynede systemer. CPU en i MSP430F5529 er en udvidet MSP430 standard CPU og kaldes MSP430X. Den største forskel mellem standard MSP430 CPU en og MSP430X CPU en er adressebussens bredde. Både MSP430 og MSP430X CPU erne har en databus bredde på 16 bit og kan derfor hente eller skrive 2 bytes af gangen, til eller fra hukommelsen. CPU Adressebus bredde Maksimal hukommelse MSP bit 2 16 bytes = bytes = 64 KB MSP430X 20 bit 2 20 bytes = bytes = 1 MB I Figur 4 kan adressebussen MAB Memory Address Bus og databussen MDB Memory Data Bus - ses. De er henholdsvis 20 og 16 bit bredde. Side 8 af 22
9 Unified Clock System Clocksystemet er den enhed som forsyner CPU en og andre enheder med en clockpuls det vil sige en frekvens. Clocksystemet kan levere flere forskellige frekvenser samtidig til forskellige enheder for at spare på energien. Flash Flashen anvendes til at gemme MCU ens program og eventuelle tabeller der skal anvendes. For eksempel en sinustabel til trigonometriske beregninger. Flashen fås i forskellige størrelser til MSP430 serien hvor MSP430F5529 har 128 KB. RAM RAM eller Random Access Memory anvendes blandt andet til at gemme variabler under programafviklingen. MSP430F5529 har i alt 10 KB bytes RAM. Perifere enheder Herunder er der en kort beskrivelse af MSP430F5529s indbyggede perifere enheder. Det skal bemærkes at enhederne ikke fungerer før de bliver initialiseret. Initialiseringen er et driverprogram som klargør enheden til brug. Typisk er udvikling af driverprogrammer noget der laves i samarbejde mellem elektronikteknikere og programmører. I/O ports P1 til P8 I MSP430F5529 er der til syv 8 bits porte P1 til P7 og en 3 bits port P8. På tegningen herunder kan P1 bit 0 kaldet P1.0 til P1.7 samt P2.0 til P2.7 identificeres. De enkelte portes pins kan konfigureres enten som output eller som input. For eksempel kan P1.6 på IC ens pin 19 konfigureres som output. En pin på en port konfigureret som output, kunne for eksempel styre en lysdiode eller en elektromotor. En pin på en port konfigureret som input, kunne for eksempel aflæse et tastetryk eller et signal fra et laser modtager. Figur 5 - MSP430G2553IN20 har kun 80 elektriske tilslutninger/pins Side 9 af 22
10 De fleste tilslutninger kan programmeres til at have specielle funktioner i Port Map Controlleren. For eksempel kan pin 22 P1.1/TA0.0 anvendes som Port 1 bit 1 (P1.1) eller som Timer_A0 CCR0 capture (TA0.0). Power management modulet Power Management modulet PMM har til formål at strømforsyne og overvåge hele kredsen. PMM anvendes til at reducere strømforbruget når CPU en ikke behøver at arbejde med fuld hastighed. PMM modulet er designet så det kan anvendes sammen med batterier. Watchdog Watchdog timeren WDT primære formål er at resette MCU en hvis der opstår en software fejl. Watchdog timeren tæller fra nul til en bestemt værdi som resetter MCU en så den starter forfra. Softwaren skal nulstille WDT en med periodiske intervaller for at undgå at den resetter MCU en. Så lang tid softwaren nulstiller WDT en kører softwaren som den skal. Kan for eksempel anvendes i en mikrobølgeovn til at sikre at den slukker for ovnen hvis der skulle opstår et problem. Full Speed USB Full Speed USB controlleren er USB 2.0 full-speed enhed 12Mbps. Hvis USB controlleren anvendes reserveres 2 KB RAM til USB buffer. ADC ADC eller Analog to Digital Converter anvendes til at digitalisere analoge signaler. Kan for eksempel anvendes til at aflæse temperatur med en temperatursensor, lyd med en mikrofon. ADC en har en præcision på 12 bit og kan aflæse analoge signaler fra op til 16 kanaler. På Figur 5 kan kan pin 2 P6.5/CB5/A5 programmeres til A5 ADC kanal 5. En analog føler som for eksempel en temperatur føler kunne tilsluttes pin 2. DMA Direct Memory Access DMA modulet kan anvendes til overføre data mellem perifere enheder, mellem perifere enheder til RAM eller kopiere fra Flash eller RAM til RAM. DMA enheden aflaster CPU en. For eksempel kan DMA modulet overføre målinger fra ADC controlleren til RAM uden at involvere CPU en. Comp_B Comp_B er en avanceret analog komperator som for eksempel kan anvendes som en meget præcis ADC Analog to Digital Converter. Kan for eksempel anvendes som et præcisions voltmeter eller til at måle hjerterytmen i medicinsk udstyr. Comp_B har op til 12 kanaler. REF REF eller reference modulet genererer præcise spændinger på 1,5 volt 2,0 volt og 2,5 volt som anvendes af de analoge moduler ADC converteren og Comp_B. Dette sikrer meget præcise og sikre målinger. USCI 0 og USCI 1 Der er i alt fire USCI eller Universal Serial Communication Interfaces kaldet A0, A1, B0 og B1. De anvendes til at kommunikere serielt med omgivelserne, for eksempel andre MCU er, displays, eksterne computere eller enheder. De kan konfigureres til at anvende flere forskellige serielle standarder UART IrDa SPI I 2 C USCI A0 X X X Side 10 af 22
11 USCI A1 X X X USCI B0 X X USCI B1 X X UART som en COM port på en PC IrDA infrarød kommunikationsstandard anvendes til for eksempel fjernkontroller SPI kommunikationsstandard til at tilkoble ydre enheder for eksempel displays I 2 C kommunikationsstandard til at tilkoble ydre enheder for eksempel GPS modul CRC16 CRC16 modulet er beregnet til at udregne Cyclic-Redundancy-Check af en mængde data. Anvendes typisk til at bestemme om der er sket fejl i en dataoverførsel. 1. Afsender af en datamængde udregner en CRC før transmission af dataene og sender CRC værdien med. 2. Modtageren udregner samme CRC når dataene er modtager og sammenligner CRC værdierne- 3. Hvis den modtagne og den udregnede CRC er ens er dataene med stor sandsynlighed overført korrekt. RTC_A RTC_A Real Time Clock er indbygget ur og kalender. RTC_A har programmerbare alarm funktioner. Timer TA0, TA1, TA2 og TB0 Timerne kan som ordet antyder anvendes til at time begivenheder, men kan også anvendes til mange andre ting som for eksempel at tælle pulser, sende pulser og meget andet. De kan for eksempel anvendes til at regulere hastigheden på elektromotorer eller som lysdæmper med PWM Pulse Width Modulation. Alle timere er avancerede 16 bits tællere. MPY32 MPY32 eller 32 bits multiplier er et matematisk modul som kan anvendes til at lave hurtige gange operationer og kan for eksempel anvendes til signalbehandling af for eksempel lyd. Interrupt system Interrupt systemet er ikke vist separat på blokdiagrammet i Figur 4 men er en vigtig del af ethvert computersystem. Interrupt systemet opgave er at få CPU en til at køre bestemte programmer når der sker en hændelse. For eksempel kan ADC converteren fortælle CPU en at en måling er afsluttet og data er parat. Et andet eksempel er en timer der 1 gang i sekundet får CPU en til at køre et program der får en lysdiode til at blinke. De fleste perifere enheder har deres egne interrupts som kan anvendes. Det er op til programmøren at starte interrupts og lave en interrupt funktion. Det svarer list til event-handlers i for eksempel C#. JTAG og Spy-By-Wire JTAG eller Joint Test Action Group er en seriel kommunikationsstandard der anvendes til opkobling af elektroniske digitale kredsløb til en kontrolenhed. Den anvendes ofte til at koble en MCU til en PC med udviklingsværktøj og anvendes til at overføre softwaren fra en PC en til MCU ens flash. JTAG anvender som standard en fire tilslutninger hvor Spy-By-Wire kun anvender to tilslutninger. Side 11 af 22
12 EEM - Emulation enhed Emulationsenheden anvendes igennem JTAG interfaces til at debugge MCU en under udviklingen. Emulationsenheden tillader single-step programafvikling og understøtter et begrænset antal Breakpoints. MSP430F5529 tillader op til ti samtidige Breakpoints. Memory Map CPU en er forbundet til alle enheder via data- og adressebus. Adressebussen er på 20 bit og der er derfor 2 20 = adresser. Hver adresse adresserer en byte, således at der i alt kan adresseres bytes også kaldet 1 MB. Hukommelsen på MSP430F5529 er inddelt som vist i memory mappen herunder. Bemærk der er flere områder i hukommelsen som ikke anvendes. Man kan betragte Memory Mappen som et stort array der har elementer. Tabel 1 - MSP430G2553 memory map MSP430G2553 Fra adresse Til adresse Flash bank Bytes 0x1 0x243FF Interrupt vectorer 128 Bytes 0xFF80 0xFFFF FLASH bank Bytes 0x4400 0xFF7F INFO A, B, C og D 512 0x1800 0x19FF RAM Bytes 0x1C00 0x43FF INFO A, B, C og D 512 0x1800 0x19FF 16 bits perifere enheder 256 Bytes 0x0100 0x01FF 8 bits perifere enheder 240 bytes 0x0010 0x00FF 8 bits SFR perifere enheder 16 Bytes 0x 0x000F CPU en har adgang til Flash, RAM og perifere enheder på forskellige adresser. Figur 1 - CPU'en har adgang til de forskellige enheder på forskellige adresser Side 12 af 22
13 Adressering CPU en kan vælge hvilken adresse den ønsker at tilgå enten for læsning eller skrivning ved at sætte den specifikke adresse op på adressebussen MAB og efterfølgende læse eller skrive via databussen MDB. I Figur 6 herunder er memory mappen vist med et afsnit af RAM en vist. CPU kan arbejde med bytes og words. En byte er 8 bit og et word er 16 bit. CPU ens databus er 16 bit bred og kan derfor læse et word af gangen. Adgang til words er altid på lige adresser 0,2,4,6,8,A,C,E - medens adgang til en byte er på både lige og ulige adresser. MSP430 anvender hvad der kaldes Little-Endian notation, hvilket vil sige at den mindst betydende byte LSB gemmes på den laveste adresse og mest betydende byte MSB gemmes på den højeste adresse. Hvis word værdien 0x0102 skrives til adresse 0x020E vil byten 0x01 være i adresse 0x1C0E og byten 0x02 være i adresse 0x1C0F. Se Figur 6. (x86 CPU er anvender også Little-Endian) Eksempler fra Figur 6 Word read access til adresse 0x1C10 vil læse 0xAA55 Byte read access til adresse 0x1C1A vil læse 0x34 Byte read access til adresse 0x1C1B vil læse 0x12 Word read access til adresse 0x1C15 er ulovlig og vil læse fra adresse 0x1C14 og læse 0xBABE 0xFFFE 0xC000 0x1C00 0x1A00 0x1800 0x0200 0x0100 0x0010 0x Memory Map FLASH (16 KB) Inkl. interrupt RAM (10240 Bytes) Ikke anvendt Hukkommelses område INFO A, B, C, D Ikke anvendt Hukkommelses område 16 bit perifere enheder 8 bit perifere enheder 8 bit SFR perifere enheder RAM words 0xBFFE 0x... 0x1C1C 0x 0x1C1A 0x1234 0x1C18 0x 0x1C16 0x1964 0x1C14 0xBABE 0x1C12 0xABBA 0x1C10 0xAA55 0x1C0E 0x0102 0x1C0C 0x 0x1C0A 0x 0x1C08 0x8830 0x1C06 0x 0x1C04 0x 0x1C02 0x 0x1C00 0x Adresse Word Data RAM bytes 0x1C15 0x1C14 0x1C13 0x1C12 0x1C11 0x1C10 0x1C0F 0x1C0E Adresse 0xBA 0xBE 0xAB 0xBA 0xAA 0x55 0x01 0x02 Byte Data Figur 6 - MSP430F5529 memory map med udsnit af RAM vist både som words og bytes (første 64 KB vist) Side 13 af 22
14 Memory Map set fra programmerings sproget C Memory mappen kan også forstås som en struktur der består af en række arrays. For den rutinerede C- programmør ser MSP430G2553 ud som vist i kodeboksen nedenfor. Hver af de forskellige hukkomelses områder kan tilgås som en del af den samlede struktur. Den viste metode er ikke praktisk anvendelig og er kun ment som illustration af memory mappen. typedef unsigned char uint8_t; struct MSP430G2553 { uint8_t Sfr8Bit[8][2], // 0x to 0x000F - 8 words of 2 bytes uint8_t Per8Bit[120][2], // 0x0010 to 0x00FF words of 2 bytes uint8_t Per16Bit[128][2], // 0x0100 to 0x01FF words of 2 bytes uint8_t RAM[256][2], // 0x0200 to 0x03FF words of 2 bytes uint8_t Unused[24064][2], // 0x0400 to 0xBFFF words of 2 bytes uint8_t FLASH[8192][2] // 0xC000 to 0XFFFF words of 2 bytes }; Side 14 af 22
15 Assembler sprog For at forstå hvorledes en mikrocontroller fungerer, er det nødvendigt at have et grundlæggende kendskab til maskinkode og assembler sprog. Hver CPU type har deres eget assembler sprog som kan anvendes til at skrive programmer til mikrocontrolleren. Oftest anvendes højniveau sprog som C og C++ til programmeringen, men i specielle tilfælde er det nødvendigt at anvende assembler sproget. I dette kompendium er det ikke meningen at lære at kode i assembler sproget, men meningen at forstå funktionaliteten og anvendelsen af mikrocontrollere. De samme principper gælder i øvrigt også for PC ere, servere, main-frames og alle andre CPU baserede systemer. Eksempel på MSP430 assembler sprog Assembler koden herunder MOV.W eller move word vil skrive konstanten 0x8830 til adresse 0x0208. Nummertegnet # angiver det er en konstant og & angiver det er en absolut adresse. Tekst efter semikolon ; er kommentarfelt resten af linjen. MOV.W #0x8830, &0x0208 ; Write ZIP code to RAM Assembler koden herover skal assembleres af en assembler som genererer maskinkode som CPU en kan afvikle. Maskinkoden skrives typisk til Flash lageret hvor CPU en kan afvikle det. B er hexadecimal maskinkode for instruktionen MOV.W #0x8830,&0x0208 Bemærk Little-Endian hvor 8830 i memory bliver til 3088 og 0208 bliver til B240 eller set fra CPU en af 0x40B2 er den instruktion som CPU en læser og som siger CPU en at det næste word 0x8830 er en konstant com skal skrives til adressen i det næste word 0x0208 MOV.B #0x30, &0x0208 ; Write ZIP code to RAM MOV.B #0x88, &0x0209 Maskinkoden herover gør det samme som MOV.W #0x8830, &0x0208 bare en byte af gangen. Side 15 af 22
16 Watchdog Timer+ igen Alle perifere enheder for eksempel Watchdog timeren kan konfigureres og kontrolleres på de adresser i memory mappen hvor de er mapped. Kigger man i MSP430x2xx Family User s Guide kapitel 10 afsnit 3 Watchdog Timer+ registers kan det ses at CPU kan konfigurere og aflæse status på adresserne vist i tabellen herunder. Register Short Form Register Type Address Initial State Watchdog timer+ control register WDTCTL Read/write 0x0120 0x6900 with PUC SFR interrupt enable register 1 IE1 Read/write 0x Reset with PUC SFR interrupt flag register 1 IFG1 Read/write 0x0002 Reset with PUC *Bemærk: PUC = Power Up Clear WDTCTL registeret I MSP430x2xx Family User s Guide kapitel 10 afsnit 3.1 se udsnit i Figur 7 herunder - kan de enkelte bits og deres betydning for Watchdog timeren ses. Bit nummer 7, WDTHOLD er til at standse Watchdog timeren med, bemærk at der står rw-0 under WDTHOLD hvilket tilkendegiver at der kan foretages read og write på denne bit position, og at bitten default er sat til 0. Da WDTHOLD default er sat til 0 betyder det at Watchdog timeren kører, og vil resette CPU en når tiden er udløbet. I vores første øvelser vil vi standse Watchdog timeren, således den ikke resetter CPU en når vi leger med den. Figur 7 - Udsnit fra MSP430x2xx Family User's Guide afsnit I figuren herover kan det ses at WDTCTL registeret er et 16 bits register eller word register. Bits 8 til 15 indeholder WDTPW som teksten i Figur 7 afslører, er et password hvor der skal skrives 0x5A ellers vil en Power Up Clear blive genereret hvilket vil resette CPU en. Assembler instruktionen herunder vil sætte WDTHOLD bitten til 1 og skrive 0x5A i WDTPW byten. Watchdog timeren er hermed effektivt stoppet. Denne instruktion vil oftest være den første kode der afvikles, hvis WATCHDOG timeren ikke skal anvendes. MOV.W #0x5A80, &0x0120 ; Stop Watchdog timer ; 0x5A80 written to WDTCTL ; ; -> Set WDTHOLD bit ; ---> WDTPW Password Side 16 af 22
17 Assembleren En assembler er et program der oversætter assemblerkode til maskinkode. Assemblere har indbygget mange hjælpefunktioner, herunder en række assembler direktiver. Direktiverne anvendes blandt andet til at gøre koden mere overskuelig. Direktiverne kan være forskellige i forskellige assemblere. IAR s assembler som anvendes i dette kompendium har for eksempel direktivet EQU som anvendes til at lave konstanter. ;;;;; WATCH DOG TIMER - Special Function Registers WDTCTL EQU 0x0120 ; Watch dog timer register ;;;; WATCH DOG TIMER REGISTER VALUES WDTPW EQU 0x5A00 ; Watch Dog Timer Password WDTHOLD EQU 0x0080 ; Stops timer when bit set ;;;;; Code starts here MOV.W #WDTPW+WDTHOLD, &WDTCTL ; Stop Watchdog timer Lidt om CPU en CPU en har indbygget 16 registre kaldet R0 til R15. De har alle word størrelse altså 16 bit. Fire af registrene R0 til R3 har specielle funktioner. CPU registre R0 anvendes som PC Program Counter R1 anvendes som SP Stack Pointer R2 anvendes som SR Status register o R2 anvendes også som CG1 Constant Generator 1 R3 anvendes som CG2 Constant Generator 2 Register R4 til R15 anvendes som registre til at udføre beregninger og gemme midlertidige variable. Det er meget hurtigere for CPU en at anvende registrene end konstant at skulle skrive og læse til RAM. R0: R1: R2: R3: R4: R5: R6: R7: R8: R9: R10: R11: R12: R13: R14: R15: PC SP SR/CG1 CG2 Side 17 af 22
18 Program Counter - PC Program Counteren eller PC en er CPU ens motor og har ansvaret for at følge programmets logik. Når CPU resettes vil CPU en automatisk hente indholdet af wordet på adresse 0xFFFE og placere det i Program Counteren. Adresse 0xFFFE kaldes også for Reset Vector lokationen og skal indeholde start adressen på programmet som skal afvikles. RESET Kopier word fra adresse 0xFFFE til Program Counter Hent maskinkode som PC peger på PC = PC + X (X = 2, 4 eller 6) Udfør maskinkode I Flowchartet i Figur 8 kan det ses hvorledes PC en fungerer. Når CPU en Resettes vil inholdet af wordet på adresse 0xFFFE blive kopieret til PC en og afviklingen af programmet vil starte. CPU en henter herefter den maskinkode som PC en peger på og vil før den udfører eller eksekverer maskinkoden lægge to, fire eller seks til PC en. Nogle instruktioner fylder to bytes, andre fire eller seks. Herefter vil CPU en eksekvere maskinkoden. CPU en kan se på første word om instruktionen er to, fire eller seks byte. (En, to eller tre words) Når maskinkoden er eksekveret vil CPU en hente den maskinkode som PC en peger på, lægge to, fire eller seks til PC en, eksekvere maskinkoden og så videre.. Figur 8 - PC Flowchart IAR Workbench IAR s workbench er en IDE Integrated Development Environment som indeholder alle værktøjer som er nødvendige for at udvikle softwaren til embeddede systemer som for eksempel MSP430 mikrocontrolleren. Figure 9 - IAR workbench IAR workbench indeholder C/C++ compiler, assembler og linker til at bygge maskinkode som CPU en kan eksekvere. Et embedded projekt består typisk af flere sourcefiler C/C++ filer som kompileres til midlertidige Side 18 af 22
19 objekt filer og assembler source filer som assembleres til midlertidige relokerbare objekt filer. Alle de midlertidige objekt filer samles af linkeren til en absolut objekt fil som er klar til at blive flashet ned i mikrocontrolleren. Linkeren sørger for at programkoden fra alle filer placeres på de rigtige absolutte adresser i memory mappen. C, C++ Source filer Compiler Relokerbare Objekt filer Linker Absolut Objekt fil Assembler Source filer Assembler Relokerbare Objekt filer Figure 10- IDE workflow fra source filer til maskinkode (Absolut Objekt fil) Workbench indeholder også værktøjer til at flashe MSP430, debugger og simulator. Opstarts assembler kode Programmet herunder er klar til at assemblere og Flashe ned i en MSP430G2553, det gør ikke noget fornuftigt, men er anvendelig til at forstå sammenhængen i den generelle programafvikling. R10 anvendes uden formål som en tæller der tæller fra 0x til 0xFFFF uendeligt. Linjer der starter med et semikolon ; er kommentarlinjer og er uden formål i programmet og har som formål at dokumentere programkoden. Side 19 af 22
20 I linje 2 sættes ordet WDTCTL lig med 120 hexadecimalt. Det letter programmeringen at give navne til konstanter. Der er nemmere at huske registernavnet end adressen. Det gør det også nemmere at vedligeholde koden når man ved at WDTCTL er Watch-Dog-Timer Control registeret. I line 8 sættes FLASHSTART til 0xC000 som er starten på flash-hukommelsen Se memory map og det er på denne adresse programmet skal flashes ned i mircrocontrolleren. I linje 10 fortæller ORG direktivet linkeren at koden skal start fra adresse FLASHSTART altså 0xC000 som er startadressen på MSP430G2553 Flash hukommelse. I linje 12 defineres labelen Reset bemærk kolonet : Det er starten af programmet og labelen Reset anvendes senere. Assembler direktivet MOW.W #WDTPW+WDTHOLD, &WDTCTL skriver wordet 0x5A80 til adresse 0x0120 og stopper Watchdog timeren. I linje 13 skrives 0 til register 10 R10 i CPU en (bemærk W for word altså 16 bit) I linje 14 defineres labelen Loop og R10 incrementeres altså der lægges 1 til værdien i R10 I linje 15 hoppes der til label Loop programmet hopper til linje 14 uendelig løkke. I linje 18 fortæller ORG direktivet linkeren at den følgende kode skal placeres fra adresse RESETVECTOR altså adresse 0xFFFE I linje 19 anvendes direktivet DW eller define word som fortæller at adressen på label Reset skal placeres her. Når CPU en bliver reset vil den hente adressen fra adresse 0xFFFE og placere i Program Counteren som så vil starte afviklingen af programmet her. (Bemærk at vædien 00C0 står i Little-Endian og derfor læses af CPU en som C000) Efter assembleren har assembleret ovenstående assemblerkode og linkeren har linket til maskinkode, som kan ses til venstre i nedenstående tekstrude. Adresse 0xC000 til 0xC00B samt 0xFFFE til 0xFFFF indeholder programmet og vil blive flashet ned i microcontrolleren så det kan eksekveres. Adresse Maskinkode Assembler kode ORG FLASHSTART 00C000 B240805A2001 Reset: MOV.W #WDTPW+WDTHOLD, &WDTCTL 00C006 0A43 MOV.W #0,R10 00C008 1A53 Loop: INC.W R10 00C00A FD3F JMP Loop ORG RESETVECTOR 00FFFE 00C0 DW Reset Øvelser Øvelse 1 introduktion til IAR Workbench Øvelse 2 MSP430 assembler Quiz 1 Side 20 af 22
21 8 bit unsigned integer værdier vist som binær, decimal og hexdecimal BINÆR DEC HEX BINÆR DEC HEX BINÆR DEC HEX BINÆR DEC HEX = 0 = = 1 = = 2 = = 3 = = 4 = = 5 = = 6 = = 7 = = 8 = = 9 = = 10 = a 1011 = 11 = b 1100 = 12 = c 1101 = 13 = d 1110 = 14 = e 1111 = 15 = f 0001 = 16 = = 17 = = 18 = = 19 = = 20 = = 21 = = 22 = = 23 = = 24 = = 25 = = 26 = 1a = 27 = 1b = 28 = 1c = 29 = 1d = 30 = 1e = 31 = 1f 0010 = 32 = = 33 = = 34 = = 35 = = 36 = = 37 = = 38 = = 39 = = 40 = = 41 = = 42 = 2a = 43 = 2b = 44 = 2c = 45 = 2d = 46 = 2e = 47 = 2f 0011 = 48 = = 49 = = 50 = = 51 = = 52 = = 53 = = 54 = = 55 = = 56 = = 57 = = 58 = 3a = 59 = 3b = 60 = 3c = 61 = 3d = 62 = 3e = 63 = 3f 0100 = 64 = = 65 = = 66 = = 67 = = 68 = = 69 = = 70 = = 71 = = 72 = = 73 = = 74 = 4a = 75 = 4b = 76 = 4c = 77 = 4d = 78 = 4e = 79 = 4f 0101 = 80 = = 81 = = 82 = = 83 = = 84 = = 85 = = 86 = = 87 = = 88 = = 89 = = 90 = 5a = 91 = 5b = 92 = 5c = 93 = 5d = 94 = 5e = 95 = 5f 0110 = 96 = = 97 = = 98 = = 99 = = 100 = = 101 = = 102 = = 103 = = 104 = = 105 = = 106 = 6a = 107 = 6b = 108 = 6c = 109 = 6d = 110 = 6e = 111 = 6f 0111 = 112 = = 113 = = 114 = = 115 = = 116 = = 117 = = 118 = = 119 = = 120 = = 121 = = 122 = 7a = 123 = 7b = 124 = 7c = 125 = 7d = 126 = 7e = 127 = 7f 1000 = 128 = = 129 = = 130 = = 131 = = 132 = = 133 = = 134 = = 135 = = 136 = = 137 = = 138 = 8a = 139 = 8b = 140 = 8c = 141 = 8d = 142 = 8e = 143 = 8f 1001 = 144 = = 145 = = 146 = = 147 = = 148 = = 149 = = 150 = = 151 = = 152 = = 153 = = 154 = 9a = 155 = 9b = 156 = 9c = 157 = 9d = 158 = 9e = 159 = 9f 1010 = 160 = a = 161 = a = 162 = a = 163 = a = 164 = a = 165 = a = 166 = a = 167 = a = 168 = a = 169 = a = 170 = aa = 171 = ab = 172 = ac = 173 = ad = 174 = ae = 175 = af 1011 = 176 = b = 177 = b = 178 = b = 179 = b = 180 = b = 181 = b = 182 = b = 183 = b = 184 = b = 185 = b = 186 = ba = 187 = bb = 188 = bc = 189 = bd = 190 = be = 191 = bf 1100 = 192 = c = 193 = c = 194 = c = 195 = c = 196 = c = 197 = c = 198 = c = 199 = c = 200 = c = 201 = c = 202 = ca = 203 = cb = 204 = cc = 205 = cd = 206 = ce = 207 = cf 1101 = 208 = d = 209 = d = 210 = d = 211 = d = 212 = d = 213 = d = 214 = d = 215 = d = 216 = d = 217 = d = 218 = da = 219 = db = 220 = dc = 221 = dd = 222 = de = 223 = df 1110 = 224 = e = 225 = e = 226 = e = 227 = e = 228 = e = 229 = e = 230 = e = 231 = e = 232 = e = 233 = e = 234 = ea = 235 = eb = 236 = ec = 237 = ed = 238 = ee = 239 = ef 1111 = 240 = f = 241 = f = 242 = f = 243 = f = 244 = f = 245 = f = 246 = f = 247 = f = 248 = f = 249 = f = 250 = fa = 251 = fb = 252 = fc = 253 = fd = 254 = fe = 255 = ff
22 8 bit signed integer værdier vist som binær, decimal og hexdecimal BINÆR DEC HEX BINÆR DEC HEX BINÆR DEC HEX BINÆR DEC HEX = 0 = = 1 = = 2 = = 3 = = 4 = = 5 = = 6 = = 7 = = 8 = = 9 = = 10 = a 1011 = 11 = b 1100 = 12 = c 1101 = 13 = d 1110 = 14 = e 1111 = 15 = f 0001 = 16 = = 17 = = 18 = = 19 = = 20 = = 21 = = 22 = = 23 = = 24 = = 25 = = 26 = 1a = 27 = 1b = 28 = 1c = 29 = 1d = 30 = 1e = 31 = 1f 0010 = 32 = = 33 = = 34 = = 35 = = 36 = = 37 = = 38 = = 39 = = 40 = = 41 = = 42 = 2a = 43 = 2b = 44 = 2c = 45 = 2d = 46 = 2e = 47 = 2f 0011 = 48 = = 49 = = 50 = = 51 = = 52 = = 53 = = 54 = = 55 = = 56 = = 57 = = 58 = 3a = 59 = 3b = 60 = 3c = 61 = 3d = 62 = 3e = 63 = 3f 0100 = 64 = = 65 = = 66 = = 67 = = 68 = = 69 = = 70 = = 71 = = 72 = = 73 = = 74 = 4a = 75 = 4b = 76 = 4c = 77 = 4d = 78 = 4e = 79 = 4f 0101 = 80 = = 81 = = 82 = = 83 = = 84 = = 85 = = 86 = = 87 = = 88 = = 89 = = 90 = 5a = 91 = 5b = 92 = 5c = 93 = 5d = 94 = 5e = 95 = 5f 0110 = 96 = = 97 = = 98 = = 99 = = 100 = = 101 = = 102 = = 103 = = 104 = = 105 = = 106 = 6a = 107 = 6b = 108 = 6c = 109 = 6d = 110 = 6e = 111 = 6f 0111 = 112 = = 113 = = 114 = = 115 = = 116 = = 117 = = 118 = = 119 = = 120 = = 121 = = 122 = 7a = 123 = 7b = 124 = 7c = 125 = 7d = 126 = 7e = 127 = 7f 1000 =-128 = =-127 =-7f 1010 =-126 =-7e 1011 =-125 =-7d 1100 =-124 =-7c 1101 =-123 =-7b 1110 =-122 =-7a 1111 =-121 = =-120 = =-119 = =-118 = =-117 = =-116 = =-115 = =-114 = =-113 = =-112 = =-111 =-6f =-110 =-6e =-109 =-6d =-108 =-6c =-107 =-6b =-106 =-6a =-105 = =-104 = =-103 = =-102 = =-101 = =-100 = = -99 = = -98 = = -97 = = -96 = = -95 =-5f = -94 =-5e = -93 =-5d = -92 =-5c = -91 =-5b = -90 =-5a = -89 = = -88 = = -87 = = -86 = = -85 = = -84 = = -83 = = -82 = = -81 = = -80 = = -79 =-4f = -78 =-4e = -77 =-4d = -76 =-4c = -75 =-4b = -74 =-4a = -73 = = -72 = = -71 = = -70 = = -69 = = -68 = = -67 = = -66 = = -65 = = -64 = = -63 =-3f 1110 = -62 =-3e 1111 = -61 =-3d = -60 =-3c = -59 =-3b = -58 =-3a = -57 = = -56 = = -55 = = -54 = = -53 = = -52 = = -51 = = -50 = = -49 = = -48 = = -47 =-2f = -46 =-2e = -45 =-2d = -44 =-2c = -43 =-2b = -42 =-2a = -41 = = -40 = = -39 = = -38 = = -37 = = -36 = = -35 = = -34 = = -33 = = -32 = = -31 =-1f = -30 =-1e = -29 =-1d = -28 =-1c = -27 =-1b = -26 =-1a = -25 = = -24 = = -23 = = -22 = = -21 = = -20 = = -19 = = -18 = = -17 = = -16 = = -15 = -f = -14 = -e = -13 = -d = -12 = -c = -11 = -b = -10 = -a = -9 = = -8 = = -7 = = -6 = = -5 = = -4 = = -3 = = -2 = = -1 = -1 Side 22 af 22
Microcontroller, Arduino
Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen
Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007
Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007 Mads Pedersen, OZ6HR [email protected] Plan i dag Afrunding af OZ3VB's program Fra "almindelig C" til "microcontroller C" Lighederne
Arduino Programmering
Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået
Intro til AVR. Mads Pedersen, OZ6HR [email protected]
Intro til AVR Mads Pedersen, OZ6HR [email protected] Projektidé Brug en AVR-microcontroller Mål temperatur vha. temperatursensor Vis på display Send til computer og vis temperatur Slide 2 Plan 27/10-2005:
Microcontroller, Arduino
Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se
Datamaters arkitektur og programmering
Mikael Svenstrup Datamaters arkitektur og programmering 1/24 Datamaters arkitektur og programmering MM11: Seriel kommunikation 2 (SW) Indhold Mikael Svenstrup Datamaters arkitektur og programmering 2/24
AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund
AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations
System Arkitektur og Integration
Mikael Svenstrup System Arkitektur og Integration 1/24 System Arkitektur og Integration MM11: Seriel kommunikation 2 (SW) Indhold Mikael Svenstrup System Arkitektur og Integration 2/24 Tidligere har i
Arduino Programmering
Microcontroller-programmering med Arduino I teknologi skal vi lære at lave programmer til en microcontroller for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal
Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.
APPETITVÆKKEREN OZ6YM, Palle A. Andersen Efteråret 2017 Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. DEMO-video
Programmering i C Intro og grundlæggende C 5. marts 2007
Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR [email protected] Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner
GSM SMS Modem MODEL: SA RTU-1 V1.01
GSM SMS Modem MODEL: SA RTU1 V1.01 Brugervejledning Indgange: Der er fire indgange på modulet. De kan programmeres som normale indgange. De kan programmeres som tæller. Udgange: Der er en udgang på modulet
Enes Kücükavci Roskilde Tekniske Gymnasium 20 05 2010 Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C
Indhold Indledning(Enes)... 2 Problemstilling (Enes)... 2 Teori (Enes)... 2 Løsningsforslag (Enes)... 4 RFID relæet (Mathias)... 6 Krav (Enes og Mathias)... 8 Målgruppen (Mathias)... 8 Rekvirent... 8 Implementering(Mathias)...
Internt interrupt - Arduino
Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt
\ \ Computerens Anatomi / /
HTX Roskilde - mat-it-prog, 1.4 \ \ Computerens Anatomi / / Introduktion En PC ( personlige computer ) eller computer er bygget op af forskellige komponenter. Vi vil hermed gennemgå størstedelen af computerens
Journal JTAG: Udarbejde af: Benjamin Grydehøj I samarbejde med PDA Projektgruppen. Elektronikteknologafdelingen på Erhvervsakademi Fyn.
Journal JTAG: Udarbejde af: Benjamin Grydehøj I samarbejde med PDA Projektgruppen Elektronikteknologafdelingen på Erhvervsakademi Fyn. Journal JTAG Xilinx XC9536 29-9-3 Generel beskrivelse af JTAG: JTAG:
//--------------------------------- Definition af porte og funktioner -------------------------
Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4
Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner
Virtuel PC Fordele/ulemper Fordele: Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner Ulemper: Reserverer RAM (Windows 7) Problemer med at ureglementeret lukke ned Mister
LCD Character display Intro
LCD Character display Intro Der findes flere typer af LCD karakter-displays, fra forskellige firmaer. Her er vist en type, der er blå. Pins: Nummer 1 fra venstre Her er vist en nærmere beskrivelse af de
Computerens Anatomi. Af Martin Arnetoft
Computerens Anatomi Af Martin Arnetoft Moores lov Moores lov siger, at antallet af transistorer på et stykke hardware over 18 eller 24 måneder fordobles. Denne lov bruges til at beskrive udviklingen indenfor
Måle og test I. Lasse Kaae 2012
Måle og test I Lasse Kaae 2012 Plan for de næste 2 uger Uge 1 grundlæggende VEE NI Labview (Torsdag) Anders Meisner Uge 2 Workshop VEE VEE instrument-styring Labview NI USB 6008 Måle øvelser Lasse Kaae
Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...
Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens
Introduktion til Microcontrollere Version
Denne intro til Micro controllere er oprindeligt skrevet til Atmels AT89C2051, der er baseret på en gammel 8051-familie fra INTEL. Den man køber nu hedder AT89C405. Det er en opgraderet udgave med dobbelt
Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
Embedded controller, almen.
Ver. 310807 s. 1 Bilag 3 Valgfri specialefagskatalog Data- og kommunikationsuddannelsen Undervisningsministeriet September 2007 /Steen Albertsen Ver. 310807 s. 2 Embedded controller, almen. Varighed 1
Analoge indgange og A/D konvertering. Analoge udgange
Programmering for begyndere Brug af Arduino Programmeringskursus Analoge indgange og A/D konvertering Analoge udgange Knud Krogsgaard Jensen OZ1QK Oversigt Oversigt over i aften: A/D konvertering iterations
Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)
Hurtig opstart af Infranor XtrapulsPac-ak drev: Dette er en enkelt og kortfattet vejledning i opsætningen af XtrapulsPac-ak driver til anvendelse i stand-alone mode. Ingen Profibus forbindelse. For senere
3. Computerens opbygning.
3. Computerens opbygning. Computere er konstrueret med henblik på at skulle kunne behandle og opbevare data og det er de som nævnt i noterne om Bits og Bytes vældig gode til. Som overordnet model for computere
Bits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
ELCANIC A/S Counter Type CNT150 Version 2.00 Inkl. PC programmet: Cnt150 Version 3.00 Betjeningsvejledning
ELCANIC A/S Counter Type CNT150 Version 2.00 Inkl. PC programmet: Cnt150 Version 3.00 Betjeningsvejledning Generelt: ELCANIC A/S COUNTER Type CNT150 er en microprocessor baseret tæller. Specielt designet
Indholdsfortegnelse:
Dataopsamling Klaus Jørgensen Gruppe. Klaus Jørgensen, Jacob Clausen Og Ole Rud Erhvervs Akademi Fyn Allegade 79 Odense C 5000 fra d 2/12-02 til d 20/12-02 Vejleder: SKH. Forord: Denne rapport omhandler
Datatekniker med programmering som speciale
Datatekniker med programmering som speciale H3 H1 varer ti uger bestående af syv uddannelsesspecifikke fag, samt 2 Valgfri Udannelsesspecifikke Fag og 1 Valgfrit Speciale Fag Indhold På H2 er der fokus
ATD. Bruger manual. By AntiTremor.org. Revsion 1.1
ATD By AntiTremor.org Bruger manual Revsion 1.1 Indholdsfortegnelse Introduktion... 3 Sikkerhed... 3 Virkemåde... 3 Betjening... 4 Opladning... 4 ATD computer program... 5 Kontrol af programmer... 5 Andre
ITS MP 013. Talsystemer V009. Elevens navn. IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44
ITS MP 013 V009 Elevens navn IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44 ITS MP 013 Udarbejdet af Søren Haahr, juni 2010 Copyright Enhver mangfoldiggørelse af tekst eller illustrationer
Opsætning af xcon og Logix Controller
Indholdsfortegnelse Indledning... 2 Opsætning af MSEP... 3 Opsætning af MSEP Gateway... 3 Opsætning af akser... 5 Opsætning af PLC... 9 User-Defined Data Types... Fejl! Bogmærke er ikke defineret. Test
MT90 Vejledning. Forord. Website: www.smartgps.dk Kontakt: [email protected]. Tillykke med din nye GPS tracker MT90.
MT90 Vejledning Forord Tillykke med din nye GPS tracker MT90. Denne manual viser hvordan du anvender enheden korrekt. Sørg for at læse denne manual grundigt, før du bruger dette produkt. Brugermanualen
Lektion 6 / Analog Arduino
1 Jeremiah Teipen: Electronic Sandwich BSPR11 Lektion 6 / Analog Arduino Mogens Jacobsen / [email protected] Siden sidst 2 Har I fået nogle LEDs til at blinke? Har I brugt kontakter? Hvad har I eksperimenteret
Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering...
Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... 3 Kildekoden... 4 Variabler... 4 Setup... 4 Loop... 4 Indledning
ELCANIC A/S. ENERGY METER Type ENG110. Version 3.00. Inkl. PC program: ENG110. Version 3.00. Betjeningsvejledning
ELCANIC A/S ENERGY METER Type ENG110 Version 3.00 Inkl. PC program: ENG110 Version 3.00 Betjeningsvejledning 1/11 Generelt: ELCANIC A/S ENERGY METER Type ENG110 er et microprocessor styret instrument til
COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE
COMPUTER ANATOMI 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE 1 Indholdsfortegnelse Kapitel 1: Opbygning s.2 Kapitel 2: CPU s.3 Kapitel 3: Motherboard s.4 Kapitel 4: Ram s.6 Kapitel 5: Grafikkort s.7 Kapitel
FireBUS PARKERINGSVENTILATION
FireBUS PARKERINGSVENTILATION QUICK GUIDE Quick guiden beskriver hvordan et mindre anlæg kan installeres og idriftsættes. Alle moduler tildeles en individuel adresse på DIP-switchen i modulet Modulerne
Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK
Programmering for begyndere Brug af Arduino Programmeringskursus Interrupt - Arduino EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Interrupts Programmeringskursus Genbrug Interrupts Betyder blot at man afbryder
CANSAT & ARDUINO step by step
CANSAT & ARDUINO step by step Jens Dalsgaard Nielsen SATLAB Aalborg Universitet Danmark [email protected] 1/51 Arduino CANSAT - MÅL At måle ved hjælp af sensor temperatur, tryk, acceleration, CO2, lys,...
SPIDER Quick guide. DATO: August 2017 FORHANDLER: WASYS A/S. Langebjergvænget Roskilde
SPIDER Quick guide DATO: August 2017 FORHANDLER: WASYS A/S Langebjergvænget 18 4000 Roskilde +45 7221 7979 Indhold Om SPIDER... 3 Funktioner ved SPIDER... 3 Spændingsforsyning... 3 Installation og fysiske
Diagnostic og Toolbox Instruktion. www.lp.dk Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14
EL-PAS -Cruise II ANDROID Diagnostic og Toolbox Instruktion LP www.lp.dk Lindgaard Pedersen A/S Side 1 / 14 Indhold Denne vejledning indeholder instruktion til brug af Cruise Android App, hentet fra Android
Modbus data modellen er opbygget af fire primære data typer. I nedenstående skema er en kort oversigt over disse.
Modbus RTU protokol Indledning Modbus er en application layer messaging protocol, placeret på 7. lag i OSI modellen, der sørger for client/server kommunikation mellem enheder koblet på forskellige typer
Introduktion til programmering. Af mikroprocessor Atmel ATmega328P i en Arduino Uno
Introduktion til programmering Af mikroprocessor Atmel ATmega328P i en Arduino Uno Min baggrund: Intel 4004, 4 bit, maskinsprog Intel 8008, 8 bit, maskinsprog bit for bit I sprogene: assembler, Fortran
OPTAC overførselsenhed Brugermanual
OPTAC overførselsenhed Brugermanual Telefonnummer support: +44 870 887 9256 E-Mail: [email protected] Document version 2.0 Document No. 6939-170 1 1 TERMINOLOGI... 4 2 INTRODUKTION... 4 2.1 Hvad
Niveauer af abstrakte maskiner
Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet
Alle dip 1 7 sættes til On for at opnå stand-alone operation fra PC.
Hurtig opstart af Infranor CD1 p og pm: Dette er en enkelt og kortfattet vejledning i opsætningen af CD 1 p og pm driver til anvendelse i stand-alone mode. Ingen Profibus forbindelse. For senere opkobling
Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer.
PLC, analogteknik Øvelse 1 Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer. Timer 1.1 "TON" Timer on delay: I skal konstruerer en styring, hvor en lampe
CP1x Pulse Servo Quick Guide v1.00. CP1x med Servo - Servoløsning med Pulse Kontrol. Quick Guide
CP1x Pulse Servo Quick Guide v1.00 CP1x med Servo - Servoløsning med Pulse Kontrol Quick Guide Denne quick guide er ment som supplement til de respektive manualer for CP1 PLCen og de monterede servodrev.
MP3 player med DMX interface.
Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK MP3 player med DMX interface. Funktion: En avanceret Mp3spiller med forskellige styringsmuligheder, velegnet til brug i museer, teatre, udstillinger
A BCDE EAF AE C C C C AE A C CD C A B C DEFA A B B
C C C AE A C CD C A B C DEFA A B B F A A F F D EFF AA C A B B D B D D B F B D B C C C AE A C C E C AB CDE BF FAB E A A DA A B B A AB A B F B BB A B A AB B A A B B B A AB E A B A BB D A AB DA BB BB B B
ATD. Bruger manual. by AntiTremor.org. Rev1.2
Rev1.2 ATD by AntiTremor.org Bruger manual Indholdsfortegnelse Introduktion... 3 Sikkerhed... 3 Vigtigt når ATD tages i brug... 4 Virkemåde... 5 Betjening... 9 Opladning... 11 ATD computerprogram... 12
Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.
Computer Literacy Computer Literacy handler om at forstå hvad computer (hardware) og software kan gøre. Denne præsentation fokuserer kun på hardware februar 2002 Computerliteracy -hardware (15 dias) 1
QUICKVEJLEDNING til Piccolo Light
QUICKVEJLEDNING til Piccolo Light Montering 1. Piccolo Light kan installeres uden brug af kommunikation via GSM, men installeres et SIM-kort i enheden, vil man bl.a. kunne få alarmer som sms og email.
Produktpræsentation. BA Systems. Control made easy
Produktpræsentation BA Systems Control made easy Produkthistorik 1995: SCADA system 1. generation frigivet 1997: BAS Series 1. generation frigivet 1999: BAS Series 2. generation frigivet - Frit programmerbar
En Krystalstabil Oscillator til dit næste projekt
1 En Krystalstabil Oscillator til dit næste projekt Efteråret 2017, af OZ6YM, Palle A. Andersen Ved et tilfælde, medens jeg en dag sat og surfede lidt på nettet, faldt jeg over en konstruktion af en VFO.
TinkerCad - Arduino simulator
TinkerCad - Arduino simulator Dokument fra H.C.Ørsted Gymnasiet, delt i HTX-Strømspassergruppen. ( Lidt modificeret / Valle ) På tinkercad.com kan man både arbejde med 3D emner, men også elektroniske kredsløb.
BAS 920. Datablad. BA Systems Petershvilevej 1 DK-3200 Helsinge http://www.basystems.dk
BAS 920 BA Systems Petershvilevej 1 DK-3200 Helsinge http://www.basystems.dk BAS 920 tilhører en familie af frit programmerbare kontrollere designet til at være skalerbare fra helt små til meget store
Oversigt.: LED Indikator Optag / Stop Button Lince MIC Nulstil Hul USB Plug
1. Brugervejledning 2. Tak for dit køb af vores pen-optager. Læs venligst denne manual omhyggeligt og grundigt før ethvert forsøg på at betjene dette produkt og beholde den for din fremtids reference.
Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0
Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS
SSI-9001 IP65. Installations vejledning. SSIHuset v/svane Electronic ApS. GSM fjern kontrol og alarm system
SSI-9001 IP65 GSM fjern kontrol og alarm system Installations vejledning SSIHuset v/svane Electronic ApS Vejledning Kontakt Tænd/sluk 1 - Strømforsyning: Forbundet til egen 12V / 1.5A strømforsyning (*)
IAI Quick Start Guide
IAI Quick Start Guide Opsætning: Manualen til controllerene ligger i: Produkter\IAI\Manual\RoboCylinder\Controller\ Her ligger den i en undermappe alt efter hvilken type controller det er. Installer RCPC
Eksamen dcomnet Q2/2010. Navn
2582 Eksamen dcomnet Q2/2010 ID Navn Example I A32-prg1 Betragt følgende program skrevet i IA-32 symbolsk maskinsprog:.section.data x:.long 2 r:.long 27.section.text.globl _start _start: pushl x movl $0,%ebx
Brugervejledning for Modtager RX 300
DENNE BRUGERVEJLEDNING GÆLDER FRA SOFTWARE VERSION 2.2 Brugervejledning for Modtager RX 300 KNOP ELEKTRONIK A/S Fabriksvej 20=7600 Struer=Mail: [email protected]=web: www.knop.dk=tlf.: 9784 0444=Fax.: 9784
Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!)
MHz KIT Rev: /- Det er ikke tilladt, at man bare udsender radiobølger på den frekvens, man ønsker. Forskellige frekvenser er udlagt til forskellige formål. Nogle til politiet, militæret, FM-radio-transmission,
LISA 2 System til faringsovervågning
Indledning Du har netop anskaffet dig et unikt stykke værktøj til brug ved faringsovervågning. LISA 2 systemet er et interaktivt værktøj, som sikrer at medarbejdere i farestalden holder fokus på faringer
Robonet Profibus Generel opsætning
Side 1 af 11 Robonet Profibus Generel opsætning Side 2 af 11 Indholdsfortegnelse 1. Anvendt hard- og software samt filer... 3 2. Konfiguration af RoboNet Gateway... 4 3. Beskrivelse af data mellem PLC
Hvad skal du vide for at bygge din egen computer?
Hvad skal du vide for at bygge din egen computer? Kender du alle de her dele og hvad de gør godt for? Er du mellem 11 og 16 år, og tænker på at sammensætte din egen computer? Så er denne her guide lige
Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)
Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads
Indholdsfortegnelse :
Udarbejdet af Kasper jensen EUC-Syd 4ES 10-3-2001 Indholdsfortegnelse : Indholdsfortegnelse :...2 Mikroprocessor general :...3 Mikroprocessors funktion :...3 AT89C4051 :...3 Programmering :...3 Assambler
Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B
Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Udarbejdet af: Mathias R W Sørensen, klasse 3.4 Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-2012 IT-vejleder: Karl G. Bjarnason
Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.
Simple kontakter Accelorometer Example sensors Lysfølsomme modstande RFID reader & tags Temperaturfølsomme modstande Flex Sensor Ultralyds afstandsmåler Piezo Pressure/vibration Piezo Sound/buzzer Peltier
Programmering af trådløse modtagere (RF)
Comfort CSx75 Programmering af trådløse modtagere (RF) Introduktion Centralerne CSx75 kan udvides med trådløse (RF) modtagere på 868 MHz og 433 MHz. Når en RF modtager er installeret på centralen, kan
GSM port styring 400 brugere
1 GSM port styring 400 brugere SMS alarm, temperatur og fjernkontrol system 16 brugere til at modtage alarmbeskeder via SMS Software vejledning SSIHuset Svane Electronic ApS Arildsvej 27, Gråmose, DK-7442
NC_8_ Quick Guide v1.0. CJ1W-NC_8_ Position Control via EtherCAT. Quick Guide
Quick Guide v1.0 CJ1W- Position Control via EtherCAT Quick Guide Denne Quick Guide er ment som supplement til de respektive manualer for CJ1W- modulet og de installerede servodrev, frekvensomformere og
Computerarkitektur. - en introduktion til computerarkitektur med LINDA
Computerarkitektur - en introduktion til computerarkitektur med LINDA [email protected] Faraz Butt [email protected] Mads Danquah [email protected] Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig
IR32C: Elektronisk digital termostat med afrimningskontrol for køle-/ frostanlæg med drift inden for lave temperaturområder.
IR32C LED (lysdiode) instrumenter til køl/ frost infrarød IR32C: Elektronisk digital termostat med afrimningskontrol for køle-/ frostanlæg med drift inden for lave temperaturområder. IR32C - COMPACT modellen
Opdatering af firmware
Opdatering af firmware Udgave 1 1. Oversigt Introduktion Denne manual beskriver, hvordan Premier 48, 88, 168 og 640 opdateres til firmwave version 8.x Udstyr Følgende udstyr skal benyttes til opgraderingen:
Fra programmering til mikroprocessor
Programmering for begyndere Brug af Arduino Fra programmering til mikroprocessor EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Programmerings kursus Sidste gang (Introduktion)
IsoBar ControlModul. Brugsanvisning. Indhold. Introduktion og tekniske specifikationer 1. Generel beskrivelse af display og tastatur 2
IsoBar ControlModul Brugsanvisning Indhold Introduktion og tekniske specifikationer 1 Generel beskrivelse af display og tastatur 2 Indstilling af ISOBAR drift 3 Indstilling af MANUEL drift 4 Indstilling
Bruger Manual For WT-215W WIFI relæ
Product Model: WT-215W Bruger Manual For WT-215W WIFI relæ Applicationer Sæt enheden til en stikkontakt og brug setup menuen for at forbinde enheden til WiFi-routeren og opret en online konto, så er man
1 Indholdsfortegnelse.
ET106 Ringsted Tekniske Skole 21. maj 1999 1 Indholdsfortegnelse. 1 Indholdsfortegnelse. 2 2 Indledning. 3 3 Generelt om DSP. 3 4 Om EZ-kittet. 4 5 Signalbehandling. 5 5.1 Indgangs lavpasfilter. 5 5.2
QUICKVEJLEDNING til multiguard DIN6. Montering
QUICKVEJLEDNING til multiguard DIN6 Montering 1. Klargør et SIM-kort, så pinkoden er 1234 eller deaktiveret. Monter kortet i enheden. Enheden har nu 1234 som password eller kører uden password. Kortet
