C for uc kompendium. Denne compendium er et forsøg på at lære lidt om C for uc, med Keil syntax.
|
|
- Anne Paulsen
- 6 år siden
- Visninger:
Transkript
1 Denne compendium er et forsøg på at lære lidt om C for uc, med Keil syntax. Startet d. 30/ / valle Kildetekst: I Keil skrives en kildetekst som det sker i asembler. Her skal kildetekst-filen dog have extension.c C har den fordel, at der kan udføres komplekse beregninger, at interrupts er lettere at styre osv. Men man kommer ikke uden om at man skal kende sfr s til opsætning af timere osv. Operatorer: Operator Forklaring Eksempler + a = a + b; a += b; a = a + 1; // Increment med 1 a++ - a = a - b; // a = a - b a -= b; a = a - 1; // Decrement a--; // som do. * Gange a = a * b; // a = a gange b a *=b; // som do. / divider a = a / b; // a = a divideret med b. a /= b; // som do. % a = a % b; // a = restdelen ved division a %=b; // Restdelen ved division.! Not, på bit niveau P1_0 =!P1_0 if (a!=b) y = 0; //!= Not equal, ~ Not, på byte niveau P1 = ~P1 & And P1 = P1 & 0xF0 //P1 og F0h and es. a = a & b; // Bitvis and funktion a &=b; // som do. Side 1 af 18
2 && Og hvis samtidig if ((x == 5) && (y == 7)) DoSomething(); if ((P3_4 == 1) && (P1_1 == 1) && (P1_0 == 1) &&(!koert)) Or P1 = P1 0x81 >> Shift right << Shift left P1 = 0x01 P1 = (P1<<8) Nu er P1 = = = Compare if ((P1 = =0) & ( a <= 128)) Kode her < Mindre end > Større end <= Mindre end eller lig med >= Større end eller lig med!= Not equal ^ exor r = a^b sqrt at2 = sqrt(at1); Rand(); Random, Kræver include af stdlib.h LED1 = rand(); y = rand(); // Y er unsigned char!! _nop_ (); ASM Nop _nop_ (); // kræver include <intrins.h> Datatyper: Data Type Bits Bytes Value Range Bit 1 0 to 1 Signed char to +127 Unsigned char to 256 Enum to Signed short to Unsigned short to Signed int to Unsigned int to Signed long to Side 2 af 18
3 Unsigned long to Float / E+38 to +/ E+38 Sbit 1 0 to 1 Sfr to 256 Sfr to For example, the declaration: sfr P0 = 0x80, declares the variable p0 and assigns it the special function address of 0x80. This is the address of PORT 0 on the The C51 compiler automatically converts between data types when the result implies a different data type. For example, a bit variable used in an integer assignment is converted to an integer. Bemærk, at I C-sproget, skal alle linjer afsluttes med semicolon, undtagen de, der slutter med paranteser, '' eller ''. Source code organisering: Følgende afsnit gennemgår organiseringen af en C-source kode fil. // Headers Her inkluderes biblioteker dvs..h filer. Headerfiler kan bruges til at deklarere SFR-navne, Konstanter, Matematiske funktioner Skal der bruges matematiske operationer, skal man inkludere matematikbiblioteket. I bilag, se liste over biblioteker: #include <Reg2051.h> #include <Math.h> // til Matematikfunktioner #include <stdlib.h> // til random funktion #include <intrins.h> // til asm nop #include <stdio.h> Herefter kan udføres denne beregning. a =(c*cos(b))+sin(b); Deklarering af variable Erklæring af globale variable. Bruges normalt i uc, med mindre man løber tør for RAM. Bruger mere RAM end lokale variable. Variable skal erklæres før de kan bruges. Der unsigned char a,b,c; Side 3 af 18
4 skal angives, hvilken type, de er, dvs. hvilke data, de kan indeholde. Og dermed også hvor meget de fylder i RAM signed char d; a = 100; b = 200; c = a - b; d = a - b; unsigned char x= 5; // 0 til 255 Global! Erklæring af et array, eller gruppe, kaldet display, med 10 elementer. De har nummer 0 til 9. char display[10]; display[0] = 100; display[3] = 60; display[1] = display[0] - display[3]; int tal_array[6]=0x08, 0x14, 0x3A, 0x47, 0xff, 0xB4; // Array starter fra nummer 0 til 5 // C kan des- char byte_array[5]='a', 0x02, 'b', 'e', 0x34 ; værre ikke håndtere binære tal. Erklæring af konstanter??? I ROM. Som do, men med prefix code. code unsigned char message[500]; Definering af konstanter: #define led_on_time 184 #define hoj 1 // Navnet hoj er lig 1 #define lav 0 #define true 1 #define false 0 Definering af pin-navne: I stedet for navnet LED1 menes pin P1_0 Det kan gøres åbenbart med define eller sbit. #define LED1 P1_0 #define LCD_RS P1_0 #define LCD_EN P1_1 #define LCD_D4 P1_2 #define LCD_D5 P1_3 #define LCD_D6 P1_4 #define LCD_D7 P1_5 sbit kontakt = P3_0; er forbundet til P3 bit 0. sbit On = P3_2; sbit button = P3_4; // Register select // Enable // Data bits // Data bits // Data bits // Data bits // variablen kontakt Side 4 af 18
5 Prototypes: Erklæring af prototypes. Ellers kan der ikke kaldes funktioner længere nede i et program. Her en liste over de følgende sub-programmer. Det ser tilsyneladende ud til, at et kald til en anden sub nedad i programmet ikke kan ske, med mindre, der her er anført en liste over sub-program-navne, afsluttet med semikolon. /*************************************************** * Prototype(s) * ***************************************************/ void LCD_delay(unsigned char ms); void LCD_enable(); void LCD_command(unsigned char command); void LCD_putc(unsigned char ascii); void LCD_puts(unsigned char *lcd_string); void LCD_init(); void Setup_seriel(void); // void er vist nok ikke nødvendig!!!!! Functions body Her placeres alle funktioner, der hører til programmet. ( eller sub-programs ) Også interrupt funktioner. Initialisering Sub-program, der kun køres ved power_on.. Fx opsætning af konstanter, opsætning af timere, seriel del, interrupts osv. Main-Infinit loop. En uc skal altid køre. Derfor er mainprogrammet en løkke, der altid skal køre. main() main-funktionens kode main() while(1) delay(30000); P1_0 = 0; delay(30000); P1_0 = 1; // infinite loop Side 5 af 18
6 Løkkestrukturer: IF: if (expression) code to be executed if ( (P1 == 0) & (a <= 128) ) code to be executed IF Else if (expression_1) code block 1 else if(expression_2) code block 2 else if(expression_3) code block 3 else code block 4 For Loops for(start;condition;step) code block For(i=0;i<10;i++) P0 = i; While Side 6 af 18
7 while(i < 10) P0 = i; i = i +1; while(1) delay(30000); P1_0 = 0; delay(30000); P1_0 = 1; Switch: Ej færdig: char a; char With_switch() switch(a) case '0': return 0; case '1': return 1; case 'A': return 2; case 'B': return 3; default: return 255; char With_if() if(a=='0') return 0; else if(a=='1') return 1; else if(a=='a') return 2; else if(a=='b') return 3; else return 255; In Test Case 4, we still have 11 possible function calls. However, the indices for the functions are non-uniformly spaced. For the switch-based code, we simply fill in the requisite values as shown below: char switch_fn(unsigned char i) char res; switch(i) case 0x30: res = fna(); break; Side 7 af 18
8 case 0x35: res = fnb(); break; case 0x36: res = fnc(); break; case 0x39: res = fnd(); break; default: res = 0; break; return res; Funktioner: Programstumper, der kan bruges mange gange i et program. Function_name(parameter_1, Parameter_2, Parameter_3) function body return value (optional) Funktion med navnet delay. Den har en parameter kaldet y. Dvs. der skal et tal med, når funktionen kaldes, unsigned int. I denne funktion gemmes tallet i variablen y. Der oprettes en int variabel, i, der starter på 0, og så længe i er mindre end y, udføres funktionens body, ig i forhøjes med 1. Funktion uden return-værdi: delay(unsigned int y) unsigned int i; for(i=0;i<y;i++) ; Funktionen kaldes fx med Side 8 af 18
9 delay(30000); Dette giver ca. 1 sek delay ved 12 MHz. Funktion med retur variabel En funktion kan beregne, og returnere Kaldes med angle = deg_to_rad(102,18); Variablen angle får resultatet af funktionsberegningen. deg_to_rad(float deg) float rad; rad = (deg * 3.14)/180; retrun rad; Timeren: #include<reg51.h> sbit pulse = P3^0; void main(void) while(1) TMOD = 0b ; //Timer 1, mode 1 (16-bit) TL1=0x00; // load TL with 0x00 TH1=0xDC; //load TH with 0xDC TR1=1; //start Timer1 while(!tf1); //wait for timer1 overflow TR1=0; //stop timer1 pulse = ~pulse; //complement P3.0 TF1=0; //clear timer1 flag Interrupts: Side 9 af 18
10 Hvordan er det lige syntaxen er, med interrupts for prioritet, er det nummer?? altså at 4 er seriel??? hvad så med at øge prioriteten?? Ekstern: Opsætning af extern interrupt: IT0/IT1 = 1 (External interrupt caused by a falling edge signal on P3.2/P3.3) IT0/IT1 = 0 (External interrupt caused by a low level signal on P3.2/P3.3 ) EA = 1; EX0 = 1; EX1 = 1; IT0 = 1; IT1 = 1; Evt. opsætning i funktion: setup_interrupts () // Function to setup the External interrupt 0 in the required mode EA = 1; EX0 = 1; IT0 = 1; Setup kaldes med setup_interrupts (); Funktionen filter er en interrupt-funktion, nummer 0 filter () interrupt 0 //The function the be executed when external interrupt occurs counter = 0; //Reset the counter to 0 example: CODE: void External_Int0() interrupt 0 //code CODE: void isr_name (void) interrupt 2 // Interrupt routine code Side 10 af 18
11 // Interrupt #include<reg51.h> sbit LED = P1^7; void turn_on(void) interrupt 0 // Extern int 0 LED=1; void turn_off(void) interrupt 2 // Extern int 1 LED=0; void main(void) LED=0; //Turn LED off IT0=0; //set external interrupt 0 edge-triggered IT1=1; //set external interrupt 1 edge-triggered EX0=1; //enable external interrupt 0 interrupt EX1=1; //enable external interrupt 1 interrupt EA=1; //enable global interrupt while(1) //loop forever ; Tabel over interrupt numre Interrupt nummer Beskrivelse adresse 0 External Int 0 03h 1 Timer / counter 0 0Bh 2 External Int 1 13h 3 Timer / counter 1 1Bh 4 Seriel port 23h Side 11 af 18
12 Timer: setup_interrupts (); //setup the External interrupt????????? // The interrupt of the Timer 0 points to the interrupt priority number 1. For Timer 0, the format of the ISR must be: void your_isr_name_here(void) interrupt 1 //your routine here The interrupt of the Timer 1 points to the interrupt priority number 3. For Timer 1, the format of the ISR must be: */ void your_isr_name_here(void) interrupt 3 //your routine here #include<reg51.h> sbit pulse = P3^0; void toggle_pin(void) interrupt 3 pulse = ~pulse; //complement P3.0 void main(void) TMOD = 0b ; //Timer 1, mode 1 (16-bit) TL1=0x00; // load TL with 0x00 TH1=0xDC; //load TH with 0xDC ET1=1; EA=1; TR1=1; //enable Timer 1 interrupt //enable global interrupt //start Timer1 while(1) //loop forever Side 12 af 18
13 Seriel Ej færdig: SCON = 0x50; /* mode 1, 8-bit uart, enable receiver */ TMOD = 0x20; /* timer 1, mode 2, 8-bit reload */ TH1 = 0xF3; /* reload value for 2400 baud */ TR1 = 1; /* timer 1 run */ TI = 1; /* set TI to send first char of uart */ /* Send a character to the serial port */ void sndchr(x) unsigned int x; SM1 = 0;?? /* clear the tx buffer full flag */ SBUF = x; while (SM1) #include<reg51.h> void my_uart_isr(void) interrupt 4 if(ti) //check if interrupt is caused by Transmit Flag TI=0; //clear TI else //go here if interrupt is caused by Receive Flag P1=SBUF; RI=0; //clear RI void main(void) TMOD = 0x20; //Timer 1, mode 2 (auto-reload) TH1 = 0xFD; //load TH with -3 or FDh SCON = 0x50; //UART mode 1, receive enabled TR1 = 1; //start Timer1 RI = 0; //clear RI Side 13 af 18
14 ES=1; EA=1; while(1) ; //enable UART interrupt //enable global interrupt //loop forever // Unlike the timer interrupts, the TI or RI must be cleared inside the ISR. Side 14 af 18
15 Kode eksempler: #include <REGX52.h> #include <math.h> unsigned long time, ON_time; //Global Variables void main() P1_3 = 1; //Set up P1_3 as input pin ON_time = ; while(1) if (time < ON_time) time++; // start or continue counting P1_0 = 0; //Turn ON the LED else P1_0 = 1; // Turn OFF the LED if (P1_3 == 0) // if the switch is pressed, time = 0; // reset 'time' to 0 Side 15 af 18
16 Bilag: REG51.H Header file for /* BYTE Register */ sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr IE = 0xA8; sfr IP = 0xB8; sfr SCON = 0x98; sfr SBUF = 0x99; sbit ET0 = 0xA9; sbit EX0 = 0xA8; /* IP */ sbit PS = 0xBC; sbit PT1 = 0xBB; sbit PX1 = 0xBA; sbit PT0 = 0xB9; sbit PX0 = 0xB8; /* P3 */ sbit RD = 0xB7; sbit WR = 0xB6; Side 16 af 18
17 sbit T1 = 0xB5; sbit T0 = 0xB4; sbit INT1 = 0xB3; sbit SM0 = 0x9F; sbit SM1 = 0x9E; sbit SM2 = 0x9D; sbit REN = 0x9C; sbit TB8 = 0x9B; sbit RB8 = 0x9A; sbit TI = 0x99; sbit RI = 0x98; /* PSW */ sbit CY = 0xD7; sbit AC = 0xD6; sbit F0 = 0xD5; sbit RS1 = 0xD4; sbit RS0 = 0xD3; sbit OV = 0xD2; sbit P = 0xD0; sbit TF1 = 0x8F; sbit TR1 = 0x8E; sbit TF0 = 0x8D; sbit TR0 = 0x8C; sbit IE1 = 0x8B; sbit IT1 = 0x8A; sbit IE0 = 0x89; sbit IT0 = 0x88; /* SCON */ /* BIT Register */ /* TCON */ /* IE */ sbit EA = 0xAF; sbit ES = 0xAC; sbit ET1 = 0xAB; sbit EX1 = 0xAA; sbit INT0 = 0xB2; sbit TXD = 0xB1; sbit RXD = 0xB0; Side 17 af 18
18 Headerfiler i C ( Søg: C Standard Library ) assert.h Enforcing assertions when functions execute ctype.h Classifying characters errno.h Testing error codes reported by library functions float.h Testing floating-point type properties iso646.h Using Amendment 1 iso646.h standard header limits.h Testing integer type properties locale.h Adapting to different cultural conventions math.h Computing common mathematical functions setjmp.h Executing non-local goto statements signal.h Controlling various exceptional conditions stdarg.h Accessing a varying number of arguments stdbool.h Adds support for the bool data type in C. stddef.h Defining several useful types and macros stdio.h Performing input and output stdlib.h Performing a variety of operations string.h Manipulating several kinds of strings time.h Converting between various time and date formats wchar.h Support for wide characters wctype.h Classifying wide characters Side 18 af 18
Start på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Læs mere//--------------------------------- 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æs mereInternt 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
Læs mereProgrammering i C Videre med C (2 af 4) 19. marts 2007
Programmering i C Videre med C (2 af 4) 19. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Brush-up fra sidst Videre med C Kontrolløkker (while, for, ) Conditional Execution (if, if/else) Funktioner
Læs mereProgrammering 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 mads@oz6hr.dk Plan i dag Afrunding af OZ3VB's program Fra "almindelig C" til "microcontroller C" Lighederne
Læs mereup/ansi Eksamensspørgsmål
Side af 3 Dato: 26-06-2003 up/ansi Eksamensspørgsmål Spørgsmål : Erklæring af variable Skal placeres i første blok kan også placeres blandt erklæringer / definitioner af funktioner, dette er dog IKKE klogt.
Læs mereFra 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)
Læs mereOnline kursus: Programming with ANSI C
Online kursus 365 dage DKK 1.999 Nr. 90198 P ekskl. moms Denne kursuspakke giver dig et bredt kendskab til sproget C, hvis standarder er specificeret af American National Standards Institute (ANSI). Kurserne
Læs mereSystem 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
Læs mereDatamaters 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
Læs mereProgrammering i C Intro og grundlæggende C 5. marts 2007
Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner
Læs mereFilnavn: main.c 17-05-2002
/*Afgangsprojket Intelligent hus styringssystem med LAN. Hovedprogram til brug i PIC 16F628, placeret på slaveenhed. filnavn: dato: Funktion: fra master, main.asm 2/4-2002-2002 tk Kommunikerer med Master-PC,
Læs mereNavn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:
Side 1 af 13 Dato: 03-06-03 Til Sigurd Som aftalt får du nu tilbygningen til 80C535 kittet, keyboard og programmet med programopdatering. Den sidste opgave her, gik så ud på at tilslutte et tastatur, og
Læs mereNavn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003
Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,
Læs mereLCD intro. LCD Character display-intro. Redigeret 4/6-2019
LCD Character display-intro Parallel interface, Forbindelsesdiagram, Ram & Rom-struktur, Biblioteksfunktioner til at styre LCD-skærmen, Lcd.Print vs Lcd.Write, Selvdefinerede karakterer, herunder æ, ø
Læs mereProject Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1
Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words
Læs mereLCD 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
Læs mereProgrammering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
Læs mereUnder 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet.
8 3. Nedtælling Nu skal du lave en nedtæller. Det er en god måde at lære variabler på og hvordan du skal kode micro:bit til at gøre dét, du vil have, at den skal vise. Du skal bruge: 1 x BBC micro:bit
Læs mereInterrupt - 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
Læs mereProjekt - RoboNet Del Journal.
Projekt - RoboNet Del Journal. Udarbejdet af: Klaus Jørgensen. Gruppe: Jacob Clausen, Klaus Jørgensen og Ole Rud It og Elektronikteknolog, 2a Erhvervsakademiet Fyn Udarbejdet i perioden: 20/01-03 03/02-03
Læs mereSeriel kommunikation
Introduktion til seriel kommunikation. Senest redigeret d. 1/11-2011. / Valle Se genial om 8051 seriel kommunikation: http://www.edsim51.com/8051notes/8051/serial.html I AT89C4051 er der indbygget en Seriel
Læs mereuprocessorens hardware
uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller
Læs mereErklæring af variabler. Void indstil (Indstiller starttidspunkt og måleinterval).
Indholdsfortegnelse til Bilag 1.: Side 1: Include filer. Side 1: Erklæring af variabler. Side 2: Void indstil (Indstiller starttidspunkt og måleinterval). Side 3: Void indstil (Indstiller starttidspunkt
Læs mereProgrammering i C. Lektion 4. 5. december 2008
Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )
Læs mereAarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00
Page 1/12 Aarhus Universitet, Science and Technology, Computer Science Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed
Læs merePrivat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende
Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind
Læs mereTerese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012
Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend
Læs merePARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION
Læs mere// inkluder library kode: #include <LiquidCrystal.h> #include <Serial.h> // Initialiser display LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
/* OZ1HJR Program til styring af Mercury Motor SM-42BYG011-25 (ROB-09238) med EasyDriver V4.4 (ROB-10267). Når MS1 og MS2 begge er High, er et step (1.8 grader) opløst i 8 mikrostep. Et mikrostep svarer
Læs mereLøkkestrukturer mm. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 05/ Arduino, Loops, løkker, programfunktioner mm.
Arduino, Loops, løkker, programfunktioner mm. Links til følgende i dokumentet: Trykknap If, If else, If Else If While, Do While For-Loop Break, PWM Serial Read Funktioner og subrutinerr Switch Case Random
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 4 18. september 2009 Pointers Referenceparametre 2 / 19 Pointers 1 Pointers 2 Referenceparametre Pointers Referenceparametre 3 / 19 Husk: En variabel er en navngiven plads i computerens
Læs mereVideo Projector Controller. Brugermanual
Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK l Video Projector Controller Brugermanual WWW.WAHLBERG.DK TELEPHONE +45 86 18 14 20 CELL PHONE +45 40 52 20 88 EMAIL: mads@wahlberg.dk Feb
Læs mereINGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen. I3PRG3 + I3DTM3 + I3ISY1-3. semester
INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 7 Eksamenstermin: DECEMBER 2003 / JANUAR 2004 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir
Læs mereChapter. Information Representation
Chapter 3 Information Representation (a) A seven-bit cell. Figure 3. Figure 3. (Continued) (b) Some possible values in a seven-bit cell. Figure 3. (Continued) 6 8 7 2 5 J A N U A R Y (c) Some impossible
Læs mereProgrammering i C. Lektion november 2008
Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse
Læs mereExample 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
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 2 14. september 2009 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Kommentarer Format - scanf og printf 2 / 27 Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler
Læs mereLRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);
Læs mereECE 551: Digital System * Design & Synthesis Lecture Set 5
ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE
Læs mere% &$ # '$ ## () %! #! & # &, # / # 0&. ) 123 45 / & #& #
!"$!!"$ % &$ '$ () %! %"!" & * function &+! & &, --.& / 0&. ) 123 45 / & & & 6 Sub CalcVecProduct() * &3.5 & 2 &6 / 7$ & & & "%&$&"! 2 " $ " 8 $ & $/ $ $" 9&6 Sub test() streng_y = "det her går " streng_y
Læs mereOracle PL/SQL. Overview of PL/SQL
Oracle PL/SQL John Ortiz Overview of PL/SQL Oracle's Procedural Language extension to SQL. Support many programming language features. If-then-else, loops, subroutines. Program units written in PL/SQL
Læs mereIndholdsfortegnelse :
Udarbejdet af Kasper jensen EUC-Syd 4ES 10-3-2001 Indholdsfortegnelse : Indholdsfortegnelse :...2 Mikroprocessor general :...3 Mikroprocessors funktion :...3 AT89C4051 :...3 Programmering :...3 Assambler
Læs mereprogram fibomain(input,output); var i, j,result : integer; var x, y: integer;
program fibomain(input,output); var i, j,result : integer; procedure fib(n : integer); var x, y: integer; begin if (n=0) or (n=1) then result := 1 else begin fib(n-1); x:= result; fib(n-2); y:= result;
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form
Læs mereconst int disponibel_10= 10; const int disponibel_11= 11; const int disponibel_12= 12; const int blinkled = 13; // pin 13 er LED på NANO
Styring_af_analog_repeater_OZ1LN_07-04-2018_v_1_07 device Arduino NANO fra v 1.06_j kræves Starttid bærebølge for valid pilottone ved start fra v 1.06_j kræves ResetTid uden bærebølge ved genstart efter
Læs mereDesign by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Læs mereDelay(100); Man skriver fx blot delay(100); for at få Microcontrolleren til at vente 100 ms inden programmet fortsætter.
Funktionen delay() Funktionen delay() er ofte praktisk at bruge i et program i Arduino-verdenen. Man skriver fx blot delay(100); for at få Microcontrolleren til at vente 100 ms inden programmet fortsætter.
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde
Læs mereMircobit Kursus Lektion 1
Mircobit Kursus Lektion 1 I denne lektie skal vi se nærmere på den lille mini computer kaldt microbit. Egentlig kræver det at man har en fysisk microbit men man kan også næsten lave det samme med den simulator
Læs mereLCD Modul. Ved Power-on skal LCD-displayet initieres, og evt. indstilles til 4-bit kommunikation.
Vejledning til LCD Karakter Modul, 2 x 16 karakter. På min hjemmeside findes en kodegenerator. Den er gaflet fra en tysk side. Generatoren kan generere koder til 8051-kompatible, og heriblandt koder til
Læs mereSystemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111
DM14 1. Obligatoriske opgave Systemkald Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 Side 1 af 5 Intro: Formålet med opgaven at et lave en system kald
Læs mereDelta Elektronik A/S - AKD
Delta Elektronik A/S - AKD Hardware og type oversigt Grundlæggende oplysninger med forbindelser Opsætning af IP adresser på drev alle muligheder Gennemgang af WorkBench Up/Down load parametre filer Mest
Læs mereEngineering of Chemical Register Machines
Prague International Workshop on Membrane Computing 2008 R. Fassler, T. Hinze, T. Lenser and P. Dittrich {raf,hinze,thlenser,dittrich}@minet.uni-jena.de 2. June 2008 Outline 1 Motivation Goal Realization
Læs mereNiveauer 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
Læs merePointers. Programmering i C. 11. december Lektion 5. Eksempel: denne plads. Getting the address of a variable:
Programmering i C Lektion 5 11. december 2008 Pointers 1 Pointers 2 Referenceparametre 2 / 23 Husk: En variabel er en navngiven plads i computerens lager. En pointer er en pegepind der peger på denne plads.
Læs mere! "# $$ &'()*"* +*, & &"*0* & "# % %- %
!"! "# $$ & &'()*"* +*, &- & &"./+0 & &"*0* & & & 1 2 ()))))$$" "# - " # $!&!!" 34 3((5(4 6()))))5 3((5# 7())))) 4 3((58 43((58 3((5#9! 3((5#4 3((584 6 9 # '"!&()!" * " 49 9-3 :; & Private Sub Workbook_Open()
Læs mereScripting. Opslag til (Vol. D. Dahlerup. Bemærk. Anvendte bøger: "Sams. og proteiner.
Bioinformatisk C++ Scripting i Xubuntu Vol. 2 Opslag til Dybdegående Bioinformatisk Scripting i Xubuntu 12.10 (Vol. 2) Henrik D. Dahlerup, Maj 2015 kontakt: henrik@ddahlerup.com Anvendte bøger: "Sams Publishing"-books.
Læs mereVerilog HDL. Presented by: Amir Masoud Gharehbaghi
Verilog HDL Presented by: Amir Masoud Gharehbaghi Email: amgh@mehr.sharif.edu Design Hierarchy Design Specification & Requirements Behavioral Design Register Transfer Level (RTL) Design Logic Design Circuit
Læs mereMultiProgrammer Manual
MultiProgrammer Manual MultiProgrammeren bruges til at læse og skrive værdier til ModBus register i LS Controls frekvensomformer E 1045. Dansk Version side 2 til 4 The MultiProgrammer is used for the writing
Læs meredanske karakterer på Lcd
Arduino og LCD ( 16/3-13 ) Når Arduinoen kobles til et LCD-display, kan man ikke umiddelbart skrive de danske karakterer æ, ø og å. Bag hver karakterplads i LCD-en er der en 8-bit RAM. Hvis der skrives
Læs mereDesign by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design
Læs merePMDK PC-Side Basic Function Reference (Version 1.0)
PMDK PC-Side Basic Function Reference (Version 1.0) http://www.icpdas.com PMDK PC-Side Basic Function Reference V 1.0 1 Warranty All products manufactured by ICPDAS Inc. are warranted against defective
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4
DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens
Læs mereCrash Course i Programmering. HumTek, RUC
Crash Course i Programmering HumTek, RUC Kursus mål At give en basal introduktion til programmering i sproget Processing At give et overblik over sprogets potentiale At have det sjovt :-) Kursus form Meget
Læs mereBits, 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
Læs mere1 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
Læs mereEksempel: Skat i år 2000
Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)
Læs mereProgrammeringseksempel tl BCxxxx (Seriel)
APP-NOTE 600005 Beckhoff Application Note Date: 8/28/2006 Document Status: First Draft Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Programmeringseksempel
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder
Læs mereRoE timestamp and presentation time in past
RoE timestamp and presentation time in past Jouni Korhonen Broadcom Ltd. 5/26/2016 9 June 2016 IEEE 1904 Access Networks Working Group, Hørsholm, Denmark 1 Background RoE 2:24:6 timestamp was recently
Læs mereLØKKER METODER C S HISTORIE. Grundlæggende programmering Lektion 4
LØKKER METODER C S HISTORIE Grundlæggende programmering Lektion 4 1 LEKTIER UML struktur diagrammer om biler 2 OPERATORER Syntaks til at udføre forskellige beregninger og handlinger Booleans og hvorfor
Læs mereE-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss
E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss Brugervejledning (side 2-6) Userguide (page 7-11) Bedienungsanleitung 1 - Hvordan forbinder du din E-PAD hængelås med din
Læs mereWT-1011RC Programmer User Guide
WT-1011RC Programmer User Guide Firmware Version 1.9 Note: 1. Information in this manual is subject to change without notice and does not represent a commitment of manufacturer. 2. Manufacturer shall not
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:
Læs mereLær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Læs mereI 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET
Mandag den 14 januar 2013 I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET OZ1QK Knud Krogsgaard Jensen 1 ARDUINO I 2 C - BUSSEN ELLER?? Plan for I aften: Jeg siger noget i 10 minutter I fortæller lidt om
Læs merePHP 3 UGERS FORLØB PHP, MYSQL & SQL
PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at
Læs mereLøkkestrukturer mm. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 08/ Arduino, Loops, løkker, programfunktioner mm.
Arduino, Loops, løkker, programfunktioner mm. Links til følgende i dokumentet: Trykknap If, If else, If Else If While, Do While For-Loop PWM Serial Read Funktioner og subrutinerr Switch Case Random number,
Læs mereSider og segmenter. dopsys 1
Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den
Læs mereModerne numerische Methoden der Festkörperphysik Lanczos-ED für die AF Heisenberg-Kette
Moderne numerische Methoden der Festkörperphysik Lanczos-ED für die AF Heisenberg-Kette Programmcode gen matrix Lanczos Bedienung des Programms Konvergenz des Lanczos-Verfahrens Grundzustandsenergien der
Læs mereGSM 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
Læs mereIBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1
IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is
Læs mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September
Læs mereUser Manual for LTC IGNOU
User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service
Læs mereProgrammering i C. Lektion oktober 2008
Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969
Læs mereVBA PROGRAMMING IN BUSINESS ECONOMICS
SANNE WØHLK VBA PROGRAMMING IN BUSINESS ECONOMICS DJØF Publishing Copenhagen To my children Louise, Kristoffer, Sebastian, and Mikkel I hope that you will always appreciate the joy of learning Sanne Wøhlk
Læs mere! #!! $ % $! & " &'"! & *+ "! " $ $ ""!,-! $!.! $! " # 1!! &' "
""# "" # $ % $ & " &'" & " "()" *+ " " $ $ *+" $ %"&'" "( "",- $. + /"&'"-0 $ " # 1 &' " +"% $ %'('" 2 ' ) )030 )030) * )033 " )033 // " " 1 1 41 ")035)036 5- " " " *+773,8 *+ % " " )035& " )036& " 1 %"
Læs mereStarWars-videointro. Start din video på den nørdede måde! Version: August 2012
StarWars-videointro Start din video på den nørdede måde! Version: August 2012 Indholdsfortegnelse StarWars-effekt til videointro!...4 Hent programmet...4 Indtast din tekst...5 Export til film...6 Avanceret
Læs mereBlack Jack --- Review. Spring 2012
Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict
Læs mere2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.
Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.
Læs mereArbejsskadeAnmeldelse
ArbejsskadeAnmeldelse OpretAnmeldelse 001 All Klassifikations: KlassifikationKode is an unknown value in the current Klassifikation 002 All Klassifikations: KlassifikationKode does not correspond to KlassifikationTekst
Læs mereWeb Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net
Web Admin 5.5 Copyright 2003 Gullestrup.net Log ind på systemet Start med at gå ind på http://mailadmin.gullestrup.net i din browser. Indtast din Email Adresse samt Password, som du tidligere har modtaget
Læs mereNetværk & elektronik
Netværk & elektronik Oversigt Ethernet og IP teori Montering af Siteplayer modul Siteplayer teori Siteplayer forbindelse HTML Router (port forwarding!) Projekter Lkaa Mercantec 2009 1 Ethernet På Mars
Læs mereModbus 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
Læs mereEmbedded 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
Læs merePHP guide af Daniel Pedersen
PHP guide af Daniel Pedersen Side 1 af 12 Indholdsfortegnelse PHP guide af Daniel Pedersen Side 2 af 12 Indledning I dette hæfte finder du forklaringer til PHP funktioner, løkker, variabler samt en række
Læs mereTM4 Central Station. User Manual / brugervejledning K2070-EU. Tel Fax
TM4 Central Station User Manual / brugervejledning K2070-EU STT Condigi A/S Niels Bohrs Vej 42, Stilling 8660 Skanderborg Denmark Tel. +45 87 93 50 00 Fax. +45 87 93 50 10 info@sttcondigi.com www.sttcondigi.com
Læs mere