La programmation des ATMEL AVR

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

Download "La programmation des ATMEL AVR"

Transcription

1 La programmation des ATMEL AVR JUILLOT Guillaume 2 septembre 2003

2

3 Table des matières Introduction 3 I Les microcontrôleurs AVR pour les nuls 5 I.1 Qu est-ce qu un microcontrôleur? I.2 Les entrées/sorties d un microcontrôleur I.3 Timers/Counters et génération de PWM I.4 Convertisseurs analogique/numérique I.5 Communication série USART I.6 Comparateur analogique I.7 Watchdog Timer I.8 Modes d économie d énergie I.9 Interruptions internes et externes II La programmation des microcontrôleurs en C 11 II.1 Débuter avec Imagecraft II.2 La séparation de code en plusieurs fichiers et quelques fonctions utiles II.2.1 La définition de fonctions utiles à l aide de #define II.2.2 Rajouter un fichier à un projet II.3 Les interruptions avec ImageCraft AVR II.4 L assembleur dans un programme en C II.5 Quelques compléments sur le compilateur ICC AVR III La simulation des progammes 19 III.1 Premiers pas avec AVR Studio III.2 Workspace III.3 Programme en cours III.4 Contrôle du déroulement III.5 Choix de la vue III.6 Output view IV L implémentation réelle sur le microcontrôleur 23 IV.1 L alimentation IV.2 L horloge IV.3 Le port de programmation IV.4 Comment implémenter notre programme dans le microcontrôleur Le mot de la fin 29 A Schéma de l ATmega B Conversion hexadécimal/binaire/décimal 33 B.0.1 Convention d écriture

4 2 TABLE DES MATIÈRES C Aide à la programmation 35 C.1 Type de données C.2 Gestion des entrées/sorties C.3 Interruptions externes C.4 Timer/Counter0 (8 bits) C.5 Timer/Counter2 (8 bits) C.6 Timer/Counter1 et 3 (16 bits) C.7 Interruptions pour Timers/Counters C.8 Génération de PWM sur OC0 (8 bits) C.9 Génération de PWM sur OC2 (8 bits) C.10 PWM sur OC1A, OC1B, OC1C, OC3A, OC3B et OC3C (de 8 à 10 bits) C.11 USART Adresses Internet utiles 41 Index 43

5 Introduction Ce document a été écrit dans le cadre de la coupe 2003 de robotique e=m6. Il a pour but de vous présenter toutes les phases de développement d un projet sur les microcontrôleurs de la famille AVR de chez ATMEL. Cette présentation est décomposée en quatre parties. La première sera une description aussi complète que possible des possibilités qu offrent les microcontrôleurs choisis. Suivront les rudiments de la programmation en C et en assembleur, à l aide du compilateur Imagecraft. Un aspect important est la simulation du programme, qui se fera à l aide de AVR Studio 4 dans la troisième partie du présent document. Je terminerai en présentant la mise en pratique du programme en l implémentant sur le microcontrôleur. Les exemples donnés seront valables pour un ATmega128. Il est possible qu ils ne soient plus valables pour un autre microcontrôleur. Dans tous les cas il est vivement recommandé d avoir une datasheet complète de l ATmega128 sous les yeux pour mieux pouvoir suivre les exemples. Utilisez également la datasheet d un autre microcontrôleur si vous souhaitez adapté les exemples au microcontrôleur de votre choix. 3

6 4 INTRODUCTION

7 Chapitre I Les microcontrôleurs AVR pour les nuls Les microcontrôleurs de la famille AVR d ATMEL possèdent de nombreuses caractéristiques différentes, aussi bien en termes de vitesse, mémoire, nombre d entrés/sorties mais aussi au niveau des fonctions particulières qui sont disponibles. Il conviendra donc de choisir le microcontrôleur en fonction de l utilisation qui est à faire - par exemple, il est conseillé d éviter d utiliser un ATmega128 si l on ne cherche qu à générer un PWM 1. I.1 Qu est-ce qu un microcontrôleur? Un microcontrôleur est composé d un microprocesseur, de mémoire ROM pour stocker le programme et d une mémoire RAM volatile pour conserver les résultats intermédiaires lors de l exécution du programme. Mais les microcontrôleurs possèdent des avantages incomparables pour l informatique embarquée par rapport aux microprocesseurs. Ce sont d abord les broches qui peuvent servirent d entrées/sorties mais surtout toutes les fonctions périphériques. En effet, selon le microcontrôleur considéré, on peut trouver : plusieurs Timers/Counters Génération de signaux PWM Nombreux convertisseurs analogiques/numériques Communication série USART Comparateur analogique Watchdog Timer Oscillateur RC interne Modes d économies d énergie Interruptions internes et externes I.2 Les entrées/sorties d un microcontrôleur La plupart des pattes d un microcontrôleur peuvent servir soit d entrées, soit de sorties, et ce choix peut changer à tout instant comme le veut le développeur. Les entrées/sorties sont regroupées par huit et le groupement de huit pattes ainsi formé est appelé port et se voit attribué une lettre. Par exemple, les broches 44 à 51 forment le port A. 1 PWM = Pulse Width Modulation, c est un signal rectangulaire caractérisé par le rapport cyclique (temps haut /temps bas ), c est-à-dire avec un temps à 1 différent du temps à 0. 5

