Présentation succincte du langage C

Dimension: px
Commencer à balayer dès la page:

Download "Présentation succincte du langage C"

Transcription

1 Présentation succincte du langage C Les commentaires se font en mettant «//» en début de ligne ou en entourant un bloc pour le mettre en commentaire par «/*» et «*/». // Ceci est un commentaire sur une ligne /* Ceci est un bloc mis en commentaire */ Chaque instruction se termine par un point virgule, chaque début et fin de blocs d'instructions sont entourés par { et. La fonction principale d'un programme s'appelle toujours main : void main() { \\ Votre code ici Les variables que vous utiliserez pour le PIC seront de deux types : entier noté int, la variable sera comprise entre 0 et 255, déclaration : int nom_variable caractère noté char, la variable contiendra un caractère ascii, déclaration : char nom_variable flottant (nombre à virgule) noté float, déclaration : float nom_variable dans les trois cas vous pouvez initialiser les variables lors de leur création. int i=0, j=100, k; char carac='a', car='@', car2; float pi=3.1415, coeff=-0.97; Vous pouvez aussi utiliser des tableaux à une dimension, la déclaration se fait : type_stocké nom_du_tableau[nombre_elements_tableau]. Attention le premier élément est numéroté à partir de 0 et donc le dernier élément sera nombre_elements_tableau-1. int valeurs[3]; déclare un tableau de 3 éléments de type entiers. Le premier élément sera accessible par valeurs[0] et le dernier élément sera valeurs[2]. float mesures[2] = {14.65,-45.23; déclare un tableau de 2 éléments de type flottant. Le premier élément (mesures[0]) est initialisé à 14,65 et le deuxième (mesures[1]) à -45,23. Tableau des opérateurs standards en langage C : reportez à la photocopie jointe à ce document. Le test «Si» Nous avons vu lors de l'examen des opérateurs l'expression conditionnelle. Il existe également bien sûr une structure de contrôle qui réalise l'exécution conditionnelle. Sa syntaxe est la suivante : if (<condition>) { <instructions...> La condition est testée comme un booléen, c'est-à-dire qu'elle est considérée comme vraie si son évaluation n'est pas nulle. «0» est considéré comme la valeur booléenne FAUX, «différent de 0» est considéré comme la valeur booléenne VRAI. Vous pouvez aussi utiliser les valeurs «TRUE» et «FALSE» dans vos tests. Dans le cas où une seule instruction est à exécuter quand la condition est vraie, on trouvera souvent cette instruction toute seule à la place du bloc entre accolades. Olivier DARTOIS Jacques DUPRAT Page 1

