/***********************************************************/ /**** Prototipi /***********************************************************/

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "/***********************************************************/ /**** Prototipi /***********************************************************/"

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 :   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

Dettagli

1

1 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 ******************************/

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati 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

Dettagli

La comunicazione con l esterno

La 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

Dettagli

Ing. Emiliano Capuzzo Remote Contro NEC 11/11/2003. Remote Control NEC

Ing. 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

Dettagli

Marcia e Arresto di un Motore elettrico

Marcia 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

Dettagli

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.

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. 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

Dettagli

Architettura dei Microcontrollori Microchip PIC18F

Architettura 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

Dettagli

C:\ProgrammiC\Dino18\dino.c

C:\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

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA COMPITI DEL SOTTOSISTEMA DI I/O ARGOMENTI

GESTIONE 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

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione 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

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE 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

Dettagli

Raccolta Test di Laboratorio di Sistemi a Microcontrollore

Raccolta 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

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE 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

Dettagli

PIC E DISPLAY A 7 SEGMENTI CON

PIC 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

Dettagli

C:\ProgrammiC\Dino18\terminal.h

C:\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

Dettagli

Stringhe in C. Luca Abeni. Informatica Luca Abeni 1 / 10

Stringhe 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

Dettagli

1

1 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

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso 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

Dettagli

A.1 Programma di comunicazione su porta seriale

A.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

Dettagli

if else Fondamenti di Informatica (Modulo B) !""#$ % ( #if else ) " *+ #switch if (Condizione) Istruzione

if 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

Dettagli

Davide Gennaretti, Matteo Nicolini

Davide 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

Dettagli

MODBUS-RTU per TWM3 T P UR

MODBUS-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

Dettagli

La sintassi del C APPENDICE H

La 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

Dettagli

LAMPEGGIO LED TRAMITE TIMER INTERRUPT - PARTE 4 1

LAMPEGGIO 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

Dettagli

struct costobiglietto { //struttura per prezzo float prezzo; float tasse; float prezzototale; };

struct 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

Dettagli

MODBUS-RTU per HPX. Specifiche protocollo MODBUS-RTU per controllo dispositivo HPX in rete LEGGERE E CONSERVARE REV ITA

MODBUS-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

Dettagli

Il linguaggio C. Istruzioni, funzioni, dati strutturati

Il 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

Dettagli

Struttura di un programma C++

Struttura di un programma C++ Struttura di un programma C++ // Programma semplice in C++ #include using namespace std; int main() { cout

Dettagli

mendiante un ciclo e finché il segnale rimane alto, si valuta il tempo T3 usando il timer del microcontrollore e una variabile di conteggio.

mendiante 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

Dettagli

MODBUS-RTU per TWM3IO

MODBUS-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

Dettagli

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii

PREFAZIONE... 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...

Dettagli

Dichiarazioni e tipi predefiniti nel linguaggio C

Dichiarazioni 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:

Dettagli

Il Theremin con il microcontrollore

Il 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

Dettagli

0x06, // (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,

0x06, // (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

Dettagli

Lezione 8: Stringhe ed array multidimensionali

Lezione 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

Dettagli

Variabili e Funzioni. Informatica 1 / 19

Variabili 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:

Dettagli

C:\ProgrammiC\Dino18\terminal.h

C:\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

Dettagli

Esercitazione 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 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

Dettagli

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Sommario 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...

Dettagli

0x06, // (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,

0x06, // (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

Dettagli

Linguaggio C: Espressioni

Linguaggio 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à

Dettagli

Laboratorio di Informatica I

Laboratorio 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

Dettagli

In questa puntata scopriremo

In 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

Dettagli

D sistema d allarme con sensori magnetici

D 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,

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio 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

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio 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

Dettagli

Esercizi. La funzione swapint() primo tentativo

Esercizi. 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

Dettagli

Corso di programmazione in C

Corso 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

Dettagli

Char. Parte 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Char. 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

Dettagli

Ricerca binaria (o dicotomica) di un elemento in un vettore

Ricerca 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

Dettagli

MODULI COMPARATOR E VOLTAGE REFERENCE DEL PIC 1

MODULI 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

Dettagli

Tipi strutturati - struct

Tipi 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

Dettagli

Primi programmi in C

Primi 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

Dettagli

Modulo LCD: interfacciamento e gestione

Modulo 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

Dettagli

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Informatica 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)

Dettagli

Il linguaggio C. Notate che...

Il 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

Dettagli

Gestione periferiche I/O

Gestione 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

Dettagli

TIMER H-M-S CON PIC [2] - IL PROGRAMMA 1

TIMER 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

Dettagli

Stringhe in C. Nicu Sebe. Informatica Nicu Sebe 1 / 14

Stringhe 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

Dettagli

Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino

Corso 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

Dettagli

Il linguaggio C. Notate che...

Il 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

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi 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

Dettagli

ELEMENTI 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 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

Dettagli

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

Sommario. 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...

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi 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

Dettagli

Scrittura formattata - printf

Scrittura 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

Dettagli

TUTORAGGIO INFORMATICA Settimana 1

TUTORAGGIO 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

Dettagli

PROGRAMMA = ALGORITMO

PROGRAMMA = 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

Dettagli

Struttura dei programmi e Variabili

Struttura 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

Dettagli

C UDP in Windows p53 - variante 1

C 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

Dettagli

Informatica 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 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

Dettagli

SCHEDA SPERIMENTALE ARDUINO UNO

SCHEDA 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

Dettagli

con il nome 1-Wire, permette la comunicazione da Dallas. È un tipo di comunicazione, instaurata

con 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

Dettagli

EEPROM SERIALI IN I2C BUS.

EEPROM 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

Dettagli

Dal linguaggio macchina al linguaggio C

Dal 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

Dettagli

Fondamenti 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 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

Dettagli

Opera Crate Monitor Software Reference Manual V2.0

Opera 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

Dettagli

Corso di Informatica 1 Esercitazione n. 4

Corso 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

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

INTRODUZIONE 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

Dettagli

Array. Aggragati di variabili omogenee...

Array. 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

Dettagli

Introduzione alla Ricorsione

Introduzione 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

Dettagli

Arduino - II parte. Laboratorio di Segnali e Sistemi II - Arduino-II parte

Arduino - 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

Dettagli

PROTOCOLLO DI COMUNICAZIONE MODBUS MODBUS COMMUNICATION PROTOCOL. MANUALE ISTRUZIONI / INSTRUCTION MANUAL IM163-IU v0.61

PROTOCOLLO 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

Dettagli

Un 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) 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

Dettagli

SISTEMI OPERATIVI. Processi in Linux. Giorgio Giacinto Sistemi Operativi

SISTEMI 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

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI 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

Dettagli

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

RELAZIONE 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

Dettagli

Passaggio dei parametri

Passaggio 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

Dettagli

1

1 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

Dettagli

D:\Fulvio\Elettronica\Anemometro\codici\vento_lcd_41.pbp

D:\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

Dettagli

Il 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. 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

Dettagli

Struttura di un linguaggio

Struttura 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

Dettagli

Laboratorio di programmazione

Laboratorio 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