8 6 CHAPITRE I. LES MICROCONTRÔLEURS AVR POUR LES NULS Chaque patte est ensuite numérotée selon sa position au sein de ce port. Par exemple, la broche 46 est appelée PA5 2. Trois registres 3 servent à gérer les entrées/sorties : DDRx 4 : indique quelles sont les pattes considérées comme des entrées et celles considérées comme des sorties. Si le n ième bit de DDRx (noté DDxn) est à 1, alors la n ième patte du port x (notée Pxn) est considéré comme une sortie. Si DDxn est à 0, alors Pxn est considérée comme une entrée. PORTx : la valeur du n ième bit de PORTx (noté PORTxn) définit la valeur de sortie de Pxn. Si PORTxn=1, alors Pxn=+Vcc, si PORTxn=0, alors Pxn=Gnd. PINx : la valeur du n ième bit de PINx (noté PINxn) est la valeur qui est appliquée à l entrée du microcontrôleur. Par exemple, si on applique +Vcc à Pxn, alors PINxn=1. La plupart des pattes possèdent des fonctions périphériques qui inhibent l utilisation en tant qu entrées/sorties. Si l on utilise les fonctions périphériques, il ne faut en aucun cas modifier les bits DDRxn, PORTxn et PINxn correspondants. I.3 Timers/Counters et génération de PWM Les Timers/Counters, notés TCNTn où n est le numéro Timer/Counter, sont des compteurs cadencés selon une certaine fréquence définie. Lorsqu il atteint son maximum (MAX 5 ), il passe à 0 et recommence à compter. Ce passage de MAX à 0 peut s accompagner d une interruption interne (cf. Interruptions internes et externes en page 9). À ces Timers/Counters se rajoutent un comparateur dont on peut définir le seuil à l aide du registre OCRn. Lorsque le TCNTn atteint la valeur de OCRn, alors la patte OCn change de valeur, passant de 0 à 1 ou de 1 à 0 selon la configuration puis retournant à la valeur initiale lorsque TCNTn passe de MAX à 0. Ces Timers/Counters peuvent donc avoir plusieurs utilisations. D abord, le programmeur peut savoir le temps écoulé depuis qu il a lancé le Timer/Counter. Ou encore, l interruption de passage de MAX à 0 peut être utilisée pour temporisation, et commencer ou arrêter un programme au bout d un certain temps. La dernière utilisation, très utile en robotique pour la commande de servomoteurs, est la génération de signaux PWM. En effet, si la patte OCn change de valeur lorsque le TCNTn atteint la valeur du comparateur OCRn, on obtient sur OCn un signal alternativement à 1 puis à 0 avec des durée à 0 et à 1 réglables. On a bien OCn qui est un signal PWM dont on peut définir le rapport cyclique en mettant la bonne valeur dans OCRn. Plusieurs registres sont utilisés pour configurer les Timers/Counters : TCCRn, OCRn, ASSR, TIMSK et TIFR. Leurs configurations sont compliquées, il convient de se reporter aux chapitres correspondants de la datasheet. La valeur du Timer/Counter, accessible via le registre TCNTn, peut être modifiée à tout instant afin de réinitialiser ma séquence à partir d une certaine valeur, après avoir atteint MAX, le compteur recommencera à 0. À noter que la fréquence de comptage peut être un sous-multiple de la fréquence du microcontrôleur ou encore être imposée par une horloge externe connectée à une patte du microcontrôleur. Certains compteurs fonctionnent sur 16 bits. Ils présentent plusieurs avantages : ils peuvent compter plus loin donc plus longtemps ; lors d une utilisation pour générer du PWM, la résolution est plus élevée ; et surtout ils possèdent deux comparateurs dont les seuils peuvent être réglés différement, ce qui permet d obtenir sur les pattes OCnA et OCnB deux signaux PWM de même fréquence mais de rapport cyclique différent à l aide d un seul Timer/Counter. Dans le 2 Les plus perspicaces auront remarqué que l ordre des numéros sur le port A est inversé par rapport aux numéros des pattes. En réalité, cela dépend du port, certains sont dans le bon sens, d autres non. Voir dans la datasheet. 3 Un registre est une variable interne de huit bits, utilisée pour définir le comportement du microcontrôleur ou pour savoir dans quel état il se trouve. 4 x représente la lettre du port, par exemple DDRA ou DDRB... 5 pour un compteur sur m bits, alors MAX = 2 m 1

9 I.4. CONVERTISSEURS ANALOGIQUE/NUMÉRIQUE 7 cas de Timer/Counter sur 16 bits, le registre TCNTn se décompose en deux registres TCNTnL et TCNTnH tandis que OCRn se décompose en OCRnAL et OCRnAH pour le premier comparateur et OCRnBL, OCRnBH pour le deuxième comparateur. I.4 Convertisseurs analogique/numérique Le monde réel étant continu, c est-à-dire analogique, tandis que les microcontrôleurs fonctionnent en numérique, il faut bien avoir une interface entre les deux : le convertisseur analogique/numérique 6. Son fonctionnement est simple à comprendre : à intervalles de temps réguliers, la tension analogique est mesurée puis arrondie afin de pouvoir être convertie en numérique. La conversion est donc d autant plus fidèle que le nombre de bits du codage est élevé et est inversement proportionnelle à la plage de tension analogique en entrée. Les microcontrôleurs de la famille AVR possèdent des convertisseurs embarqués donc il n est pas nécessaire d en concevoir ou d en acheter. Par exemple, l ATmega128 possède un CAN fonctionnant sur 10 bits. Ce CAN peut convertir jusqu à 8 signaux analogiques par intermittence. Le temps maximum de conversion est de 260µs mais peut être diminué en réduisant la résolution (nombre de bits du codage). L échelle de tension en entrée est par défaut [0, V cc] mais peut être passée à [0, V ref ] où V ref V cc est une tension appliquée à la patte A ref (n o 62). A noter que les CAN peuvent être configurés pour ne faire qu une conversion ou pour convertir en continu la tension analogique, la conversion étant alors réguilèrement mise à jour selon la durée de conversion. I.5 Communication série USART USART est l abrévation pour Universal Synchronous and Asynchronous serial Receiver and Transmitter, c est un système de communication point-à-point très flexible. Les données sont transmises par trames de 7 à 13 bits. La trame a le format suivant : (IDLE) St [5] [6] [7] [8] [P] Sp1 [Sp2] (St/IDLE) St : bit de départ, toujours à 0 n : bits de données P : bit de parité Sp : bit(s) de fin, toujours à 1 IDLE : pas de transfert, la ligne doit être à 1 Fig. I.1 Trame USART Les éléments entre crochets sont facultatifs, leur présence est définie par le développeur. Le bit de parité permet de vérifier rapidement s il y a eu une erreur de transmission mais n est pas fiable à 100%. L USART se décompose en trois parties : L émetteur : se charge d émettre sur la patte TXDn, à la fréquence configurée, la trame selon la valeur stockée dans le registre UDR ; il s occupe donc automatiquement de la génération des bits Start, Stop et éventuellement Parity. Des interruptions peuvent être déclenchées lorsque la transmission est terminée. 6 en abrégé, CAN ou ADC en anglais pour Analog to Digital Converter

10 8 CHAPITRE I. LES MICROCONTRÔLEURS AVR POUR LES NULS Le récepteur : dès détection sur la patte RXDn d un bit Start valide (c est-à-dire à 0), chaque bit de la trame est alors échantilloné selon la fréquence configurée ou selon l horloge sur XCK, et stocké dans un registre temporaire jusqu à réception de la trame complète. Ensuite, la valeur reçue est déplacée dans le registre UDR accessible par le programme. Une interruption peut être déclenchée lors de la fin de réception pour prévenir qu une trame est arrivée. Si le programme n a pas lu une trame lorsqu une deuxième trame arrive, la première trame est perdue. Si la transmission s est mal déroulée, par exemple si la trame est non conforme, si le bit de parité n est pas correct ou si des données reçues n ont pas été lues, divers drapeaux 7 passent à 1 et les données erronées sont effacées. Le générateur d horloge : lors d une utilisation en mode synchrone, un générateur est déclaré maître et l autre esclave. Le maître génère le signal d horloge selon le débit souhaité et l envoit sur la patte XCK du microcontrôleur. L horloge esclave reçoit ce signal d horloge sur sa patte XCK et l utilise pour échantilloner les trames ou les émettre au bon rythme. En mode asynchrone, l USART en reception se charge de synchroniser son horloge sur la trame arrivante. La configuration doit être faite avant toute tentative d envoi de données et ne devra pas être changée tant que des données restent à émettre/recevoir. Il faut bien veiller à ce que la configuration soit toujours identique sur les deux microcontrôleurs pour le format de la trame, le débit et qu en mode synchrone les deux pattes SCK soient reliées et qu un USART soit en maître et l autre en esclave. I.6 Comparateur analogique Outre les convertisseurs analogiques/numériques, les microcontrôleurs AVR possèdent un comparateur analogique. Celui-ci compare les deux tensions appliquées aux pattes AIN0 et AIN1. Si AIN0 < AIN1 alors le bit ACO (5ème bit du registre ACSR) passe à 1. Sinon, ACO reste à 0. De plus, une interruption peut être déclenchée lors du passage à 1 de ACO. I.7 Watchdog Timer Le Watchdog Timer se charge de faire des RESET à intervalle de temps régulier. Il utilise un oscillateur RC interne en tant qu horloge cadencée à 1MHz. Ce système permet de recommencer le même programme à intervalles de temps réguliers ou encore de se réveiller d un mode d économie d énergie après un certain lapse de temps (voir paragraphe suivant). A noter que la mémoire RAM n est pas perdu au cours de ce RESET, ce qui permet d augmenter le temps entre deux réexécution du programme en tenant à jour un compteur qui est décrémenté à chaque Watchdog Reset jusqu à ce qu il atteigne 0 et alors on commence réellement le programme. I.8 Modes d économie d énergie Certaines applications ne nécessitent pas que le microcontrôleur tourne continuellement. Il serait donc souhaitable de le désactiver, de l endormir, pour qu il consomme aussi peu d énergie que possible. Ceci est possible grâce aux Sleep Mode. Plusieurs modes sont disponibles, afin de pouvoir endormir ce dont on n a pas besoin et de conserver ce qui doit l être. Une fois configuré, il suffit pour entrer dans le mode d énregie d exécuter l instruction SLEEP. La sortie du mode se fait via une interruption externe ou interne, selon le mode utilisé. 7 Un drapeau est un bit indiquant qu un évènement s est produit.

11 I.9. INTERRUPTIONS INTERNES ET EXTERNES 9 I.9 Interruptions internes et externes Certains évènements peuvent intervenir à n importe quel instant et doivent être gérés sans attendre. Il est évident que de faire constament une batterie de tests pour voir si tel ou tel évènement s est produit n est pas performant du tout. Les interruptions sont LA solution à ce problème. En effet, dès qu un évènement se produit, si l interruption est correctement configurée, le microcontrôleur arrête immédiatement son exécution pour exécuter une autre portion de code gérant cet évènement. Dès que cette portion de code a fini d être exécutée, le microcontrôleur retourne à son programme principal, à l endroit où il l avait quitté. Les interruptions possibles sont de deux types : externe : lorsqu une des pattes passe dans un certain état ou tant que la patte est dans un état défini interne : par exemple lorsque qu un compteur dépasse sa valeur maximale 8, lorsqu un transfert via USART est terminé... Plusieurs choses sont à faire pour configurer et utiliser les interruptions : 1. Pour les interruptions internes, configurer le registre correspondant pour déclencher l interruption ; par exemple pour déclencher une interruption sur un Overflow du Timer/Counter0, on configure le registre TIMSK en mettant le bit n o 0, TOIE0, à Pour les interruptions externes, ce sont les registres EICRA, EICRB, EIMSK et EIFR qu il faut configurer pour qu un certain état sur une ou plusieurs des pattes INT0 à INT7 déclenche une interruption. 3. Il faut ensuite dire au microcontrôleur ce qu il doit exécuter. Pour cela, les premiers blocs de mémoire sont alloués à un Reset and Interrupt Vector. À chaque type d interruption est associé une adresse dans ce Vector où le développeur met une instruction jmp LABEL, LABEL étant l adresse de la mémoire où se trouve le code à exécuter. 4. Ensuite, on programme le code qui doit être exécuté en le mettant à l adresse LABEL définie ci-dessus. Nous verrons dans le chapitre sur la programmation en C en page 15 comment ces deux étapes peuvent être réalisé facilement. 5. Il reste à activer la gestion des interruptions à l aide de la commande assembleur sei. La gestion des interruptions peut être desactivée à l aide de la commande assembleur cli. A noter que le retour au programme principal se fait via la commande assembleur reti et non via ret comme pour un retour depuis une sous-fonction classique. 8 on appele cela Overflow

12 10 CHAPITRE I. LES MICROCONTRÔLEURS AVR POUR LES NULS

13 Chapitre II La programmation des microcontrôleurs en C Normalement, à ce niveau, vous vous dîtes : Que ça a l air bien les microcontrôleurs, ce doit être trop dur à programmer. Et bien, vous vous trompez! Evidement si l on était obligé de programmer en assembleur, ce serait galère. Mais heureusement, les microcontrôleurs AVR ont l avantage de disposer de moultes compilateurs, ce qui permet de programmer en C, ce qui est, vous l avouerez, tout de même plus facile. Parmis ces compilateurs, il y a entre autres 1 : GCC AVR - compilateur sous license GNU c est-à-dire libre d utilisation ; Imagecraft - alias ICC AVR ; et CodeVision AVR. Si GCC AVR est gratuit, il a le gros désavantage de fonctionner sans interface graphique mais à l aide de MakeFile. Les aficionados de la programmation en C sous Linux ne seront guère gênés mais moi si. C est pourquoi j ai choisi d utiliser une version de démonstration d Imagecraft, les limitations de cette démo n étant guère gênant pour de petits projets. Pour les adeptes de Linux, reportez-vous aux rapports de mes prédecesseurs à cette adresse : II.1 Débuter avec Imagecraft Après un détour sur pour télécharger la démo d Imagecraft et après l avoir installé, on le lance et les choses sérieuses vont commencer. Si vous êtes prêts, nous allons pouvoir commencer. Un projet est souvent composé de plusieurs fichiers qu il faut regroupé. Pour cela, on crée un... Project! Dans le menu Project, choisissez New. Créez un répertoire où vous voulez que le projet soit stocké puis donnez-lui son nom 2. Pour l exemple qui suit, vous prendrez comme répertoire debut et comme nom de projet debut. Ouvrez le projet ainsi créé via Project/Open. Ensuite faites File/New et vous pouvez commencer à écrire du code. Maintenant que tout est prêt pour commencer à programmer, je vous propose de faire un programme qui consiste à faire clignoter une LED 3. D abord, choisissons où sera connecté cette 1 Voir sur pour plus de détails 2 ICC AVR ne gère pas les noms de fichiers longs. Pour créer un projet dans un répertoire donc le chemin d accès contient des caractères illicites pour des noms de fichiers courts, il faut donner dans la case Nom du fichier l arborescence complète en format nom de fichier court. Par exemple C:\mesdoc~1\codeav~1\debut.prj 3 LED est le sigle anglais pour Diode Electro-Luminescente, c est une petite ampoule. 11

14 12 CHAPITRE II. LA PROGRAMMATION DES MICROCONTRÔLEURS EN C DEL. Si personne ne s y oppose, je propose la patte PA0 4. Ensuite, il faut que le microcontrôleur sache quelle portion de code exécuter au démarrage. Pour cela, on inclue ce code dans la fonction main. Voici donc le début de notre code : void main(void){ Explications : main est l entrée du programme, c est vers là que se dirigera le microcontrôleur dès sa mise sous tension. void est un mot anglais signifiant rien. Placé avant le nom de la fonction - ici main -, void indique que le programme ne renvoie pas de résultat comme par exemple pourrait le faire une fonction somme. Ensuite, entre paranthèses se trouve les paramètres de la fonction, c està-dire ce que la fonction a besoin de connaitre. Ici void soit rien mais une fonction somme aura besoin des deux nombres à additionner donc la fonction deviendrait : int somme(int n, int m) 5. Le symbole { sert à indiquer le début de la fonction. A la fin de la fonction, il faut mettre }. Nous avons vu dans le paragraphe sur les entrées/sorties, en page 5, que les pattes pouvaient servir à la fois d entrée ou de sortie. Ici il faut dire au microcontrôleur que la patte PA0 est une sortie. Il faut donc mettre le bit 0 de DDRA à 1. La première instruction de notre programme est donc : DDRA=0x01; En effet 0x indique que le nombre est en héxadécimal. Donc 0x01= en binaire 6. On voit bien 7 que le bit 0 de DDRA est mis à 1. PA0 est désormais une sortie pour le microcontrôleur. Le point-virgule ; sert à indiquer que l instruction est finie. Certains doivent se dire que c est génial, que le compilateur comprend tout de suite ce que DDRA signifie. Et bien non. En réalité le registre DRRA, comme tous les registres, est un endroit de la mémoire dont l emplacement change selon le microcontrôleur sur lequel on travaille. Il faut donc préciser au compilateur quel microcontrôleur est utilisé afin qu il puisse remplacer DDRA par son adresse mémoire. Heureusement pour nous, pas besoin de redéfinir à chaque fois les adresses de tous les registres utilisés, il suffit de mettre au tout début du programme, avant mêma la fonction main, la déclaration suivante : #include <iom128v.h> La commande #include permet d insérer dans le programme sur lequel on travaille des portions de code définis dans un autre fichier, en l occurence iom182v.h Maintenant il faut allumer la LED. Pour cela, il faut mettre à 1 le bit 0 de PORTA. Ce qui se fait via : PORTA=0x01; Etant donnée la vitesse d éxecution 8, il faut patienter un peu avant d éteindre la LED. On utilise pour cela une boucle qui ne fait rien : for( i=0;i<10000;i++); La boucle for compte depuis i=0 tant que i<10000 en faisant i++, c est-à-dire en augmentant i de 1 à chaque boucle. i ne tombe pas du ciel et doit être déclaré au début de la fonction afin que le compilateur sache ce qu est i. On mettra donc la déclaration suivante avant DDRA=0x01 ; : int i ; 4 Souvenez-vous, PA0 est la patte n o 0 du port A, numéroté 51 5 int = entier en anglais 6 Voir en annexe, page 33 pour la conversion héxadédimal/binaire/décimal 7 Les bits sont numérotés de droite à gauche. En effet, le bit 0 est le bit le moins important et est donc mis le plus à droite, tout comme les unités sont placés à droite des dizaines, eux-mêmes à droite des centaines... 8 A 16 MHz, il faut 62.5ns pour faire l instruction précédente.

15 II.2. LA SÉPARATION DE CODE EN PLUSIEURS FICHIERS ET QUELQUES FONCTIONS UTILES 13 Ainsi le compilateur sait que i est un entier. On peut désormais éteindre la LED et attendre à nouveau. On rajoute donc à la suite du programme les instructions : PORTA=0x00 ; for ( i =0; i <10000; i ++); Il faut maintenant recommencer à allumer, attendre, éteindre, attendre... Pour cela, on englobe les 4 dernières instructions dans un bloc : while (1){ l e s 4 i n s t r u c t i o n s } Ainsi les 4 dernières instructions seront répétées éternellement. Il reste à finir la fonction main par } et le programme est terminé. Voici le programme au complet : #include <iom128v. h> void main ( void ) { int i ; DDRA=0x01 ; while ( 1 ) { PORTA=0x01 ; for ( i =0; i <10000; i ++); PORTA=0x00 ; for ( i =0; i <10000; i ++); } } Sauvegardez le code (File/Save) dans le fichier code.c par exemple. Ensuite, indiquez quel microcontrôleur est utilisé via le menu Project/Option/Target/Device Configuration. Indiquez maintenant que le fichier code.c fait partie du projet en cliquant doit sur Files dans la partie droite de votre écran et en sélectionnant Add Files... Il ne reste plus qu à compilé à l aide de la touche F9 ou via le menu Project/Make Project. Si aucune erreur n apparait dans le bas de votre écran, vous avez programmé votre premier projet sur microcontrôleur AVR. Félicitations! Vous pouvez passer à la simulation, en page 19, ou alors en apprendre plus sur la programmation C en continuant ci-dessous. II.2 La séparation de code en plusieurs fichiers et quelques fonctions utiles Vous avez peut-être remarqué que dans le programme précédent les registres DDRA et PORTA sont entièrement modifiés. Il y a des cas où cela n est pas souhaité et où on souhaite passer le bit 0 à 1 sans modifier les autres bits. Nous allons donc pour cela créer des fonctions supplémentaires. Mais ces fonctions ont de grandes chances d être nécessaires dans un autre projet, et on a pas trop envie de les réécrire le moment venu. Nous allons donc les mettre dans un fichier séparé qui sera inclus dans les projets qui en ont besoin.