2 Le test «Si» avec alternative : if (<condition>) { <instructions...> else { <instructions...> Là encore il est possible de remplacer l'un ou l'autre (ou les deux) blocs entre accolades par une unique instruction. Attention dans ce cas, il faut terminer cette instruction par un point-virgule. Le test «Si» avec de multiples alternatives : if (<cond1>) { <instructions...> /* Si cond1 est vraie */ else if (<cond2>) { <instructions...> /* si cond1 fausse et cond2 vraie */ else { <instructions...> /* si cond1 et cond2 fausses */ if (val_can<128) { // si la valeur lu par le CAN est inférieur à 128 ouput_b(0x0f); // on met à 1 les 4 bits de poids faibles du port B else { ouput_b(0xf0); // sinon on met à 1 les 4 bits de poids forts du port B Le switch() switch (<expression>) { case <val 1>: <instructions...> case <val 2>: <instructions...>... case <val n>: <instructions...> default: <instructions...> L'instruction switch permet de diriger le programme vers une séquence d'instructions choisie parmi plusieurs, suivant la valeur d'une expression qui doit être de type entier. Le branchement se fait à l'étiquette case dont la valeur est égale à l'expression de tête (il ne doit y avoir au plus qu'une étiquette qui correspond). Si aucune étiquette ne correspond, le saut se fait à l'étiquette default si elle existe. Attention, une fois le branchement effectué, le programme continue de s'exécuter dans l'ordre, y compris les case qui peuvent suivre. Pour empêcher ce comportement, on utilise souvent break à la fin des instructions qui suivent le case : son effet est de sauter directement après le bloc du switch. int val,c; c=1; val = mafonctiondecalcul(); /* une fonction définie ailleurs */ switch (val) { case 0: case 1: printf("résultat 0 ou 1\n"); c=2; break; case 2: printf("résultat 2\n"); break; case 4: printf("résultat 4\n"); c=0; break; default: printf("cas non prévu\n"); Olivier DARTOIS Jacques DUPRAT Page 2

3 Les boucles La boucle «for» ou «pour»: C'est une boucle beaucoup plus générale que dans d'autres langages. Son rôle ne se limite pas à la simple répétition en incrémentant un entier. Son utilisation est la suivante : for ( <inst. initiale> ; <cond. de poursuite> ; <inst. d'avancement> ) { <instructions...> L'instruction initiale est exécutée avant le début de la boucle, la condition de poursuite est testée à chaque début de boucle et l'instruction d'avancement est exécutée en dernière instruction à chaque tour de boucle. int tab[100]; for (i=0; i<100; i++) { output_b(tab[i]); /* exécutées pour i=0, i=1... i=99 */ La boucle «while» ou «tant que»: while (<condition de poursuite>) { <instruction...> while (input_c()!=4) { // tant que la valeur lu sur le port C est différente de 4 output_toggle(pin_b0); // on fait clignoter la DEL qui est reliée au bit de poids faible du port B La boucle «do...while» ou «faire...tant que»: Ici le test est effectué en fin de boucle. Cette boucle est donc, contrairement aux deux boucles précédentes, exécutée au moins une fois, même si la condition est fausse dès le début de la boucle. do { <instructions...> while (<condition de poursuite>); Important : Consultez l'aide en ligne du compilateur Présentation du langage C pour PIC Pour réaliser les exemples qui suivent vous devez avoir en votre possession la documentation de présentation des PICs et du cheminement de programmation de ceux-ci. Cette documentation sert uniquement à présenter des exemples. 1. Ex. n 1 : Positionner des sorties - Faire clignoter une DEL Nous allons donc réaliser notre premier programme en langage C. Nous allons faire clignoter la DEL verte PC0 de la maquette inter+dels. Dans l'edi, créez un nouveau fichier avec le nom «del.c» puis saisissez les lignes suivantes : Olivier DARTOIS Jacques DUPRAT Page 3

4 Les lignes 1 à 3 sont des commentaires car les lignes commencent par «//». La ligne 5 précise quel type de µc nous allons utiliser et inclut un fichier utile à la compilation. La ligne 10 devra être décommentée si vous programmez votre PIC avec TinyBootLoader (décommenté = enlever les «//» devant). La ligne 12 précise les «fusibles» à programmer dans le PIC. La ligne 13 permet de préciser à quel fréquence le quartz de votre carte oscille. Dans la plupart des cas cette valeur sera pour un quartz à 4MHz ou pour un quartz à 20MHz. La ligne 15 indique le début de notre programme principal (fonction «main»), vous ouvrez donc une accolade. La ligne 17 permet de faire boucler indéfiniment notre programme («while (true)» signifie «tant que vrai»). Les instructions entre les accolades seront donc exécutées sans arrêt. La ligne 18 permet d'envoyer (output) vers le port C (_c) la valeur entre parenthèse (ici 0 en hex= 0x00). Toutes les diodes du port C seront donc éteintes. Au passage vous remarquez que la fin d'une instruction se termine par «;». La ligne 19 permet d'attendre le nombre de ms indiqué entre parenthèse (ici 500ms donc 0,5s). La ligne 20 envoie la valeur 1 sur le port C, vous allumez donc la diode relié au bit de poids faible du port C (ici la DEL verte PC0). La ligne 21 permet d'attendre à nouveau 500ms. La ligne 22 indique la fin de la boucle «while(true)». La ligne 23 indique la fin de notre programme car c'est l'accolade fermante de la fonction «main()». Sauvegardez votre programme puis compilez-le. Programmez votre PIC et testez votre programme avec la carte inters+dels. Cela fonctionne...félicitations sinon reprenez le tout étape par étape. N'oubliez pas que l'on peut aussi simuler les programmes dans Isis comme dans le schéma cidessous : Olivier DARTOIS Jacques DUPRAT Page 4

5 Simulation Clignotement DEL sur PC0 Olivier DARTOIS - Jacques DUPRAT TELN U1 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RA0/AN0 RA1/AN1 RA2/AN2/VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT R1 220 D1 LED-GREEN PIC16F876 PROGRAM=..\..\..\Documents and Settings\Olivier\Mes documents\testccs\del.hex CLOCK=4MHz Exercice1 : 1. Faites clignoter plus rapidement votre DEL puis faites clignoter la del verte PC1. 2. Allumez alternativement les diodes vertes PC0,PC2,PC4 puis PC1,PC3,PC5. 3. Faites un chenillard qui parcours les 6 diodes jaunes puis les 6 diodes vertes. 2.Ex. n 2 : Lire des entrées Lire l'état des inters Pour notre deuxième exemple, nous allons lire l'état des interrupteurs de la maquette inters+dels connectés au port B (inters PB0 à PB3) et afficher l'état de ceux-ci sur les quatres DELs du port C (DELs verte PC0 à PC3). Dans l'edi, créez un nouveau fichier avec le nom «inters.c» puis saisissez les lignes suivantes : Olivier DARTOIS Jacques DUPRAT Page 5

6 Nous commentons seulement les lignes nouvelles. La ligne 14 permet de déclarer une variable de type entier (int). Cette variable sert à stocker le résultat d'un calcul ou la valeur d'un des ports du PIC. Une variable de type «int» permet de stocker des valeurs de 0 à 255 (8 bits). Pour stocker des nombres à virgules vous utiliserez le type flottant (float) coder sur 32 bits. La ligne 17 lit l'état des lignes connectées au port B (input_b) et vous stockez cette valeur dans la variable «val_inter». La ligne 18 permet de mettre sur le port C la valeur «val_inter» et donc d'allumer les DELs correspondantes aux inters en position «1». Sauvegardez votre programme puis compilez-le. Programmez votre PIC et testez votre programme avec la carte inters+dels. Si à chaque fois que vous actionnez un inter PB0 (à PB3) la diode PC0 (à PC3) s'allume votre programme fonctionne correctement sinon vérifiez le tout et recommencez. La schéma de simulation peut être le suivant : Simulation Lecture Inters et Affichage sur DELs +5V Olivier DARTOIS Jacques DUPRAT TELN 2005 R5 10k R8 10k PB U1 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RA0/AN0 RA1/AN1 RA2/AN2/VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT R1 220 R2 R3 R4 PB1 PB2 PB3 PC0 PC1 PC2 PC3 PIC16F876 PROGRAM=inters.HEX CLOCK=4MHz Remarque : Les résistances R5 à R8 sont des résistances de tirage vers le haut (fixe un potentiel +5V donc un «1» logique lorsqu'un inter est ouvert). Le port B du PIC possède en interne des résistances de tirages vers le haut. Celles-ci sont activées par l'instruction port_b_pullups(true) et désactivées par l'instruction port_b_pullups(false). Si vous activez dans votre programme les résistances de tirage vers le haut alors les résistances R5 à R8 ne sont plus nécessaires. Exercice2 : Faites un programme qui lit l'état des inters PB0 à PB3 et qui allume les dels du port C avec les conditions suivantes: si PB0 et PB1 sont à 1 alors vous allumez la diode verte PC0 et uniquement celle-ci. si PB2 et PB3 sont à 1 alors vous allumez la diode verte PC1 et uniquement celle-ci. si PB0 et PB3 sont à 1 alors vous faites clignoter les diodes PC0 et PC1. dans tous les autres cas la diode verte PC2 devra être allumé. Indication : utilisez une structure «switch». Olivier DARTOIS Jacques DUPRAT Page 6

7 3.Ex. n 3 : La conversion analogique-numérique La plupart des capteurs délivrent une tension proportionnelle au phénomène qu'ils mesurent. Pour être exploitable cette tension doit être numérisée à l'aide d'un convertisseur analogique numérique (CAN ou DAC en anglais : Digital to Analog Converter). Le µc PIC possède des entrées analogiques sur le port A (entrées AN0 à AN4). Deux de ces entrées peuvent être configurées pour fixer la limite basse (VREF-) et haute (VREF+) de la numérisation. La résolution du convertisseur interne du PIC est de 10 bits (soit 1024 valeurs possibles). Nous utiliserons une résolution plus faible sur 8 bits qui est la valeur par défaut du convertisseur (soit 256 valeurs possibles). Dans notre exemple nous allons numériser la tension présente sur l'entrée AN2 et afficher le résultat sur les 6 DELs du port C. Quand nous aurons une tension de 0V sur l'entrée AN2, toutes les DELs du port C seront éteintes. Quel sera la valeur de la tension présente lorsque les six premières dels du port C seront allumées? Dans l'edi, créez un nouveau fichier avec le nom «can.c» puis saisissez les lignes suivantes : Nous commentons seulement les lignes nouvelles. La ligne 14 permet de déclarer une variable de type entier qui va permettre de stocker le résultat de la conversion analogique-numérique. La ligne 16 permet d'initialiser le port A en analogique et de préciser quelle entrée va être utilisé pour la conversion. Les valeurs possibles pour cette fonction sont : Olivier DARTOIS Jacques DUPRAT Page 7

8 Valeurs NO_ANALOGS ALL_ANALOG AN0_AN1_AN2_AN4_VSS_VREF AN0_AN1_AN3 AN0_AN1_VSS_VREF AN0_AN1_AN4_VREF_VREF AN0_AN1_VREF_VREF AN0 AN0_VREF_VREF Description Toutes les entrées du port A en mode numérique Toutes les entrées du port A en mode analogique Entrées AN0, AN1, AN2 et AN4 en analogique, AN3 Tension Reférence haute (VREF+) Entrées AN0, AN1 et AN3 en analogique, AN2 et AN4 en numérique Entrées AN0 et AN1 en analogique, AN3 Tension Reférence haute (VREF+), AN2 et AN4 en numérique Entrées AN0, AN1 et AN4 en analogique, AN2 Tension de Référence basse (VREF-), AN3 Tension de Référence haute (VREF+) Entrées AN0 et AN1 en analogique, AN2 Tension de Réf. basse (VREF-), AN3 Tension de Réf. haute (VREF+), AN4 en numérique Entrées AN0 analogique, toutes les autres entrées en numérique Entrées AN0 analogique,an2 Tension de Réf. basse (VREF-), AN3 Tension de Réf. haute (VREF+), AN1 et AN4 en numérique La ligne 17 détermine l'horloge utilisé pour la conversion. La ligne 18 permet de sélectionner l'entrée à numériser. Dans notre cas seul le canal 0 est utilisé donc on sélectionne celui-ci sinon il suffit de préciser le numéro de canal. La ligne 19 permet au convertisseur de s'initialiser en attendant 100ms. La ligne 22 permet de lire le résultat de la conversion et stocke celui-ci dans la variable val_can. La ligne 23 envoie sur cette valeur vers le port C et allume les DELs en conséquence. Sauvegardez votre programme puis compilez-le. Programmez votre PIC et testez votre programme avec la carte inters+dels. Tournez lentement le potentiomètre relié à la voie AN2. Lorsque vous faites varier cette tension les DELs du port C doivent s'éteindre ou s'allumer en fonction de la valeur convertie. Vérifiez l'état des DELs pour une tension de 0V, 1V (mesurez la tension au potentiomètre avec un multimètre) puis comparez-là avec la théorie. Vérifiez votre réponse à la question de la page précédente en allumant les 6 premières diodes vertes et en relevant au multimètre la tension sur le potentiomètre. Le schéma de simulation pour cet exemple sera : +5V Simulation CAN et Affichage sur DELs Olivier DARTOIS Jacques DUPRAT TELN 2005 RV1 1k U1 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RA0/AN0 RA1/AN1 RA2/AN2/VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS PIC16F876 PROGRAM=can.HEX CLOCK=4MHz RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT R1 220 R2 R3 R4 R5 R6 R7 R8 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 220 Olivier DARTOIS Jacques DUPRAT Page 8

9 Exercice 3: Configurez le convertisseur analogique numérique du PIC pour qu'il prenne comme valeur basse de conversion la tension Vref- et comme valeur haute de conversion la tension Vref+. Réglez Vref+ à 3V et Vref- à 1V. Affichez sur les dels vertes du port C le résultat de la conversion. Comparez le quantum dans cette configuration et le quantum précédent. Quel est l'intérêt de cette configuration? 4.Ex. n 4 : Utilisation de la voie série La communication avec le «monde» extérieure (au µc PIC) est très importante aujourd'hui. En particulier la communication par voie série vers un ordinateur permet d'accéder à la puissance de stockage et de calculs qu'un µc ne possède pas forcement. Nous allons réaliser une conversion puis transmettre le résultat de cette conversion par la voie série vers le PC. Nous utiliserons le logiciel TinyBootLoader pour visualiser les résultats. Dans l'edi, créez un nouveau fichier avec le nom «serie.c» puis saisissez les lignes suivantes : La ligne 12 permet de définir les caractéristiques de la communication sur la voie série ainsi que les broches utilisées pour celle-ci. Dans notre exemple, vous transmettrez à une vitesse de baud, la broche d'émission sera RC6 (portc, 6ème broche), la broche de réception sera RC7 (portc, 7ème broche) enfin il n'y aura pas de bit de parité (parity=none). Du coté de votre logiciel de dialogue sur la voie série (HyperTerminal ou TinyBootLoader), il faudra régler les mêmes paramètres. La ligne 17 définit une variable de type flottant (float) donc elle pourra stocker un nombre à virgule. La ligne 18 définit une constante (const) de type flottant. Son nom sera «Quantum» est vaudra 5V/ Olivier DARTOIS Jacques DUPRAT Page 9

10 255 soit 0,0196V. Cette constante permet de transformer une valeur compris entre 0 et 255 fourni par le CAN en une tension compris entre 0V et 5V. La ligne 27 permet d'obtenir le résultat de la conversion du CAN, de le multiplier par le Quantum afin d'obtenir dans la variable tension la valeur de la tension présente sur l'entrée AN0. La ligne 28 permet d'envoyer des informations sur la voie série. La fonction utilisée est la fonction «printf». Cette fonction est relativement complexe et est expliquée dans la documentation officielle du compilateur C. Dans notre cas, nous envoyons vers la voie série le texte qui est compris entre guillemets ou «%4.2f» est remplacé par la valeur de la tension : le «\r» permet de ramener le curseur au début de la ligne. le «\n» permet de sauter une ligne. le «%4.2f» permet de formater le flottant tension (lettre 'f' dans '%4.2f') pour qu'il s'affiche avec quatres chiffres en tout dont deux chiffres après la virgule. Sauvegardez votre programme puis compilez-le. Programmez votre PIC et testez votre programme en injectant une tension analogique variable (alimentation par exemple) sur la ligne AN0. Connectez l'interface de communication sur le connecteur HE10-10 correspondant de votre carte gestion et sur le PC lancez le programme TinyBootLoader. Les valeurs de la tension numérisée par le PIC sur la voie AN0 devraient apparaitre alors dans l'onglet «Terminal» si vous vous êtes bien connecté. Faites varier votre tension analogique et constatez les changements. Le schéma de simulation pour Isis utilise des composants virtuels et en particulier le composant «Virtual Terminal». Saisissez le schéma suivant et testez-le : +5V Numérisation voie AN0 et envoie valeur sur voie série Olivier DARTOIS Jacques DUPRAT TELN 2005 RV1 1k U1 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RA0/AN0 RA1/AN1 RA2/AN2/VREF- RA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT VIRTUAL TERMINAL RXD TXD RTS CTS PIC16F876 PROGRAM=serie.HEX CLOCK=4MHz BAUDRATE=19200 DATABITS=8 PARITY=NONE STOPBITS=1 5.Ex. n 5 : Utilisation d'un afficheur LCD Pour que les affichages de données soient plus attrayant vous pouvez utiliser un afficheur LCD. Le modèle le plus courant est un afficheur alphanumérique de 2 lignes de 16 caractères. Un exemple d'un tel afficheur est présenté page suivante. Cependant un tel afficheur est limité dans ces possibilités, en particulier vous ne pouvez pas afficher des «images» (bitmap en anglais). Nous allons donc plutôt travailler avec un afficheur graphique. Olivier DARTOIS Jacques DUPRAT Page 10

11 Nous allons travailler avec un afficheur graphique de récupération disponible facilement et en grande quantité pour un prix modique (entre 5 et 8 euros) : l'écran du téléphone portable Nokia En fait cet écran porte la référence LPH7779 et est piloté par un contrôleur LCD de chez Illustration 1: Afficheur LCD alphanumérique 2x20 caractères Phillips le PCD8544. Cet écran se pilote par la voie SPI (Serial Peripheral Interface = Interface Série Synchrone) disponible sur les PICs. Il se présente comme dans la capture ci-dessous. Illustration 2: Afficheur LCD graphique Nokia 3310 Cet écran a une résolution de 84 pixels suivant l'axe des X et 48 pixels suivant l'axe des Y. La carte pour exploiter cet écran est présenté dans le document «présentation des microcontrôleurs PICs et de l'environnement de développement». Afin de vous faire gagner du temps, deux librairies de pilotages en langage C de cet écran vous sont proposés suivant que vous utilisiez un PIC16F ou un PIC18F. La première librairie pour PIC16F est inspiré de ce site : On se limitera a l'exploitation alphanumérique de l'afficheur. La deuxième librairie pour PIC18F est inspiré de option=com_content&task=view&id=41&itemid=1. Comme le PIC18F a plus de RAM que le PIC16F, vous pourrez faire de l'affichage graphique voire de l'animation. 1. Utilisation avec un PIC16F Il faut tout d'abord copier dans votre répertoire le fichier «lph7779_v3_spi.c» disponible sur le serveur dans «P:\Documents Eleves\TELN\TP_PIC». Vous disposez des fonctions suivantes pour piloter votre afficheur : nokia_init() : fonction d'initialisation du LCD, à appeler avant toutes les autres, nokia_gotoxy(int8 xnokia, int8 ynokia) : positionnement du curseur aux coordonnées X,Y avec X évoluant de 0 à 83 et Y de 0 à 5. Exemple: nokia_gotoxy(10,3); nokia_clear_screen() : effacement de l'écran, nokia_printchar(int8 carac) : imprime un caractère en taille 5x8, s'utilise avec la fonction printf() pour afficher des messages. Exemple: printf(nokia_printchar,"bonjour"); nokia_printchar35(int8 carac) : imprime un caractère en taille 3x6, s'utilise avec la fonction printf() pour afficher des messages, vous ne disposez que des lettres majuscules et des chiffres. Exemple: printf(nokia_printchar35,"minuscule35"); Dans le prochain exemple, vous allez numériser les tensions données par les potentiomètres et les afficher sur deux lignes de l'afficheur LCD. Dans l'edi, créez un nouveau fichier avec le nom «nokia.c» puis saisissez les lignes de la page suivante. Olivier DARTOIS Jacques DUPRAT Page 11

12 Les ligne 6 à 11 permettent de définir les liaisons électriques entre le PIC et l'afficheur LCD et l'inclusion de la bibliothèque de fonctions nécessaire au pilotage du LCD. La ligne 14 permet de positionner manuellement en entrée (1=Input) ou en sortie (0=Output) les lignes du portc. Ici par exemple les lignes PC0 à PC3 sont positionnées en sortie. La ligne 16 permet de configurer et d'activer la communication SPI entre le PIC et l'afficheur LCD. Le reste des lignes a été décrit auparavant. Exercice 5.1: Réalisez un programme qui teste l'état des boutons K1 et K2 de la platine de l'afficheur LCD et qui affiche sur l'écran de celui-ci : «BTN K1 enfonce» quand K1 est appuyé et «BTN K1 relache» dans le cas contraire sur la ligne 2 de l'afficheur «BTN K2 enfonce» quand K2 est appuyé et «BTN K2 relache» dans le cas contraire sur la ligne 4 de l'afficheur Exercice 5.2: Réalisez un programme qui permet d'incrémenter une variable de 1 à chaque appui sur K1 et de décrémenter de 1 cette même variable à chaque appui sur K2. Vous afficherez cette variable sur l'afficheur. Olivier DARTOIS Jacques DUPRAT Page 12

13 2. Utilisation avec un PIC18F Un programme de démonstration est disponible sur le réseau dans le dossier TP_PIC précédent sous le nom «nokia18f.c». Copiez ce fichier dans votre répertoire personnel ainsi que la bibliothèque de fonction «LCD_Nokia_18F.c». Exercice 5.3: Compilez ce fichier puis changez le PIC 16F876 présent sur votre carte de TP par un PIC18F252 ou un PIC18F2520. Programmez ce PIC puis regardez le résultat sur l'écran de l'afficheur LCD. Pour connaître toutes les fonctions disponibles pour commander l'afficheur Nokia, ouvrez et lisez le fichier «LCD_Nokia_18F.c». Exercice 5.4: Un exemple d'animation simple est présenté ci-dessous, le fichier se nomme «animation.c»: // Animation MARIO - Olivier DARTOIS - TELN 2008 #include <18f252.h> // Selection du PIC #device PASS_STRINGS=IN_RAM #fuses H4,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT #use delay(clock=16m) // Définition pour l'utilisation de l'ecran LCD sur le port C du PIC18F252 #use fast_io(c) // Entrées/Sorties du port C en mode manuel #byte PORTNOKIA = 0xF82 // Adresse du port C du 18F2520 #bit nok_dc = PORTNOKIA.1 // PIN_C1: Ligne Données/Commande #bit nok_cs = PORTNOKIA.0 // PIN_C0: Ligne Chip Select #bit nok_res = PORTNOKIA.2 // PIN_C2: Ligne Reset #include <LCD_Nokia_18F.h> // L'image d'un plombier moustachu int8 mario [] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x48, 0x58, 0x74, 0x7C, 0xF8, 0xF0, 0x7C, 0xFA, 0xFE, 0xE6, 0xFE, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0D, 0x33, 0x62, 0xE2, 0xE3, 0xE4, 0xE0, 0xF6, 0x31, 0x01, 0x09, 0x19, 0x9F, 0xEF, 0x97, 0x8F, 0x7E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xFC, 0xC4, 0x02, 0x04, 0x3C, 0xE5, 0xFF, 0xFF, 0xCA, 0xCF, 0xFE, 0xFE, 0xE2, 0xE5, 0x69, 0xBB, 0x96, 0x06, 0x64, 0x2C, 0x08, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x02, 0x03, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x0F, 0x36, 0x41, 0x41, 0x43, 0x3E, 0x3E, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; signed int8 compteur=26; int8 etat_encod=0, ancien_etat_encod=0; // sens horaire sur la maquette if ((etat_encod==0x20 && ancien_etat_encod==0x30) (etat_encod==0x10 && ancien_etat_encod==0x00)) { compteur+=2; if (compteur>=68) compteur=68; nokia_clear_video_memory(); nokia_bitmap (compteur,8,mario,32,32); nokia_print_video_memory(); ancien_etat_encod=etat_encod; delay_ms(4); void main() { port_b_pullups(true); set_tris_c(0b ); // 1: broche en entrée // O: broche en sortie // Mise en oeuvre de la comm SPI vers LPH7779 setup_spi(spi_master SPI_H_TO_L SPI_CLK_DIV_4); enable_interrupts(int_rb); // Activation de l'interruption // pour l'encodeur enable_interrupts(global); // Activation globale des // interruptions nokia_init(); // Initialisation de l'afficheur LCD delay_ms(10); nokia_clear_video_memory(); nokia_bitmap (26,8,mario,32,32); // On positionne Mario au // milieu de l'ecran nokia_print_video_memory(); while (true) {; // tout se passe sous interruption donc la // boucle principale est vide #INT_RB void isb_rb() { delay_ms(3); etat_encod = input_b()&0x30; // sens anti-horaire sur la maquette if ((etat_encod==0x30 && ancien_etat_encod==0x20) (etat_encod==0x00 && ancien_etat_encod==0x10)) { compteur-=2; if (compteur<=-16) compteur=-16; nokia_clear_video_memory(); nokia_bitmap (compteur,8,mario,32,32); nokia_print_video_memory(); Compilez et testez ce fichier. Exercice 5.5: Compilez et testez le fichier «animation2.c» disponible sur le réseau 6.Les fonctions disponibles en langage C pour PIC Reportez-vous à l'aide intégré dans le compilateur C et aux documentations mises à votre disposition sur le réseau. Olivier DARTOIS Jacques DUPRAT Page 13

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

La programmation des PIC en C. Les fonctions, les interruptions.

La programmation des PIC en C. Les fonctions, les interruptions. La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

ANALYSE TRAMEs LIAISON SERIE

ANALYSE TRAMEs LIAISON SERIE ANALYSE TRAMEs LIAISON SERIE 1 Objectifs de ce travail Nous allons étudier dynamiquement la liaison série en utilisant la simulation. La mise en œuvre des liaisons séries simulées et de TestCom est expliquée

Plus en détail

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE AMICUS 18 (2ème partie) Dans la première partie, nous avions présenté la platine Amicus 18 et nous avions réalisé quelques montages simples. Nous allons découvrir un peu mieux la programmation. Dans la

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

PIC EVAL Dev Board PIC18F97J60

PIC EVAL Dev Board PIC18F97J60 PIC EVAL Dev Board PIC18F97J60 2 TP1 : Prise en main de l environnement de programmation pour la carte PIC EVAL-ANFA Pour répondre aux questions et justifier vos réponses, vous pouvez faire des copies

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,

Plus en détail

TER Licence 3 Electronique des Télécoms Transmission GSM

TER Licence 3 Electronique des Télécoms Transmission GSM Université de Savoie Module TER (Travaux d études et réalisation) TER Licence 3 Electronique des Télécoms Transmission GSM Note : L ensemble des documents du projet se trouve sur l espace étudiant du site

Plus en détail

1. PRESENTATION DU PROJET

1. PRESENTATION DU PROJET Bac STI2D Formation des enseignants Jean-François LIEBAUT Denis PENARD SIN 63 : Prototypage d un traitement de l information analogique et numérique (PSoC) 1. PRESENTATION DU PROJET Les systèmes d éclairage

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE M HAMED BOGARA DE BOUMERDES FACULTE DES SCIENCES - DEPARTEMENT PHYSIQUE

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Interface PC Vivago Ultra. Pro. Guide d'utilisation Interface PC Vivago Ultra Pro Guide d'utilisation Version 1.03 Configuration de l'interface PC Vivago Ultra Configuration requise Avant d'installer Vivago Ultra sur votre ordinateur assurez-vous que celui-ci

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Flowcode - Mode d'emploi

Flowcode - Mode d'emploi Flowcode - Mode d'emploi Sommaire I) Introduction Introduction 4 Nouveautés de la version 2 5 Les microcontrôleurs PIC 5 Support technique 7 II) Pour commencer Concevoir un algorigramme pour un composant

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

ENREGISTREUR DE TEMPERATURE

ENREGISTREUR DE TEMPERATURE ENREGISTREUR DE TEMPERATURE Jean-Pierre MANDON 2005 www.pictec.org Cet enregistreur de température a été réalisé dans le cadre de la construction d'un chauffe eau solaire. Il me permet d'enregistrer les

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

SUPPORT DE COURS. Langage C

SUPPORT DE COURS. Langage C Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet Logiciels DSPiy DSPiyStudio logiciels et format des fichiers incomplet 1. Organisation et nommage 2. Création d'une Application DSPiy 3. Modification d'une Application 4. Fonctionnement de DSPiyStudio

Plus en détail

Créer une base de données

Créer une base de données Access Créer une base de données SOMMAIRE Généralités sur les bases de données... 3 Création de la base de données... 4 A) Lancement d'access... 4 B) Enregistrement de la base de données vide... 4 Création

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Dongle WiFi de QUMI Manuel de l utilisateur

Dongle WiFi de QUMI Manuel de l utilisateur Dongle WiFi de QUMI Manuel de l utilisateur (Nom du modèle : QW-Wifi10) Version : 1.1 Date : 6 décembre 2011 **Avant d'utiliser la dongle WiFi, vérifiez en premier la version du logiciel QUMI.** Comment

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

LSM RELEASE NOTES LOGICIEL LOCKING SYSTEM MANAGEMENT

LSM RELEASE NOTES LOGICIEL LOCKING SYSTEM MANAGEMENT Page 1 LOGICIEL LOCKING SYSTEM MANAGEMENT 1.0 REMARQUES PRÉALABLES Release notes version 3.1 SP1 (3.1.11020) Octobre 2011 Cette version sert en premier lieu à compléter les nouveaux matériels. En outre,

Plus en détail

Programmation en langage C

Programmation en langage C Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des

Plus en détail

Network Camera. Camera. Network. Guide d installation v1.1. Installation Guide v1.1 18683 R1.1. Anglais. Français. Espagnol. Allemand 18683 R1.

Network Camera. Camera. Network. Guide d installation v1.1. Installation Guide v1.1 18683 R1.1. Anglais. Français. Espagnol. Allemand 18683 R1. Network Camera Anglais Français Espagnol AXIS 2100 18683 R1.1 Retire el con CD con cuidado para abrirlalaguía guíacompletamente completamente yydoblela leer la versión en español... Retire el CD cuidado

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Chapitre 4 Pierre, papier, ciseaux

Chapitre 4 Pierre, papier, ciseaux Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements

Plus en détail

Système M-Bus NIEVEAU TERRAIN NIVEAU AUTOMATION NIVEAU GESTION. Domaines d'application

Système M-Bus NIEVEAU TERRAIN NIVEAU AUTOMATION NIVEAU GESTION. Domaines d'application 5 657 ENERGY MONITORING ET CONTROLLING EMC MeterProxy pour M-Bus CSM30.001 L'Energy Monitoring & Controlling EMC est un outil de gestion d'énergie d'utilisation aisée pour la surveillance et le contrôle

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia Ministère de l Enseignement Supérieur, de la Recherche Scientifique et de la Technologie Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Djerba SUPPORT DE COURS

Plus en détail

Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots

Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots API-1 Etre capable de : Sélectionner un format de mot adapté au type de donnée à traiter par un API. D interpréter les données contenues

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI). ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI). Sciences et Technologies de l Industrie et du Développement Durable Formation

Plus en détail

Apprendre à manipuler le clavier Médiathèque de Bussy Saint-Georges APPRENDRE A MANIPULER LE CLAVIER

Apprendre à manipuler le clavier Médiathèque de Bussy Saint-Georges APPRENDRE A MANIPULER LE CLAVIER APPRENDRE A MANIPULER LE CLAVIER Apprendre à manipuler le clavier SOMMAIRE : I APPRENDRE A TAPER AU CLAVIER... PAGES 3-11 1.1 - Positionnement des touches d'un clavier... Page 3 1.2 - Les touches importantes

Plus en détail

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Bien commencer avec un LaunchPad MSP430G et un Breadboard Bien commencer avec un LaunchPad MSP430G et un Breadboard Pierre-Yves Rochat Le LaunchPad et Energia Texas Instrument propose un environnement de développement très complet pour ses MSP430, appelé Code

Plus en détail

Enregistreur sans papier avec écran TFT et carte Compact Flash. B 70.6580.2.0 Description des interfaces 07.07/00472200

Enregistreur sans papier avec écran TFT et carte Compact Flash. B 70.6580.2.0 Description des interfaces 07.07/00472200 nt Enregistreur sans papier avec écran TFT et carte Compact Flash B 70.6580.2.0 Description des interfaces 07.07/00472200 Sommaire 1 Introduction 5 1.1 Avant-propos... 5 1.2 Conventions typographiques...

Plus en détail

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee Cedric BEAUSSE Mohamed BOUGUERRA Hong Yu GUAN El Ayachi MOKTAD Projet avancé en systèmes embarqués 2006 / 2007 Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee Sommaire

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 MICROCONTROLEURS PIC PROGRAMMATION EN C V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 Chapitre 1 GENERALITES 1 DEFINITION Un microcontrôleur est un microprocesseur RISC (Reduced Instruction Set

Plus en détail

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ 001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Programmation Classique en langage C

Programmation Classique en langage C DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric

Plus en détail

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Mentions légales (non traduites)... 3. 1. Introduction... 4. 2. Légendes... 4. 3. Schémas de raccordement... 5. 4. Configuration de la S16...

Mentions légales (non traduites)... 3. 1. Introduction... 4. 2. Légendes... 4. 3. Schémas de raccordement... 5. 4. Configuration de la S16... 1 2 Table des matières Consignes de sécurité importantes (non traduites)... 3 Mentions légales (non traduites)... 3 Garantie limitée (non traduite)... 3 1. Introduction... 4 2. Légendes... 4 3. Schémas

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

Transmissions série et parallèle

Transmissions série et parallèle 1. Introduction : Un signal numérique transmet généralement plusieurs digits binaires. Exemple : 01000001 ( huit bits). Dans une transmission numérique on peut envisager deux modes : les envoyer tous en

Plus en détail

Carte Relais GSM (Manuel Utilisateur)

Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM Introduction Cette carte est une véritable centrale de télécommande et d alarme par GSM. Elle se connecte par un port série à un modem GSM compatible

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &.

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. - media-2001.communication &. Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8 Powered by - media-2001.communication &.networks 1 Version 3.0 Sommaire Introduction... 3 1. Configuration du logiciel

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel) Algorithmes et Programmes Introduction à l informatiquel! Vie d'un programme! Algorithme! Programmation : le langage! Exécution et test des programmes Chapitre : Algorithmes et Programmes 2 Cycle de vie

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. Version 3.0 - EXOCA 1

Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8. Powered by. Version 3.0 - EXOCA 1 Guide Utilisateur - Guide général d'utilisation du service via Zdesktop ou Webmail v.8 Powered by Version 3.0 - EXOCA 1 Sommaire Introduction... 3 1. Configuration du logiciel Zdesktop...4 2. Connexion

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Bien travailler sur plusieurs écrans

Bien travailler sur plusieurs écrans Bien travailler sur plusieurs écrans Pour améliorer votre confort sur votre ordinateur et travailler plus efficacement, vous pouvez lui ajouter un second voire un troisième écran. En étendant la surface

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Fiche technique CPU 314SC/DPM (314-6CG13)

Fiche technique CPU 314SC/DPM (314-6CG13) Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Une carte pour vos projets

Une carte pour vos projets ARDUINO Une carte pour vos projets CHRISTOPHE ULTRÉ [1] Les projets interdisciplinaires impliquent de faire l acquisition d un matériel adaptable et peu coûteux qui réponde à des problématiques communes,

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

Plus en détail

LOGICIEL SDS ver 1.08. Manuel de l utilisateur SDS VER 1-28/05/03

LOGICIEL SDS ver 1.08. Manuel de l utilisateur SDS VER 1-28/05/03 LOGICIEL SDS ver 1.08 Manuel de l utilisateur 2 LOGICIEL SDS ver 1.08 1 MANUEL DE L UTILISATEUR 1 AVANT DE COMMENCER 3 Déballage 3 Installation du matériel 3 Logiciel SDS 4 Conventions 4 INSTALLATION 5

Plus en détail

Manuel de configuration du Wi-Fi

Manuel de configuration du Wi-Fi Manuel de configuration du Wi-Fi uu Introduction Il existe deux modes LAN sans fil : le mode infrastructure pour la coexion via un point d'accès et le mode ad hoc pour établir une coexion directe avec

Plus en détail

WINDOWS SERVER 2003-R2

WINDOWS SERVER 2003-R2 WINDOWS SERVER 2003-R2 Nous allons aborder la création d'un serveur de partage de fichiers sous "VMWARE" et "Windows Server 2003-R2". Objectifs : Solution de sauvegarde de fichiers pour la société "STE

Plus en détail

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer Messages d'erreurs Erreur 602 Vous essayez de vous connecter à Internet. L'erreur n 602 apparaît et il vous est impossible de vous connecter. L'erreur 602 est souvent issue de l'utilisation de l'accès

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail