/***********************************************************/ /**** Prototipi /***********************************************************/
|
|
- Daniele Gasparini
- 4 anni fa
- Visualizzazioni
Transcript
1 /**/ /* Bresciani Silvia **/ /* Piccinelli Mario **/ /* programma di controllo sensore di temperatura DS1631 **/ /**/ #include <p18f452.h> #include <math.h> #include <timers.h> #include <i2c.h> /* Configurazione dei fusibili #pragma romdata CONFIG rom const unsigned int config_word1=0xfaff; rom const unsigned int config_word2=0xfefc; rom const unsigned int config_word3=0xffff; rom const unsigned int config_word4=0xfffa; no debug!!! rom const unsigned int config_word4=0xff7a; with debug!!! rom const unsigned int config_word5=0xffff; rom const unsigned int config_word6=0xffff; rom const unsigned int config_word7=0xffff; #pragma romdata /* Prototipi int Sincro(int); void ee_repeatstart(void); void ee_data(int *x); void e_delay(void); void ee_start(void); void ee_byte(int x); void MasterAck(void); void aspetta(void); void setta_display(void); void int_alta(void); void int_bassa(void); int ConfigByteDS1631(int NewConfig); int StartTemperatureConversionDS1631(void); int ReadTemperatureFromDS1631(int *MSByteRead, int *LSByteRead); int ack(void); int segno_temperatura(char msb); int valore_intero_temperatura(char msb); int valore_decimale_temp(char lsb);
2 /* Gestione della jump table relativa agli interrupt #pragma code intvect=0x08 void isr_jump (void) _asm GOTO int_alta _endasm #pragma code #pragma code lowintvect=0x18 void isrlow_jump (void) _asm GOTO int_bassa _endasm #pragma code /* Routine di interrupt #pragma interrupt int_alta void int_alta(void) INTCONbits.TMR0IF=0; setta_display(); resetta il flag #pragma interruptlow int_bassa void int_bassa(void) /* Costanti pin sensore #define SCL PORTCbits.RC3 #define SCL_DIR TRISCbits.TRISC3 #define SDA PORTCbits.RC4 #define SDA_DIR TRISCbits.TRISC4 pin display #define DISPLAY1 PORTAbits.RA0 #define DISPLAY2 PORTAbits.RA1 #define DISPLAY3 PORTAbits.RA2 #define DISPLAYMENO PORTAbits.RA3 #define DISPLAY PORTD pin led
3 #define LED_VERDE PORTBbits.RB0 #define LED_ROSSO PORTBbits.RB1 costanti #define ON 1 #define OFF 0 #define IN 1 #define OUT 0 #define TRUE 1 #define FALSE 0 #define TCICLO 2500 #define TCONT 500 comandi sensore e bus 2-wire #define WRITE_CONTROL_BYTE #define READ_CONTROL_BYTE #define ACCESS_CONFIG #define START_TEMP_CONVERT #define READ_TEMPERATURE 0B B xAC 0x51 0xAA /* Variabili globali variabili sincronizzatore int t0 = 0; int tcont_temp; char newconfig; int status1, status2, status, segno, parte_intera, parte_frazionaria; char msb, lsb; /* Main void main (void) settaggio uscite TRISA = 0x00; TRISB = 0x00; TRISD = 0x00; inizializzazione timer1 per il sincronizzatore OpenTimer1(TIMER_INT_OFF & T1_16BIT_RW & T1_SOURCE_INT & T1_PS_1_8 & T1_OSC1EN_OFF); impostazione valore iniziale t0 t0=readtimer1();
4 inizializzazione timer0 per interrupt display OpenTimer0(TIMER_INT_ON & T0_8BIT & T0_SOURCE_INT & T0_PS_1_8); INTCON2bits.TMR0IP = 1; alta priorità inizializzazione sensore newconfig = 0b ; status1 = ConfigByteDS1631(newconfig); status2 = StartTemperatureConversionDS1631(); controllo condizione di errore if (!status1!status2) parte_intera = 200; segnalazione condizione errore LED_ROSSO = ON; LED_VERDE = ON; attivazione interrupt (necessario per il funzionamento dei display) INTCONbits.GIE = 1; while(1); stop programma LED_VERDE = 1; LED_ROSSO = 0; while (1) INTCONbits.GIE = 0; disattivazione interrupt status = ReadTemperatureFromDS1631(&msb, &lsb); verifica condizione di errore if (!status) parte_intera = 200; LED_ROSSO = ON; LED_VERDE = ON; attivazione interrupt (necessario per il funzionamento dei display) INTCONbits.GIE = 1; while(1); stop programma assegnazione variabili globali segno = segno_temperatura(msb); parte_intera = valore_intero_temperatura(msb); parte_frazionaria = valore_decimale_temp(lsb); lampeggio led LED_VERDE =!LED_VERDE; LED_ROSSO =!LED_ROSSO; INTCONbits.GIE = 1; riattivazione interrupt
5 sincronizzazione tcont_temp = TCONT; do t0=sincro(t0); tcont_temp--; while (tcont_temp >= 0); /* Routine sincronizzazione "equidistant" int Sincro(int T0c) int T1; do T1=ReadTimer1(); while ((T1-T0c)<TCICLO); return (T0c+TCICLO); int ConfigByteDS1631(int NewConfig) /* ritorna TRUE se l'operazione è andata a buon fine */ ee_start(); /* sequenza di start */ ee_byte(write_control_byte); /* byte di controllo (scrittura) */ ee_byte(access_config); /* comando di accesso al registro */ ee_byte(newconfig); /* scrittura della nuova configurazione */
6 SDA=0; /* sequenza di stop */ SDA_DIR=OUT; SCL = 1; SDA = 1; return(true); int StartTemperatureConversionDS1631(void) /* ritorna TRUE se l'operazione è andata a buon fine */ ee_start(); /* sequenza di start */ ee_byte(write_control_byte); /* byte di controllo (scrittura) */ ee_byte(start_temp_convert); /* comando di inizio conversione temperatura */ SDA=0; /* sequenza di stop */ SDA_DIR=OUT; SCL = 1; SDA = 1; return(true); void ee_repeatstart() SCL = 0; SDA_DIR=OUT; SCL_DIR=OUT; SDA = 1;
7 SCL = 1; SDA = 0; int ReadTemperatureFromDS1631(int *MSByteRead, int *LSByteRead) /* ritorna TRUE se l'operazione è andata a buon fine */ ee_start(); /* sequenza di start */ ee_byte(write_control_byte); /* byte di controllo (scrittura) */ ee_byte(read_temperature); /* comando di lettura temperatura */ ee_repeatstart(); /* sequenza di restart della linea */ ee_byte(read_control_byte); /* byte di controllo (lettura) */ ee_data(msbyteread); /* lettura MSB */ MasterAck(); /* invio ACK */ ee_data(lsbyteread); /* lettura LSB */ ack(); /* invio ACK */ /* sequenza di stop */ SDA=0; SDA_DIR = OUT; SCL=1; SDA=1; return(true); tempo di riconoscimento per ogni bit void e_delay() int delay; for(delay=0;delay<10;delay++);
8 sequeza di start della linea void ee_start(void) SDA_DIR=OUT; SCL_DIR=OUT; SDA = 0; SCL = 1; SDA = 1; stop SDA=0; start scrittura di un byte sulla linea void ee_byte(int x) int i; i=0x80; do SDA_DIR=OUT; if (x&i) SDA=1; else SDA=0; SCL=1; i>>=1; while(i!=0); lettura di un byte dalla linea void ee_data(int *x)
9 int i; SDA_DIR=IN; *x=0; i=0x80; do SCL=1; if (SDA) *x=(*x) i; i>>=1; while(i!=0); controllo ack int ack(void) SDA_DIR=IN; SCL=1; /* controllo ack */ return(sda); invio ack da parte del master void MasterAck(void) SDA=0; SDA_DIR=OUT; SCL=1;
10 routines per convertire i byte letti dal sensore in valori decimali (memorizzati in variabili globali) int temp_high, temp_low, segno; int segno_temperatura(char msb) int segno = (msb >> 7) & 0x01; return segno; int valore_intero_temperatura(char msb) int segno = (msb >> 7) & 0x01; if (segno) msb = msb - 0b ; temp_high = msb; return temp_high; int valore_decimale_temp(char lsb) lsb = lsb >> 4; temp_low = lsb * 625; return temp_low; simboli per visualizzare i valori sui display a 7 segmenti char display[] = 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b , 0b ; simboli per visualizzare o meno il simbolo "-" sul primo display char segno_simboli[] = 0x00,0b ;
11 refresh dei display void setta_display() int decine, unita, decimi, meno; int intero, decimale; DISPLAY1 = OFF; DISPLAY2 = OFF; DISPLAY3 = OFF; DISPLAYMENO = OFF; intero = parte_intera; decimale = parte_frazionaria; meno = segno; display in caso di condizione di errore indicata imponendo il valore parte_intera = 200 if (parte_intera >= 200) DISPLAY = 0x01; DISPLAYMENO = ON; DISPLAYMENO = OFF; DISPLAY1 = ON; DISPLAY1 = OFF; DISPLAY2 = ON; DISPLAY2 = OFF; DISPLAY3 = ON; DISPLAY3 = OFF; return; si è scelto di non disegnare il valore delle centinaia if (intero > 100) intero -= 100; decine = intero / 10; unita = intero - decine * 10; decimi = decimale / 1000; DISPLAY = segno_simboli[meno]; DISPLAYMENO = ON; DISPLAYMENO = OFF; DISPLAY = display[decine]; DISPLAY1 = ON; DISPLAY1 = OFF;
12 DISPLAY = display[unita]; DISPLAY2 = ON; DISPLAY2 = OFF; DISPLAY = display[decimi]; DISPLAY3 = ON; DISPLAY3 = OFF; void aspetta() int i; for (i = 0; i < 10; i++) _asm NOP _endasm
Versione N 1.0c LaurTec Metro ad Ultrasuoni Autore : ID:
Versione N 1.0c LaurTec Metro ad Ultrasuoni Autore : Mauro Laurenti email: info.laurtec@gmail.com ID: PJ6001-IT Copyright 2006 Mauro Laurenti 1/10 INFORMATIVA Come prescritto dall'art. 1, comma 1, della
Dettagli1
1 2 3 4 5 /*acquisizione-dati-2canali-ad-da-pwm.c ACQUISIZIONE DATI E CONTROLLO PWM A 2 CANALI (CON 2 SENSORI E 2 USCITE IN PWM)*/ /** C O N F I G U R A T I O N B I T S ******************************/
DettagliDati due punti sul piano calcolare la loro distanza
Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12
DettagliLa comunicazione con l esterno
La comunicazione con l esterno Input / Output Le porte di I/O I Dati entrano Disp In Disp In Dispositivo di Ingresso Porta In Porta In Porte di Ingresso CPU Bus dati I Dati escono Porta Out Disp Out Porta
DettagliIng. Emiliano Capuzzo Remote Contro NEC 11/11/2003. Remote Control NEC
Remote Control NEC Questo progetto risponde all esigenza di decodificare ed utilizzare i codici prodotti da telecomandi IR che adottano la codifica NEC Trasmissione Format. Questo tipo di codifica è attualmente
DettagliMarcia e Arresto di un Motore elettrico
Marcia e Arresto di un Motore elettrico Si vuole realizzare un circuito elettronico gestito da un microcontrollore PIC16F876 che sia in grado di pilotare un motore elettrico AC 220 volt utilizzando i classici
DettagliVogliamo far lampeggiare i led collegati come in figura ai bit della porta D del PIC 18F8722 presente sulla demo board in dotazione al laboratorio.
Lampeggio di 8 led Vogliamo far lampeggiare i led collegati come in figura ai bit della porta D del PIC 18F8722 presente sulla demo board in dotazione al laboratorio. Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1
DettagliArchitettura dei Microcontrollori Microchip PIC18F
Architettura dei Microcontrollori Microchip PIC18F A. Romani Elettronica dei Sistemi Digitali L-A Cos è un microcontrollore? Differenza tra Microprocessore e Microcontrollore à Microprocessore: normalmente
DettagliC:\ProgrammiC\Dino18\dino.c
1 /* ////////////////////////////////////////////////////////////////////////////////////// 2 ** File: Dino.c 3 */ 4 #define Ver "Dino 18 ver 2.51\r by Guiott" 5 /* Autore: Guido Ottaviani-->g.ottaviani@mediaprogetti.it
DettagliGESTIONE DELLE PERIFERICHE D INGRESSO/USCITA COMPITI DEL SOTTOSISTEMA DI I/O ARGOMENTI
GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un di I/O 1. Nascondere al programmatore i dettagli delle interfacce
DettagliIntroduzione al linguaggio C Primi programmi
Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliGESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI
GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI
DettagliRaccolta Test di Laboratorio di Sistemi a Microcontrollore
Raccolta Test di Laboratorio di Sistemi a Microcontrollore prof. Corrado Santoro 1 Digital I/O 1. Quale delle seguenti istruzioni permette di porre a 0 la linea PC4? GPIOC->ODR &= (int32_t)0x10; GPIOC->ODR
DettagliGESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI
GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O COMPITI DEL SOTTOSISTEMA DI I/O 1. Nascondere
DettagliPIC E DISPLAY A 7 SEGMENTI CON
Steve Blackbird (TardoFreak) PIC E DISPLAY A 7 SEGMENTI CON MULTIPLEXING 12 September 2010 Display a 7 segmenti I display a LED a 7 segmenti fecero apparizione più di 30 anni fa nelle prime calcolatrici
DettagliC:\ProgrammiC\Dino18\terminal.h
1. 2. 3. 4. 5 //Init e Lcd Display============================= 6 if (DisplayStatus) // se = 0 sono disabilitate tutte le routine relative al display 7 { 8 if (InitFlag) 9 /* Inizializza l'lcd e le routine
DettagliStringhe in C. Luca Abeni. Informatica Luca Abeni 1 / 10
Stringhe in C Luca Abeni Informatica Luca Abeni 1 / 10 Stringhe in C Stringhe: tipo di dato strutturato Sequenze di caratteri Linguaggio C: progettato per la semplicità No supporto nativo per le stringhe
Dettagli1
Manuali di C Linguaggio C B. W. Kernigan, D. M. Ritchie Jackson La guida completa al C H. Schildt McGraw-Hill Fondamenti di Informatica 1 Linguaggio C Creato nei primi anni 70 per sviluppare il S.O. Unix
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliA.1 Programma di comunicazione su porta seriale
Appendice A Programmi di gestione dell apparato A.1 Programma di comunicazione su porta seriale /* INCLUDE */ #include #include #include #include #include
Dettagliif else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione
#$ % '' # ( #if else ) *+ #switch 50 if else * if * # if (Condizione) Istruzione Condizione bool Istruzione ( Condizione true + Istruzione ( Condizione false + Istruzione +, -+.// x.//# if (x == 100) if
DettagliDavide Gennaretti, Matteo Nicolini
Seminario sui Microcontrollori Davide Gennaretti, Matteo Nicolini AA 2003-04 II Facoltà di Ingegneria Elettronica Cesena Cosa sono i microcontrollori? Piccoli computer concentrati in un chip Un Datapath
DettagliMODBUS-RTU per TWM3 T P UR
per TWM3 T P UR Specifiche protocollo di comunicazione per controllo in rete dispositivi serie TWM3 T P UR Nome documento: _TWM3TPUR_02_13_ITA Software installato: TWM3TPUR Rev. 2 e successive LEGGERE
DettagliLa sintassi del C APPENDICE H
APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i
DettagliLAMPEGGIO LED TRAMITE TIMER INTERRUPT - PARTE 4 1
Danilo B (ildani) LAMPEGGIO LED TRAMITE TIMER INTERRUPT - PARTE 4 15 January 2013 Introduzione Questa è la quarta ed ultima parte dell'articolo Lampeggio led tramite Timer Interrupt. Non lampeggia Come
Dettaglistruct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; };
/* Programma 12cppEse1.cpp Autore : Riontino Raffaele 4 informatici ITIS Molinari - Milano corso serale 2/11/2010 Testo : Si vuole realizzare un tipo struct, utilizzato per informazioni su biglietti per
DettagliMODBUS-RTU per HPX. Specifiche protocollo MODBUS-RTU per controllo dispositivo HPX in rete LEGGERE E CONSERVARE REV ITA
MODBUS-RTU per Specifiche protocollo MODBUS-RTU per controllo dispositivo in rete LEGGERE E CONSERVARE REV. 03-09 ITA INDICE DESCRIZIONE GENERALE Pag. 3 1.1 Il protocollo Modbus Pag. 3 1.2 Configurazione
DettagliIl linguaggio C. Istruzioni, funzioni, dati strutturati
Il linguaggio C Istruzioni, funzioni, dati strutturati Istruzioni Servono a dirigere il flusso di esecuzione di un programma controllano l ordine di esecuzione delle espressioni, quindi dei loro side effects
DettagliStruttura di un programma C++
Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout
Dettaglimendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio.
Svolgimento (a) Il sensore di temperatura ha un uscita digitale a 9 bit, emettendo un codice binario proporzionale al valore Temp richiesto. Possiamo pensare si tratti di un dispositivo 1-Wire. Un sistema
DettagliMODBUS-RTU per TWM3IO
per TWM3IO Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie TWM3IO Nome documento: MODBUS-RTU_TWM3IO_01_13_ITA Software installato: TWM3IO.elf Rev. 0 e successive
DettagliPREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii
Sommario PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 1.1 Introduzione...
DettagliDichiarazioni e tipi predefiniti nel linguaggio C
Politecnico di Milano Dichiarazioni e tipi predefiniti nel linguaggio C Variabili, costanti, tipi semplici, conversioni di tipo. Premessa Programmi provati sul compilatore Borland C++ 1.0 Altri compilatori:
DettagliIl Theremin con il microcontrollore
Il Theremin con il microcontrollore Possiamo costruire uno strumento simile al Theremin utilizzando un dispositivi programmabile come il microcontrollore e un sensore di distanza (ultrasuoni). A secondo
Dettagli0x06, // (49) 1 0x5B, // (50) 2 0x4F, // (51) 3 0x66, // (52) 4 0x6D, // (53) 5 0x7D, // (54) 6 0x27, // (55) 7 0x7F, // (56) 8 0x6F, // (57) 9 0x00,
// file header di default con le dichiarazioni dei nomi mnemonici (include msp430g2553. // nel progetto viene utilizzato il micro msp430g2553, montato di default sulla launchp #include //file
DettagliLezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
DettagliVariabili e Funzioni. Informatica 1 / 19
Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:
DettagliC:\ProgrammiC\Dino18\terminal.h
1 /* 2 contiene tutte le routine per la gestione della tastierina e del display LCD 3 */ 4 5 6 /*UserInterface *********************************************************************** 7 Raggruppa tutte
DettagliEsercitazione 2. Variabili e Tipi Input e Output Assegnamenti Il comando if-else
Esercitazione 2 Variabili e Tipi Input e Output Assegnamenti Il comando if-else Espressioni aritmetiche /* Scrivere un programma che calcola l area e la circonferenza di un cerchio di raggio 20 cm */ #include
DettagliSommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
Dettagli0x06, // (49) 1 0x5B, // (50) 2 0x4F, // (51) 3 0x66, // (52) 4 0x6D, // (53) 5 0x7D, // (54) 6 0x27, // (55) 7 0x7F, // (56) 8 0x6F, // (57) 9 0x00,
// file header di default con le dichiarazioni dei nomi mnemonici (include msp430g2553. // nel progetto viene utilizzato il micro msp430g2553, montato di default sulla launchp #include //file
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
DettagliLaboratorio di Informatica I
Struttura della lezione Lezione : Elementi lessicali del C Vittorio Scarano Corso di Laurea in Informatica Elementi lessicali e token Costanti Identificatori Operatori operatori di incremento/decremento
DettagliIn questa puntata scopriremo
TEORIA MHZ RISORSE SPECIALE PRATICA Sesta parte n 258 - Dicembre 2006 Uso delle interfacce seriali Settima parte n 259 - Gennaio 2007 Interfacce SPI, I2C e 1-Wire Ottava parte n 260 - Febbraio 2007 Uso
DettagliD sistema d allarme con sensori magnetici
D sistema d allarme con sensori magnetici Il sistema di allarme proposto in questa nota prevede l utilizzo di sensori reed per rilevare l apertura di porte e/o finestre. Il programma prevede due sensori,
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliLaboratorio di informatica Ingegneria meccanica
Rappresentazione ed interpretazione Laboratorio di informatica Ingegneria meccanica Insieme dei valori da rappresentare interpretazione rappresentazione Insieme delle sequenze di K bit Lezione 2 8 ottobre
DettagliEsercizi. La funzione swapint() primo tentativo
Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include
DettagliCorso di programmazione in C
Corso di programmazione in C Lezione 3: un semplice programma Liceo Scientico Teresa Gullace M. Prisco 15 marzo 2019 Liceo Scientico Teresa Gullace Corso di programmazione in C 15 marzo 2019 1 / 11 Outline
DettagliChar. Parte 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliRicerca binaria (o dicotomica) di un elemento in un vettore
Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli
DettagliMODULI COMPARATOR E VOLTAGE REFERENCE DEL PIC 1
Stefano Busnelli (IlGuru) MODULI COMPARATOR E VOLTAGE REFERENCE DEL PIC 9 September 2015 In questo articolo si parla dei moduli Comparator e Voltage Reference del PIC16F628A e viene descritto un esempio
DettagliTipi strutturati - struct
Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente
DettagliPrimi programmi in C
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma
DettagliModulo LCD: interfacciamento e gestione
Modulo LCD: interfacciamento e gestione Per visualizzare messaggi o i dati relativi a misure effettuate si puo usare un display LCD. In figura e rappresentato un LCD a 2 righe e 16 colonne. Il display
DettagliInformatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
Dettaglicout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;
Funzioni int n, ris; cout n; ris = n*2; cout
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliGestione periferiche I/O
Gestione periferiche I/O Compiti del sottosistema IO Nascondere al programmatore i dettagli delle interfacce hw e dei dispositivi (utilizzo di controllori) Omogeneizzare la gestione di dispositivi diversi
DettagliTIMER H-M-S CON PIC [2] - IL PROGRAMMA 1
Davide Bagnoli (DADO91) TIMER H-M-S CON PIC [2] - IL PROGRAMMA 15 January 2013 Eccoci alla seconda puntata. Adesso voglio parlare un po' del programma che fa funzionare il timer che ho progettato, ma prima
DettagliStringhe in C. Nicu Sebe. Informatica Nicu Sebe 1 / 14
Stringhe in C Nicu Sebe Informatica Nicu Sebe 1 / 14 Stringhe in C Stringhe: tipo di dato strutturato Sequenze di caratteri Linguaggio C: progettato per la semplicità No supporto nativo per le stringhe
DettagliCorso di Informatica Applicata. Lezione 7. Università degli studi di Cassino
Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 7 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste
ELEMENTI DI INFORMATICA LB ESERCITAZIONE (del 09/03/2007) Files, Strutture e Liste ESERCIZIO n.1 È dato un file di testo che contiene l'elenco dei vestiti presenti in un negozio. Il file contiene al massimo
DettagliSommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C
Sommario Introduzione... xv Organizzazione del volume... xv Argomenti...xvi Domande...xvi Verifiche...xvi Domande e risposte...xvi Esercizi...xvi Non è richiesta alcuna precedente esperienza di programmazione...
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliScrittura formattata - printf
Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri
DettagliTUTORAGGIO INFORMATICA Settimana 1
TUTORAGGIO INFORMATICA Settimana 1 Variabili semplici, cicli e flag Leggenda: //commenti PROBLEMA 1: Si scriva un programma che permetta di calcolare il prodotto tra due valori interi positivi A, B utilizzando
DettagliPROGRAMMA = ALGORITMO
Corso di Laurea Scienze Prof. San. Tec., Area Tecnico-Assistenziale SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Anno Accademico 2005-2006 Prof. Fausto Passariello Corso Integrato Metodologia della Ricerca
DettagliStruttura dei programmi e Variabili
Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita
DettagliC UDP in Windows p53 - variante 1
// UDPclient.c C UDP in Windows p53 - variante 1 /* Testo del problema Il processo client invia la stringa "INVIAMI UN NUMERO" diverse volte in un intervallo di tempo di 1 secondo ad un processo server
DettagliInformatica A (per gestionali) A.A. 2004/2005. Esercizi C. Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo
Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo Indice 1 Funzioni: passaggio di parametri per valore, variabili
DettagliSCHEDA SPERIMENTALE ARDUINO UNO
ARDUINO Sistema di sviluppo open source che permette di programmare vari microcontrollori montati su una scheda sperimentale collegata al pc mediante cavo usb. La scheda arduino uno monta il microcontrollore
Dettaglicon il nome 1-Wire, permette la comunicazione da Dallas. È un tipo di comunicazione, instaurata
progettare & costruire di GIOVANNI DI MARIA Corso mikrobasic La libreria OneWire: MISURIAMO LA TEMPERATURA Eccoci arrivati all ultima puntata del corso su mikrobasic. In questo articolo scopriremo come
DettagliEEPROM SERIALI IN I2C BUS.
Corso di BASCOM 8051 - (Capitolo 3 0 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. EEPROM SERIALI IN I2C BUS. Tra i dispositivi più utilizzati, nelle applicazioni
DettagliDal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente
DettagliFondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009
Fondamenti di informatica, Sez. Ing. Informatica, Ing. Gestionale, Ing. Ambientale II prova in itinere, 29 Gennaio 2009 Esercizio 1 (punti 3) Sia data la funzione ricorsiva seguente: void elabora (unsigned
DettagliOpera Crate Monitor Software Reference Manual V2.0
Opera Crate Monitor Software Reference Manual V2.0 La scheda comunica con il mondo esterno tramite CAN BUS o tramite RS232 (38400 baud 8bit 1stop). Il led ROSSO (ERR) sul pannello frontale indica le seguenti
DettagliCorso di Informatica 1 Esercitazione n. 4
Corso di Informatica 1 Esercitazione n. 4 Marco Liverani Esercizio n. 1 Letti in input due numeri interi n > 0 e k > 1 costruire un array A di n numeri interi casuali minori di 100 che non siano multipli
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
DettagliArray. Aggragati di variabili omogenee...
Array Aggragati di variabili omogenee... Cosa è un array È un insieme di variabili omogenee identificato da un indice, ad esempio Se devo leggere 1 numeri dallo standard input e memorizzarli all'interno
DettagliIntroduzione alla Ricorsione
Introduzione alla Corso di Informatica A Vito Perrone Indice La formulazione in termini ricorsivi di problemi e algoritmi La ricorsione come strumento di programmazione L esecuzione dei sottoprogrammi
DettagliArduino - II parte. Laboratorio di Segnali e Sistemi II - Arduino-II parte
Arduino - II parte Esercizio: simulazione di un semplice sistema di controllo Un certo impianto viene acceso e spento manualmente tramite un interruttore. Inoltre,passando da spento ad acceso si deve immaginare
DettagliPROTOCOLLO DI COMUNICAZIONE MODBUS MODBUS COMMUNICATION PROTOCOL. MANUALE ISTRUZIONI / INSTRUCTION MANUAL IM163-IU v0.61
MANUALE ISTRUZIONI / INSTRUCTION MANUAL IM163-IU v0.61 COMPALARM C2C Annunciatore d allarme PROTOCOLLO DI COMUNICAZIONE MODBUS COMPALARM C2C Alarm annunciator MODBUS COMMUNICATION PROTOCOL Compalarm C2C
DettagliUn esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)
Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore) Macchina astratta: un linguaggio di programmazione trasforma un calcolatore in una macchina
DettagliSISTEMI OPERATIVI. Processi in Linux. Giorgio Giacinto Sistemi Operativi
SISTEMI OPERATIVI Processi in Linux 2 Creazione di processi concorrenti» La creazione di un processo figlio consente di far eseguire alcune funzionalità del programma in modo concorrente» Opzione 1 il
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
DettagliRELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA
RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA Anno scolastico Lab informatica AULA n 35 Data inizio svolgimento Progr. relazione primo trimestre secondo pentamestre Cognome e Nome DATI DELLO STUDENTE
DettagliPassaggio dei parametri
Passaggio dei parametri Per valore Il valore viene copiato dall environment esterno all environment della funzione o procedura Cambiamenti dei parametri così passati non si riflettono sull environment
Dettagli1
Funzioni necessità di eseguire più volte una stessa elaborazione modulo di programma che può essere invocato più volte meccanismo di funzionamento Fondamenti di Informatica 1 Funzioni: forma generale tipo
DettagliD:\Fulvio\Elettronica\Anemometro\codici\vento_lcd_41.pbp
******************************************************************** * O O OOOO O O OOOOO OOO * * O O O OO O O O O OOOO * * O O OOO O O O O O O * * OO O O OO O O O OOOOOOO * * O OOOO O O O OOOO OOOOOOOOO
DettagliIl C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
Dettagli