16 14 CHAPITRE II. LA PROGRAMMATION DES MICROCONTRÔLEURS EN C II.2.1 La définition de fonctions utiles à l aide de #define Comment faire pour passer le nème bit du registre x à 1 sans modifier les autres bits? Le registre x est de la forme ( y, y, y, nème bit, y, y, y, y ) où y=0 ou 1. Il suffit de savoir 9 que (y OU 0)=y et que (y OU 1)=1. Il suffit donc de faire x OU ( 0, 0, 0, 1 au nème bit, 0, 0, 0, 0 ) pour obtenir le registre x identique sauf le nème bit qui est passé à 1. Ceci se fait en C par l instruction : x =(1<<n); En effet, l instruction x =y réalise l instruction x=(x OU y), car est la traduction de OU en C. On peut de même écrire x+=3 pour augmenter x de 3. Ensuite (x<<m) rajoute m zéros à la fin de x et enlève les m premiers bits au début de x. Ainsi par exemple par exemple (6<<3) devient car 6 en binaire est Présentons maintenant la déclaration #define. Par exemple, #define x 3 placée au début du programme, entre les #include et la première fonction, indique au compilateur qu il doit remplacer tout les x qu il trouve par un 3. Ce remplacement ne doit se faire que si x n est pas définit, on met donc cette déclaration dans un bloc : #ifndef nom du bloc de définition #define nom du bloc de définition liste des définitions #endif Une macro 10 ne se termine pas par un point-virgule car celui-ci sera mis par le développeur dans son programme lors de l appel de cet macro. Il est possible de faire une macro sur plusieurs lignes selon le format suivant : #define nom de la macro \ instruction1 ; \ instrution2 ; \... dernière instruction Cette fois des ; sont mis car, je le rappele, le compilateur ne fait que remplacer le nom de la macro par sa définition. II.2.2 Rajouter un fichier à un projet Nous allons donc maintenant définir 4 fonctions très utiles pour tout projet. Pour cela, après avoir relancé et ouvert le projet debut si vous l aviez quitté depuis, faites File/New. Entrez ensuite les déclarations suivantes : #ifndef #define FONCTIONS UTILES FONCTIONS UTILES #define SET BIT( o c t e t, b i t ) ( o c t e t = (1<< b i t ) ) #define CLEAR BIT( o c t e t, b i t ) ( o c t e t &= (1<< b i t ) ) #define IS SET ( o c t e t, b i t ) ( ( o c t e t & (1<< b i t ) )! = 0 ) #define IS CLEAR( o c t e t, b i t ) ( ( o c t e t & (1<< b i t )) == 0 ) #endif 9 L opération OU se fait bit à bit avec les règles suivantes : (0 OU 0)=0 ; (0 OU 1)=1 ; (1 OU 0)=1 ; (1 OU 1)=1 10 Une macro est une fonction écrite à l aide d un #define

17 II.3. LES INTERRUPTIONS AVEC IMAGECRAFT AVR 15 Enregistrez ce fichier sous le nom fonctions utiles.h dans le répertoire debut. Pourquoi.h alors qu avant c était debut.c? Et bien parce que la règle veut que les fichiers secondaires soient dans un header. Mais dans un header, on ne peut écrire que des #define et non du code. Dans ce cas, on sépare les #define qu on met dans un.h et les portions de code qu on met dans un.c qui porte le même nom que le.h. Ensuite clic droit sur Header dans la partie droite de votre écran puis Add Files... pour ajouter les fonctions utiles au projet. Puis il faut dire au programme principal qu il a le droit d utiliser ce fichier. Cela se fait en mettant : #include fonctions utiles.h juste après les autres #include. Les plus observateurs auront remarqué que l ont a mis des guillemets au lieu de <> comme à la page 12. Les <> signifient que le fichier se trouve dans le répertoire où est installé le compilateur alors que les guillemets indiquent que le fichier est dans le même répertoire que le projet. On peut maintenant utiliser les macros SET BIT et CLEAR BIT dans la fonction main. Par exemple : pour mettre à 1 le bit 0 de DDRA. SET BIT(DDRA,0); II.3 Les interruptions avec ImageCraft AVR Nous avons vu, en page 9 que la gestion des interruptions est lourde à faire en assembleur. Heureusement, le C et Imagecraft sont là pour nous aider. Si les étapes 1,2 et 5 restent inchangées, voilà comment faire pour s occuper des étapes 3 et 4. Pour l exemple, nous allons allumer une LED sur PA0 dès que la patte PD0 passe à 1, PD0 étant la patte correspondant à INT0, l interruption externe n o 0. Lors du déclenchement d une interruption, le programme principal est interrompu et une certaine fonction s exécute. Dans notre cas, cette fonction va allumer la LED, appelons-la allume si vous le voulez bien. Si tous les #include ont été correctement fait, la fonction s écrit facilement par : void allume ( ) { SET BIT(PORTA, 0 ) ; } Il faut maintenant dire au compilateur que c est cette fonction qui doit être appelées lors de l interruption externe. Pour cela, Imagecraft possède la déclaration : #pragma interrupt handler nom de la fonction:iv nom de l interruption. Dans notre exemple, on aura donc : #pragma i n t e r r u p t h a n d l e r allume : iv INT0 ; Ainsi, l interruption INT0 exécutera la fonction allume quand elle se déclenche.

18 16 CHAPITRE II. LA PROGRAMMATION DES MICROCONTRÔLEURS EN C Reste à écrire le reste et on obtient in fine : #include <iom128v. h> #include f o n c t i o n s u t i l e s. h #pragma i n t e r r u p t h a n d l e r allume : iv INT0 void allume ( ) { SET BIT(PORTA, 0 ) ; } void main ( void ) { SET BIT(DDRA, 0 ) ; // l a p a t t e 0 du p o rt A e s t une s o r t i e CLEAR BIT(DDRD, 0 ) ; // l a p a t t e 0 du p o rt D e s t une e n t r e e EICRA = 0 x03 ; EICRB = 0 x00 ; EIMSK = 0 x01 ; TIMSK = 0 x00 ; ETIMSK = 0 x00 ; asm( s e i ) ; while ( 1 ) ; } Les valeurs attribuées à EICRA, EICRB, EIMSK, TIMSK et ETIMSK sont trouvées d après la datasheet. asm( sei ) est expliqué dans le paragraphe suivant. Le compilateur se charge de terminer la fonction traitant une interruption par l instruction reti au lieu d un ret habituel, le développeur n a rien à se soucié. Dans l exemple donné, le microcontrôleur exécute sans cesse l instruction while(1), c est-à-dire ne fait rien. Dès que la patte PD0 passe à 1, la fonction allume() est appelée. Lorsqu elle se termine, le microcontrôleur retourne où il s était arrêté, c est-à-dire à l instruction while(1). II.4 L assembleur dans un programme en C Il est parfois nécessaire d insérer des commandes assembleur directement dans le code C. Cela se fait via l instruction asm("instruction en assembleur") ; qui insère l instruction en assembleur dans le code compilé. Voici quelques exemples les plus fréquents : asm( nop ) ; // i n s t r u c t i o n ne f a i s a n t r i e n pendant un c y c l e d h o r l o g e asm( s e i ) ; // l e s i n t e r r u p t i o n s sont p r i s e s en compte asm( c l i ) ; // l e s i n t e r r u p t i o n s ne sont p l u s p r i s e s en compte Un autre cas où le recours à l assembleur est nécessaire est lorsque l on cherche à mettre une temporisation d une durée précise. Dans ce cas, on n a d autres choix que de regarder le code compilé en assembleur pour voir combien de temps nos instructions durent afin d adapter la longueur de la boucle de temporisation. II.5 Quelques compléments sur le compilateur ICC AVR Ce compilateur fournit un outil très utile pour tous développeurs : l Application Builder qui se trouve dans le menu Tools. Cet outil écrit automatiquement les lignes de configurations du microcontrôleur selon les besoins que vous aurez spécifiés. Ainsi, il devient facile de démarrer un projet nécessitant la gestion de plusieurs Timers/Counters, d interruptions multiples ou de

19 II.5. QUELQUES COMPLÉMENTS SUR LE COMPILATEUR ICC AVR 17 communication USART sans avoir à ouvrir la datasheet du microcontrôleur pour trouver quels registres doivent être initialisés et avec quelles valeurs. J ai remarqué quelques problèmes avec le compilateur au sujet de la gestion des entiers longs. En effet, si les opérations sur les int et les float ne posent aucuns problèmes, il n en est pas de même pour les long. Si vous souhaitez faire des calculs sur de grands entiers, préférez donc l utilisation de float partout. Ce problème est facilement repérable grâce à la simulation des programmes, ce que je vais vous présenter dans le chapitre suivant.

20 18 CHAPITRE II. LA PROGRAMMATION DES MICROCONTRÔLEURS EN C

Carte ARDUINO UNO Microcontrôleur ATMega328

Carte ARDUINO UNO Microcontrôleur ATMega328 Microcontrôleurs EI3 Option AGI Carte ARDUINO UNO Microcontrôleur ATMega328 B. Cottenceau B311 ISTIA bertrand.cottenceau@univ-angers.fr Microcontrôleurs 1/23 1 Introduction Le modèle UNO de la société

Plus en détail

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

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

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

Premiers Pas avec OneNote 2013

Premiers Pas avec OneNote 2013 Premiers Pas avec OneNote 2 Présentation de OneNote 3 Ouverture du logiciel OneNote 4 Sous Windows 8 4 Sous Windows 7 4 Création de l espace de travail OneNote 5 Introduction 5 Présentation des différentes

Plus en détail

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF 11069 DF 08 / 10 Manuel d utilisation ProCod TWK France 13-15, avenue de Stalingrad 93170 BAGNOLET T. 01 43 62 00 05 F. 01 43 63

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

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : 1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

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

Dragon Naturally Speaking 13

Dragon Naturally Speaking 13 Année 2015 Dragon Naturally Speaking 13 Guide premier pas Nathalie Macé / Grégoire Duval PROJET ORDYSCAN 1 Table des matières Introduction 3 Pourquoi utiliser Dragon Naturally Speaking avec les élèves

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

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

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Mes documents Sauvegardés

Mes documents Sauvegardés Mes documents Sauvegardés Guide d installation et Manuel d utilisation du logiciel Edition 13.12 Photos et illustrations : Copyright 2013 NordNet S.A. Tous droits réservés. Toutes les marques commerciales

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

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

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

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015 Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015 ATTENTION : Consignes aux candidats qui doivent encrypter leur clé USB : Une fois votre ordinateur démarré, avant de lancer Securexam (CA), procédez

Plus en détail

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE. COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE. RESUME le fichier exécutable «morsebinaire_win_orphygts II_v2.exe», est un logiciel de démonstration permettant de faire

Plus en détail

Guide de l utilisateur

Guide de l utilisateur Guide de l utilisateur 25220A À propos de ce guide Merci d avoir fait l acquisition de l ardoise numérique à écran LCD Boogie Board Sync 9.7. Ce guide vous aidera à utiliser l ardoise numérique Boogie

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

Belgacom Forum TM 3000 Manuel d utilisation

Belgacom Forum TM 3000 Manuel d utilisation Belgacom Forum TM 3000 Manuel d utilisation Forum 3000 Manuel d utilisation Table des matières Section 1. Introduction 3 1.1 Aperçu du Forum 3000 3 1.2 Indicateurs du panneau frontal 4 1.3 Connecteurs

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

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

COURS WINDEV NUMERO 3

COURS WINDEV NUMERO 3 COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev

Plus en détail

Sous réserve de modifications techniques et des disponibilités, fabrication française.

Sous réserve de modifications techniques et des disponibilités, fabrication française. Sous réserve de modifications techniques et des disponibilités, fabrication française. Table des matières PARTIE 1 : GÉNÉRALITÉS CHAPITRE 1 : FONCTIONNEMENT GÉNÉRAL Fonctionnement général... 5 CHAPITRE

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

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

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE Utilisation des TBI UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE T B utoriel de base, ce mode d emploi a pour objectif de vous présenter les principales

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

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

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

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

Manuel d installation Lecteur XM3

Manuel d installation Lecteur XM3 Manuel d installation Lecteur XM3 Conditions, Les Transactions, les livraisons, etc seront effectuées selon les conditions générales de livraisons, déposées à la Chambre de Commerce de Mappel, Pays Bas.

Plus en détail

Procédure appropriée pour éditer les diagrammes avec ECM Titanium

Procédure appropriée pour éditer les diagrammes avec ECM Titanium Procédure appropriée pour éditer les diagrammes avec ECM Titanium Introduction: Dans ce document vous trouverez toutes les renseignements dont vous avez besoin pour éditer les diagrammes avec le logiciel

Plus en détail

Guide de l utilisateur Mikogo Version Windows

Guide de l utilisateur Mikogo Version Windows Guide de l utilisateur Mikogo Version Windows Table des matières Création d un compte utilisateur 3 Téléchargement et installation 4 Démarrer une session 4 Joindre une session 5 Fonctionnalités 6 Liste

Plus en détail

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B Excel : Réalisation d un classeur Compta Saisir les étiquettes Renommer la première feuille Compta Laisser la première ligne vide et sur la deuxième ligne saisir les étiquettes Se placer sur A2 et saisir

Plus en détail

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

Infolettre #6: SkyDrive

Infolettre #6: SkyDrive Infolettre #6: SkyDrive Table des matières AVANTAGES DE SKYDRIVE 2 DÉSAVANTAGES DE SKYDRIVE 2 INSCRIPTION AU SERVICE 2 MODIFIER VOTRE PROFIL 4 AJOUTER UN DOSSIER 5 AJOUTER DES FICHIERS DANS LE DOSSIER

Plus en détail

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad 1. Découvrir l ipad Vous allez le voir au cours de ce premier chapitre, l utilisation de l ipad est très intuitive et, surtout, votre tablette obéit au doigt et à l œil. Vous ne pourrez bientôt plus vous

Plus en détail

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt Procédure pas à pas de découverte de l offre Service Cloud Cloudwatt Manuel Utilisateur 03/07/2014 Cloudwatt - Reproduction et communication sont interdites sans autorisation 1/45 Contenu 1. Introduction...

Plus en détail

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0 opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0 SOMMAIRE SOMMAIRE 1- INTRODUCTION... 4 1.1 Standard Automatique...4 1.2 Messagerie

Plus en détail

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Document de formation T I A Page 1 sur 23 Module A5 Ce document a été édité par Siemens

Plus en détail

Configurer et sécuriser son réseau sans fil domestique

Configurer et sécuriser son réseau sans fil domestique Configurer et sécuriser son réseau sans fil domestique Présentateur: Christian Desrochers Baccalauréat en informatique Clé informatique, 22 mars 2007 1 Avant de débuter Qui suis-je? À qui s adresse cette

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

ENVOI EN NOMBRE DE MESSAGES AUDIO

ENVOI EN NOMBRE DE MESSAGES AUDIO ENVOI EN NOMBRE DE MESSAGES AUDIO 2 Téléchargement 3 Installation 7 Ecran d accueil 12 Importation d un fichier d adresses à partir d Excel 15 Création des messages téléphoniques 17 Création du planning

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) I. L'intérêt de la conversion de données, problèmes et définitions associés. I.1. Définitions:

Plus en détail

GUIDE Excel (version débutante) Version 2013

GUIDE Excel (version débutante) Version 2013 Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Boîtier disque dur SATA 3,5 pouces Fonction économie d énergie

Boîtier disque dur SATA 3,5 pouces Fonction économie d énergie Boîtier disque dur SATA 3,5 pouces Fonction économie d énergie PX-1106 Chère cliente, Cher client, Nous vous remercions pour l achat de ce boîtier de disque dur. Faites de votre disque dur une mémoire

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

PocketNet SNMP/Modbus

PocketNet SNMP/Modbus Volume 1 RBEI-ADISCOM Manuel utilisateur PocketNet SNMP/Modbus CONVERTISSEUR SERIE - ETHERNET Manuel utilisateur PocketNet SNMP/Modbus Table des matières CHAPITRE 1 Caractéristiques utiles à la mise en

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Guide d installation et d utilisation

Guide d installation et d utilisation Guide d installation et d utilisation version 16 bits pour Windows 3.1 ii Copyright Toute représentation, transmission, reproduction ou traduction dans une langue étrangère ou un langage informatiquequelconque,

Plus en détail

Table des matières...2 Introduction...4 Terminologie...4

Table des matières...2 Introduction...4 Terminologie...4 Table des matières Table des matières...2 Introduction...4 Terminologie...4 Programme EasyTour...5 Premiers pas...5 Installation...6 Installation du logiciel EasyTour...6 Branchement du téléchargeur...6

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

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

CAPTURE DES PROFESSIONNELS

CAPTURE DES PROFESSIONNELS CAPTURE DES PROFESSIONNELS 2 Téléchargement 3 Installation 8 Prise en main rapide 10 Lancement Recherche 14 Gestion des fichiers 23 Compare et Sépare 24 Fichiers annexes 2/ Le menu Utilitaires 32 Internet

Plus en détail

Enregistreur sans papier. Interface LON. B 95.5010.2.1 Description des interfaces 10.99/00370156

Enregistreur sans papier. Interface LON. B 95.5010.2.1 Description des interfaces 10.99/00370156 Enregistreur sans papier Interface LON B 95.5010.2.1 Description des interfaces 10.99/00370156 Sommaire 1 Introduction 3 1.1 Préambule... 3 1.2 Conventions typographiques... 4 1.2.1 Avertissement... 4

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

Débuter avec Excel. Excel 2007-2010

Débuter avec Excel. Excel 2007-2010 Débuter avec Excel Excel 2007-2010 Fabienne ROUX Conseils & Formation 10/04/2010 TABLE DES MATIÈRES LE RUBAN 4 LE CLASSEUR 4 RENOMMER LES FEUILLES DU CLASSEUR 4 SUPPRIMER DES FEUILLES D UN CLASSEUR 4 AJOUTER

Plus en détail

Manuel d utilisation de la messagerie. http://zimbra.enpc.fr

Manuel d utilisation de la messagerie. http://zimbra.enpc.fr Manuel d utilisation de la messagerie http://zimbra.enpc.fr ÉCOLE DES PONTS PARISTECH/ DSI JANVIER 04 SOMMAIRE. Connexion à la messagerie.... Présentation générale de l écran d accueil.... Déconnexion...

Plus en détail

Connecteur Zimbra pour Outlook 2007 et 2010 (ZCO) w

Connecteur Zimbra pour Outlook 2007 et 2010 (ZCO) w w Procédure Messagerie Outlook 2007 et 2010 Solutions informatiques Connecteur Zimbra pour Microsoft Outlook 2007 et 2010 (ZCO) 1/46 SOMMAIRE 1 Introduction... 3 2 Compatibilité... 3 2.1 Versions supportées

Plus en détail

Le multiplexage. Sommaire

Le multiplexage. Sommaire Sommaire Table des matières 1- GENERALITES... 2 1-1 Introduction... 2 1-2 Multiplexage... 4 1-3 Transmission numérique... 5 2- LA NUMERATION HEXADECIMALE Base 16... 8 3- ARCHITECTURE ET PROTOCOLE DES RESEAUX...

Plus en détail

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET Brancher / débrancher l ordinateur de la prise Allumer / éteindre l ordinateur : pour allumer ou éteindre l ordinateur vous devez appuyer sur le bouton On/off

Plus en détail

Tutorial Terminal Server sous

Tutorial Terminal Server sous Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : xenon33@free.fr Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal

Plus en détail

Comment se connecter au dossier partagé?

Comment se connecter au dossier partagé? Comment se connecter au dossier partagé? Physique Strasbourg Ingénierie 4 avril 2013 Table des matières 1 But du tutoriel 1 2 Client FTP : Filezilla 2 2.1 Téléchargement et installation du client de partage......................

Plus en détail

Conférence sur les microcontroleurs.

Conférence sur les microcontroleurs. Conférence sur les microcontroleurs. Le microcontrôleur Les besoins et le développement. Vers 1970, pour des calculs (calculatrice). Le premier est le 4004 de Intel, 90K. La technologie. Les 2 principales

Plus en détail

2 Raccordement d une imprimante, d un terminal ou d un ordinateur au DULCOMARIN

2 Raccordement d une imprimante, d un terminal ou d un ordinateur au DULCOMARIN 1 Généralités L interface sérielle selon RS 232 sert exclusivement à l édition automatique des valeurs mesurées et des messages du DULCOMARIN sur une imprimante ou un PC. La longueur de caractères d une

Plus en détail

Guide d utilisation WEBPORTAL CPEM Portail d Applications Web CPEM

Guide d utilisation WEBPORTAL CPEM Portail d Applications Web CPEM Guide d utilisation WEBPORTAL CPEM Portail d Applications Web CPEM Ce guide vous aidera à installer et à mettre en place les modules nécessaires afin d accéder à vos Applications Web SOMMAIRE I. Pré requis...

Plus en détail

A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs

A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Diverses méthodes d import de lecteurs Les données (noms, prénoms, adresses. des lecteurs) proviennent en général du secrétariat, et se trouvent

Plus en détail

Traitement de texte : Quelques rappels de quelques notions de base

Traitement de texte : Quelques rappels de quelques notions de base Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui

Plus en détail

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits Manuel d initiation du Planificateur 2 INTRODUCTION 5 CHAPITRE I : INSTALLATION

Plus en détail

À propos de cette page... 27. Recommandations pour le mot de passe... 26

À propos de cette page... 27. Recommandations pour le mot de passe... 26 Rebit 5 Help Table des matières Apprentissage... 1 Création du premier point de restauration... 1 Que fait le disque de sauvegarde Rebit 5?... 1 Fonctions de Rebit 5... 1 Création du premier point de restauration...

Plus en détail

Guide d utilisation 2012

Guide d utilisation 2012 Guide d utilisation 2012 Tout ce dont vous avez besoin pour bien démarrer REACOM La performance marketing SOMMAIRE Démarrez avec reagiciel Accédez à votre console d administration 4 Gestion internet Aperçu

Plus en détail

COMMENCER AVEC VUE. Chapitre 1

COMMENCER AVEC VUE. Chapitre 1 Chapitre 1 COMMENCER AVEC VUE Traduction en français du premier chapitre du manuel d'utilisation du logiciel VUE. Traduit de l'américain par Bernard Aubanel. CRÉER UNE NOUVELLE CARTE Pour ouvrir VUE: 1.

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Configurer un réseau domestique. Partager ses fichiers, ses dossiers et ses imprimantes sur tous ses PC.

Configurer un réseau domestique. Partager ses fichiers, ses dossiers et ses imprimantes sur tous ses PC. Configurer un réseau domestique. Partager ses fichiers, ses dossiers et ses imprimantes sur tous ses PC. Pour être le plus complet possible, je vais supposer posséder 3 PC : PC de bureau sous Windows XP

Plus en détail

Guide plateforme FOAD ESJ Lille

Guide plateforme FOAD ESJ Lille Guide plateforme FOAD ESJ Lille v. 1.2 «étudiants» septembre 2014 Réalisé par Maxime Duthoit Ingénieur pédagogique multimédia à l ESJ Lille Sommaire Introduction... 1 1. Accueil et connexion... 2 2. Accueil

Plus en détail

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION Surveillance de niveau par sonde résistive MT-703 LOREME 12, rue des Potiers d'etain Actipole BORNY - B.P. 35014-57071 METZ CEDEX 3 Téléphone 03.87.76.32.51

Plus en détail

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011 LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011 COPIER LE FICHIER LECON 1_02 DU DISQUE D : VERS LA CLE USB Cliquez gauche deux fois sur l'icône POSTE DE TRAVAIL Cliquez gauche deux fois sur DONNEES

Plus en détail

Ajouter de la mémoire à son ordinateur

Ajouter de la mémoire à son ordinateur Ajouter de la mémoire à son ordinateur Votre ordinateur se traine et vous avez envie de lui donner un coup de fouet? Ajoutez-lui de la mémoire! En augmentant la mémoire vive de votre ordinateur, le disque

Plus en détail

Manuel d installation et d utilisation du logiciel GigaRunner

Manuel d installation et d utilisation du logiciel GigaRunner Manuel d installation et d utilisation du logiciel GigaRunner Manuel Version : V1.6 du 12 juillet 2011 Pour plus d informations, vous pouvez consulter notre site web : www.gigarunner.com Table des matières

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

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

Guide de démarrage rapide. (pour la version 5.0.)

Guide de démarrage rapide. (pour la version 5.0.) Guide de démarrage rapide (pour la version 5.0.) 2 Table des matières Introduction Réglages de l application MyTalk Mobile 1. MODIFICATION 2. DEMARRER 3. AFFICHER 4. SYNTHETISEUR VOCAL 5. NOMBRE DE MOTS

Plus en détail

INSTALLATION MODULE WEB

INSTALLATION MODULE WEB INSTALLATION MODULE WEB NOTICE INSTALLATEUR CP015551 02/02/2012 Version 2.0 CP015551 23/04/14 V2.1 - page 1 - BLOSOL COMBI Sommaire 1. COMPOSITION... 3 2. GENERALITE... 4 2.1. Présentation du module...

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

Styler un document sous OpenOffice 4.0

Styler un document sous OpenOffice 4.0 Mars 2014 Styler un document sous OpenOffice 4.0 Un style est un ensemble de caractéristiques de mise en forme (police, taille, espacement, etc.) qui sert à structurer un document en l organisant de manière

Plus en détail

Leçon N 4 Sauvegarde et restauration

Leçon N 4 Sauvegarde et restauration Leçon N 4 Sauvegarde et restauration La majorité des ordinateurs portables sont vendus maintenant sans CD de restauration permettant de remettre l ordinateur tel qu il était à sa sortie d usine. Or il

Plus en détail

TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X

TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X CARACTERISTIQUES 3 entrées. 4 numéros de téléphone par entrée, programmés à l aide d un clavier numérique intégré. Un message de 10 secondes par entrée, et un de

Plus en détail

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année TD de supervision J.P. Chemla Polytech Tours Département productique 2ème année 1 Présentation de l équipement On veut superviser une cuve dans un batiment. Les informations à visualiser sont les suivantes

Plus en détail

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & '  ( ) '*+ , ##) #  -. /0  1 2  3. SIMULATION 7  - 4. TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3! " #$ % & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3' & 3. SIMULATION 7 0 ( 0, - 0 - " - & 1 4. LA SOURIS 11 5. LES RACCOURCIS CLAVIER 11 STI Electronique

Plus en détail