Programmation des PIC en C

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

Download "Programmation des PIC en C"

Transcription

1 Programmation des PIC en C Microcontrôleur facile pour électronicien amateur PARTIE 1 Noxyben

2 Introduction... 3 Intérêt de la programmation en langage C... 4 Choix du compilateur... 5 Choix d un PIC : le 16F Choix du programmateur... 7 Structure du PIC 16F77... Le cœur du PIC : le microprocesseur... 9 La mémoire La Pile et le Compteur Programme Les Ports d Entrées/Sorties généraux : PORTA, PORTB, PORTC, PORTD, PORTE Le Port Parallèle Esclave (PSP : Parallel Slave Port) Le circuit de génération d horloge... 1 Le TIMER Le TIMER Le TIMER Les modules CCP1 et CCP Le convertisseur Analogique Digital 10bits : L USART Le SSP, Synchronous Serial Port La logique de RESET L In-Circuit Debugger Low-Voltage Programming et ICSP (In-Circuit Serial Programming) Les Bits de Configuration Les Interruptions Le mode SLEEP Brochage du PIC16F Conclusion

3 Introduction Dans un passé pas très lointain, l électronique pour les amateurs (éclairés) se résumait essentiellement aux circuits analogiques et éventuellement en logique câblée (portes logiques, compteurs, registres à décalage ). L usage des microprocesseurs était plutôt réservé à un public averti d ingénieurs sachant les interfacer avec différents circuits périphériques (eprom, ram ) et programmer en assembleur. Au fil du temps on a vu apparaître de nouveaux circuits regroupant dans une seule puce le microprocesseur et ses circuits périphériques : les microcontrôleurs. On en trouve maintenant partout : automobile, lave-vaisselle, rasoir, brosse à dent électrique L offre en microcontrôleurs s est développée d autant : plus de périphériques intégrés, capacité de calcul accrue, plus de mémoire embarquée. Il y a maintenant de nombreux fabricants de microcontrôleurs, possédant chacun plusieurs gammes allant du circuit «généraliste», véritable couteau suisse électronique, à la puce spécialisée dédiée par exemple, à la régulation de vitesse d un moteur de ventilateur. La voie royale pour tirer le maximum des performances de ces circuits est toujours la programmation en assembleur. On accède alors au moindre bit enfoui dans n importe quel registre du circuit. Cela nécessite néanmoins un investissement en temps conséquent, l assembleur n étant pas un langage très «naturel». De plus, d un constructeur à l autre, voire d un circuit à l autre dans la même gamme, il existe des différences qui obligent à réapprendre tout ou partie du langage lorsque l on change de microcontrôleur. C est un investissement intéressant pour un professionnel qui cherche à produire un code optimisé sur la puce la moins chère possible, mais pénible pour un amateur qui ne dispose que de relativement peu de temps pris sur ses loisirs. Heureusement, avec la montée en puissance des microcontrôleurs, on voit apparaître actuellement des compilateurs en langage C (voire même C++) qui permettent de gagner un temps considérable pour le développement et le débogage des programmes. Pour tous ceux qui se sont retrouvé largué sur le bord du chemin à cause de ces de microcontrôleurs, c est à mon avis une formidable opportunité de sauter dans le train de l électronique numérique et d apprivoiser ces étranges petites bêtes. Et pourquoi pas un ampli à tubes piloté par microcontrôleur? Les capacités étonnantes de ces circuits vous ouvrent un espace de créativité infini. Ce serait vraiment dommage de se passer de leurs services Une fois la décision prise «je vais me lancer dans les micros!» se pose la question du comment. On trouve sur internet toutes les informations nécessaires, la difficulté serait plutôt de les trier. Vous pouvez commencer par exemple par lire la documentation de Microchip sur la gamme de PIC «mid-range», c est une excellente idée, mais ça va vous prendre du temps (plus de 00 pages!) Dans le but de vous simplifier la tâche, je vais essayer dans le présent ouvrage de synthétiser quelque peu ces informations. Et pour éviter la frustration du «je saurais utiliser un microcontrôleur PIC, mais avant je dois me taper un bouquin de 1000 pages» je vais tâcher d utiliser une approche progressive permettant de, très rapidement, créer de véritables petits circuits

4 Intérêt de la programmation en langage C Tout d abord, les inconvénients : Un compilateur C produit du code plus volumineux et moins performant que ce que sait faire un bon programmeur en assembleur. De plus, selon le compilateur employé, on n accède plus difficilement, voire pas du tout à certaines ressources de bas niveau. Et n ayant plus besoin de plonger les mains dans le cambouis, on risque également de moins approfondir l étude du microcontrôleur utilisé. Un dernier point : les compilateurs C sont souvent payants. En contrepartie, il y a de sacrés avantages : connaître la programmation en C permet de créer des programmes sur de multiples plateformes, à commencer par les PC. Autrement dit, les connaissances utilisées sont en grande partie réutilisables. Le C est un langage de «haut niveau», comparé à l assembleur, qui permet d écrire des programmes nettement plus intelligibles et donc plus faciles à relire et corriger ou modifier. Le compilateur contrôle la cohérence du code au moment de la compilation et signale bon nombre d erreurs, qui seront autant de bogues en moins à corriger. Le compilateur prend en charge la gestion d un certain nombre de mécanismes fastidieux : par exemple, pas besoin de spécifier la page mémoire dans laquelle on veut écrire, le compilateur s en charge! De plus, certains compilateurs permettent tout de même d accéder à des ressources de bas niveau, voir même d insérer dans le code des portions d assembleur. A vrai dire, à moins d être un «pro» de l assembleur, vous pourrez certainement créer avec un bon compilateur C un code plus propre et plus robuste, en nettement moins de temps. Et, cerise sur le gâteau, le portage d un de vos programmes sur un nouveau microcontrôleur sera nettement simplifié. Pour bien fixer les idées sur la différence de niveau de langage entre assembleur et C, je vais donner un exemple. Soit à décrire une action simple : ouvrir la fenêtre de la pièce dans laquelle vous êtes actuellement. En assembleur ça donnerait : - soulever pied droit - avancer pied droit - poser pied droit - soulever pied gauche - avancer pied gauche - poser pied gauche - soulever pied droit - avancer pied droit -. - Sélectionner bras gauche - Soulever bras - Avancer bras - Prendre poignée fenêtre dans main gauche - Tourner poignée de Tirer poignée - Etc. En C ce serait plutôt : - Ouvrir la fenêtre Et c est le compilateur qui se chargerait de traduire la fonction «ouvrir la fenêtre» en instructions élémentaires compréhensibles par le microcontrôleur. Alors, merci qui? Merci le C! - 4 -

5 Choix du compilateur Il y a sur le marché plusieurs compilateurs C. Le microcontrôleur étudié ici étant un PIC Microchip, la solution la plus évidente consiste à voir ce que propose Microchip : Si on nous propose bien des compilateurs, ceux-ci sont payants et ne couvrent que le haut de la gamme des PIC, ce qui est un peu luxueux pour un amateur désirant s initier à l utilisation de ces petites bêtes. D autres éditeurs proposent également des compilateurs dont certains sont très complets, livrés avec des bibliothèques simplifiant l utilisation des périphériques du PIC. Malheureusement, ici encore c est assez cher, jusqu à plusieurs centaines d euros pour un environnement de développement intégré couvrant l essentiel de la gamme des PIC. Heureusement il existe des alternatives moins onéreuses. Par exemple, en cherchant bien sur internet on peut dénicher des compilateurs freeware en ligne de commande. Mon choix s est porté sur le compilateur BoostC de la société SourceBoost, pour les raisons suivantes : Il existe une version gratuite avec quelques limitations mineures (taille du code généré ) permettant de se faire la main et de créer des applications personnelles, les versions payantes (à des tarifs très raisonnables) permettent de créer des applications commerciales et d avoir accès au code source des bibliothèques. BoostC est livré avec un environnement de développement intégré facilitant le développement d applications. Le langage est du C «ANSI», avec toutefois quelques extensions destinées à tirer pleinement parti de toutes les spécificités des microcontrôleurs PIC. Et surtout, BoostC reste assez proche du matériel : on peut très facilement accéder à tous les bits d un registre quelquonque. On peut faire l essentiel de ce qu il est possible de faire en assembleur, avec les contraintes en moins. Ce qui sous-entend néanmoins de s intéresser d assez près à la structure du PIC et de des différents sous-ensembles. A noter que SourceBoost propose également un compilateur C++ pour PIC, ainsi qu un compilateur Basic

6 Choix d un PIC : le 16F77 Pour apprendre, la meilleurs solution est de se faire la main sur du concret. On va donc étudier un vrai microcontrôleur, sachant que ce qui aura été vu sera assez facilement transposable à d autres PIC. Le 16F77 est un PIC de la série «Midrange» qui se prête particulièrement bien à la programmation en C. Les PIC de la série inférieure sont un peu justes en performance et en capacité mémoire pour accueillir un programme issu d un compilateur C ; mieux vaut les programmer en assembleur. Les gammes supérieures (16 ou 32 bits) supportent sans problème la programmation en C, mais comme se sont des circuits plus complexes (et plus chers), commençons par quelque chose de plus simple et de plus didactique. Le 16F77 (F comme «Flash») convient parfaitement : mémoire programme de taille suffisante (K), nombreux périphériques intégrés, fréquence de fonctionnement jusqu à 20 MHz. Tout ce qu il faut pour créer des applications sympa en s amusant! - 6 -

7 Choix du programmateur Une fois le programme créé, il faudra le transférer dans la mémoire programme du PIC. Pour cela, il existe plusieurs solutions : Vous pouvez construire votre propre programmateur. De nombreuses variantes existent, il suffit de faire une recherche sur le net pour s en rendre compte. Ces programmateurs se raccordent sur un port série RS232 ou parallèle. A vrai dire la majorité des circuits ont un air de famille. Pas sûr néanmoins que tous fonctionnent. Si vous vous engagez dans cette voie, un des «design» les plus rigoureux est certainement celui proposé par Microchip dans une de ses «Application Note» (à voir sur le site de Microchip). Vous pouvez aussi acheter un programmateur tout fait, en état de marche. Il en existe pour port série, parallèle et, USB! Sachant que les ports série RS232 et parallèle tendent à disparaître au profit de l USB, cette dernière option, bien que souvent un peu plus onéreuse semble être un bon choix. Il existe en outre des outils permettant à la fois de programmer le microcontrôleur, mais aussi de le déboguer en temps réel et tout ça avec le microcontrôleur en place dans son circuit d application (voir les outils proposés par Microchip à ce sujet). Enfin, il y a la solution du programmateur en kit. Après m être lancé dans un premier temps dans la réalisation d un programmateur «home made» (décrit dans un livre fort onéreux) qui n a jamais daigné fonctionner, je me suis tourné vers cette dernière solution : Un programmateur en kit Velleman K076 pour une quarantaine d euros (c'est-à-dire moins cher que le prix des composants de celui que j ai vainement tenté de réaliser moi-même), équipé d un support ZIF (Zéro Insertion Force). Il permet en outre la programmation «in-circuit», et est livré avec un logiciel de transfert compatible avec l essentiel de la gamme des PIC. Des mises à jour étant disponibles sur le site de Velleman pour les circuits les plus récents. Il faut procéder au montage soi-même, mais ça marche du premier coup! (du moins si vous êtes rigoureux au moment du montage). Le seul inconvénient : il s agit ici d un programmateur à raccorder sur port RS232, donc impossible à raccorder sur un pc portable récent. Un jour ou l autre il faudra bien passer par l USB

8 Structure du PIC 16F77 OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register Le schéma ci-dessus représente les différents modules du PIC 16F77. Ca a l air un peu complexe au premier abord, une visite guidée nous permettra d y voir plus clair. - -

9 Le cœur du PIC : le microprocesseur Un microcontrôleur, c est avant tout un microprocesseur, une unité de traitement logique qui effectue l une après l autre les opérations contenues dans un microprogramme stocké en mémoire (la mémoire FLASH). On peut le voir sur le schéma (en jaune ci-dessous), il est essentiellement composé de l «ALU» (Unité Arithmétique et Logique) qui effectue les opérations sur les donnés, le registre de travail «W reg.», le multiplexeur «MUX», le registre de statut «status reg», le registre «FSR reg» utilisé pour l adressage indirect (en assembleur ), le multiplexeur d adresse «Addr mux», le compteur programme «Program Counter» qui pointe les instructions à exécuter, la pile à niveaux «level Stack», le registre d instruction «Instruction reg», ainsi que les différents bus qui relient tous ces éléments entre eux. OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register - 9 -

10 On n entrera pas ici dans les détails du fonctionnement d un microprocesseur ; c est très intéressant à connaître, indispensable même si on programme en assembleur. Mais en ce qui nous concerne, on veut programmer en C, et c est donc le compilateur qui se chargera de traduire notre code source en instructions de basniveau pour le microprocesseur contenu dans le PIC. C est là le principal avantage de la programmation en C : on prend du recul par rapport au fonctionnement intime du système. On se concentre d avantage sur «ce que fait le programme» que sur «comment fonctionne le programme». On va tout de même jeter un petit coup d œil sur le schéma ci-dessus, histoire de comprendre quelques particularités du PIC, déroutantes au premier abord. On s aperçoit que les bus autour de l ALU ont un format de bits : le PIC 16F77 travaille sur des données de bits, c est donc bien un microcontrôleur bits! (logique ). Pourquoi donc ce cas le «Program Bus» est-il, lui, large de 14 bits? C est simple, certaines instructions peuvent être codées sur plus de bits. Si ce bus n était large que de bits, il faudrait plus d un cycle d horloge pour transmettre ces instructions, alors qu avec un bus plus large, ça passe en une fois. De plus, la mémoire programme, indépendante du bus de données, est elle-même adressée avec un bus large : le «Program Counter», qui pointe sur l instruction en cours, à une largeur de 13 bits. Et avec 13 bits on peut coder environ 000 adresses. Autrement dit, on à 000 cases de mémoire programme pouvant contenir chacune 1 instruction complète. Cette architecture avec bus de données et de programme séparés (architecture «Harvard») permet donc d optimiser le fonctionnement du PIC. La plupart du temps, votre PIC exécute une instruction et charge la suivante simultanément en un seul cycle d horloge. En comparaison, un microcontrôleur bits construit selon l architecture concurrente «Von Neumann» (mémoire programme et données reliés au microprocesseur par un unique bus bits) devra faire plusieurs cycles pour chercher les instructions en mémoire (en plusieurs fois si c est une instruction longues) et les exécuter ensuite. En conséquence, à fréquence d horloge égales, un microprocesseur «Harvard» sera plus rapide qu un «Von Neumann»

11 La mémoire Sur le PIC, il n y a pas une mais trois mémoires : OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register La Mémoire Programme, de type FLASH sur le 16F77. Capacité : K. C est dans celle-ci qu est stocké le programme du PIC. Après compilation de votre code, le compilateur génère un fichier «.hex», une suite de codes hexadécimaux. Celui-ci est transféré ensuite dans la mémoire programme du PIC à l aide du programmateur. Cette mémoire n est pas reliée au bus de données (DATA Bus), sa vocation est de stocker le programme du PIC, mais PAS les variables de votre programme. Le gros avantage de la mémoire FLASH c est que vous pouvez la réécrire, donc implanter un nouveau programme dans le PIC. Les PIC existent également avec d autres versions de mémoire programme (non-flash), certaines ne pouvant être programmée qu une seule fois

12 La Mémoire RAM, qui fait partie de la zone d adressage des données. Elle comprend tous les registres spéciaux permettant de contrôler le cœur du PIC ainsi que ses périphériques. Elle contient également des cases mémoires à usage générique dans lesquelles pourront être stockées les variables de nos futurs programmes. La Mémoire EEPROM. L EEPROM est plutôt une mémoire de stockage de données à long terme, alors que la RAM est utilisée pour les variables du programme. Sur le PIC 16F77, on a 256 octets d EEPROM disponible. Les mémoires de type EEPROM sont limitées en nombre de cycles d effacement / écriture. Ce nombre de cycle est tout de même de l ordre du million pour le PIC, mais si on l utilisait pour stocker des variables modifiées plusieurs milliers de fois par secondes, cette limite pourrais être atteinte plus vite qu on ne le croît. Par contre, pour stocker toute les heures une mesure de température, c est tout bon!

13 La Pile et le Compteur Programme On les a déjà évoqués dans le paragraphe «le cœur du PIC : le microprocesseur», mais puisqu on vient de parler de la mémoire, une petite remarque s impose. OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

14 Le «Program Counter» ou PC est le compteur qui pointe dans la mémoire programme la prochaine instruction à exécuter. Il est lié à la pile système (Pile = Stack en anglais) qui est sur le PIC 16F77 une pile niveaux. Qu est ce que cela signifie? Simplement qu on peut avoir jusqu'à niveaux d imbrication d appels de sous-programme ou fonctions. Ce point est surtout critique pour la programmation en assembleur : un sous-programme peut appeler un autre sous-programme qui appelle à son tour un autre sous-programme jusqu à une «profondeur» de. Au-delà, c est la cata : votre programme est buggé et va faire n importe quoi, étant donné que le PIC ne peut «dépiler» que niveaux. Le Compteur Programme n arrivera pas à revenir à la racine des appels. La programmation en C apporte là un peu de souplesse : un bon compilateur veillera pour vous à ce que la limite de niveaux ne soit pas dépassée, quitte à recopier localement une fonction pour éviter un saut à l adresse mémoire où cette fonction est déjà présente. Au détriment donc de l occupation en mémoire. Ainsi, mieux vaut-il éviter de créer trop de niveaux d imbrication d appels de fonctions dans nos programmes

15 Les Ports d Entrées/Sorties généraux : PORTA, PORTB, PORTC, PORTD, PORTE OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

16 Le PIC 16F77 est généreusement doté de 5 ports, ce qui est plutôt confortable. Un examen plus attentif du schéma ci-dessus nous montre cependant que les lignes d entrées/sorties (les pattes du composant) correspondantes sont également utilisées par d autres modules du PIC. Ainsi, les pattes du PORTA servent également au convertisseur Analogique/Numérique, les pattes du PORTD au Port Parallèle Esclave, etc. Il faudra faire des choix au moment de la conception du schéma électronique! On voit également que les ports B, C et D ont lignes d entrée/sortie, alors que le port A n en a que 6 et le port E que 3. Ils sont tous connectés au bus de donnée (DATA BUS), on pourra donc librement les adresser pour y lire ou écrire des données, et donc allumer des LED, commander des moteurs pas à pas, des afficheurs LCD, lire les données envoyées par un clavier ou un bouton poussoir On peut configurer les entrées/sorties de chaque port en entrée ou en sortie, grâce à un registre spécial dédié à chaque port. De plus, un des ports (le port B) possède des résistances de «pull-up» internes qui peuvent êtres validées ou non par logiciel

17 Le Port Parallèle Esclave (PSP : Parallel Slave Port) OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register Le Port Parallèle Esclave est un port bits permettant d interfacer le PIC avec, par exemple, un autre microprocesseur. Les données transitent via les lignes PSP0 à PSP7, qui physiquement utilisent les mêmes broches que le PORTD. Le flux de données est contrôlé par les lignes RD, WR et CS qui correspondent aux broches du PORTE. C est le microprocesseur externe qui est le chef d orchestre : il valide notre PIC par la ligne CS (Chip Select), et indique au PIC s il lit ou écrit grâce aux lignes RD (Read) et WR (Write). D où l appellation de port parallèle ESCLAVE. Esclave, puisque c est le microprocesseur externe qui donne les ordres, notre PIC ne fait qu exécuter

18 Le circuit de génération d horloge OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register Pour faire battre le cœur de notre PIC, on a besoin d un circuit de génération d horloge. Avec les PIC «Mid Range», plusieurs options possibles : circuit RC (résistance + condensateur), ou circuit résonateur céramique, ou oscillateur à quartz... Le mode de fonctionnement est déterminé au moment de la programmation du PIC par des «bits de configuration» qui sont en fait des emplacements de mémoire non-volatile. Pour générer un «cycle d instruction», il faut 4 cycles d horloge. Autrement dit, si votre quartz bat à 20 MHz, les instructions du programme s exécutent à une cadence de 5 MHz

19 Le TIMER0 OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register Dans le passé, le 0 s appelait RTCC. C est un compteur bits (0 à 255) simple, qui compte des impulsions soit internes, soit d une source externe. On peut par ailleurs lui appliquer une pré-division programmable entre 1 et 256. On peut librement lire ou écrire dans le registre de comptage associé. On peut donc le pré charger avec une valeur, à partir de laquelle il comptera jusqu à atteindre 255. Une fois le registre de comptage plein, il peut générer une interruption. Étant donné qu une fois configuré il fonctionne quasi-indépendamment du microprocesseur, on pourra s en servir comme base de temps

20 Le TIMER1 OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

21 Le 1 fonctionne sur le même principe que le 0, mais avec un registre de comptage plus gros : 16 bits au lieu de, ce qui étend notablement ces capacités de comptage. De plus, il possède un mode de fonctionnement particulier : on peut l utiliser en association avec un des modules CCP (modules de capture et de comparaison, voir plus loin). Voyons rapidement le mode «capture» : lorsqu un événement survient sur l entrée du module CCP, la valeur du 1 est lue. Comme on connaît la fréquence de comptage, on peut en quelque sorte «chronométrer» la survenue d un événement. Exemple : si l entrée du module CCP est reliée à un capteur qui délivre une impulsion à chaque tour de l arbre d un moteur, la valeur contenue dans le registre du 1 au moment de l impulsion est le reflet de la vitesse de rotation. Voyons maintenant le mode «comparaison» : Le 1 compte en continu, et une interruption est générée chaque fois que la valeur du compteur est égale à celle qu on aura pré chargée dans le registre de comparaison. On peut s en servir pour, par exemple, générer un signal carré

22 Le TIMER2 OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register Le 2 a un fonctionnement différent des 0 et 1. C est un compteur bits avec pré-diviseur et post-diviseur. On s en sert pour générer des signaux carrés, ou, en association avec le module CCP, des signaux PWM. PWM étant l acronyme de «Pulse Width Modulation» ou, en français, Modulation de Largeur d Impulsion (MLI)

23 Les modules CCP1 et CCP2 OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

24 On en a parlé au moment de voir les 1 et 2 ; on a deux modules CCP sur le PIC. CCP pour «Capture, Compare, PWM». En association avec les deux timers, ils vont nous permettre de générer des signaux à modulation de largeur d impulsion (PWM) pour, par exemple, faire varier la vitesse d un moteur à courant continu, réguler le courant (et donc la luminosité) dans une ampoule Ils vont également nous permettre de comparer l occurrence d un signal en entrée avec la valeur du compteur 1, réalisant ainsi un chronométrage de l événement en question (par exemple : indication de la fréquence de rotation d un moteur). Ils vont encore nous permettre de générer des signaux carrés, et cela de manière quasi-indépendante du reste du microcontrôleur qui pourra continuer à vaquer à ses occupations

25 Le convertisseur Analogique Digital 10bits : OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

26 Le convertisseur A/D convertit le signal analogique présent sur une de ses entrées en son équivalent numérique, codé sur 10 bits. Les pattes AN2 et AN3 peuvent être utilisées comme références de tension ou comme entrées analogiques standard, les références de tension étant dans ce dernier cas prises sur les tensions d alimentations du PIC : VDD et VSS. (VDD pour le + et VSS pour le -). On peut donc numériser jusqu à signaux analogiques. Pas tous en même temps, bien sûr, étant donné qu il n y a qu un seul module de conversion pour signaux d entrée multiplexés. Mais si vos signaux n évoluent pas trop vite (fréquence basse), vous pouvez numériser le signal sur la patte AN0, puis celui sur AN1 Les paramètres important dont il faudra tenir compte sont : La résolution du convertisseur. Ici 10 bits, donc meilleur qu un convertisseur bits, mais moins précis qu un 12 bits Le temps de conversion. La rapidité d évolution des signaux présents sur les entrées (leur fréquence pour des signaux périodiques). Le nombre de signaux à numériser. En effet, pour un signal périodique, la fréquence d échantillonnage doit être au moins deux fois supérieure à la fréquence du signal ; mais ça tout le monde le sait déjà, non?

27 L USART OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

28 L USART ou Universal Synchronous Asynchronous Receiver Transmitter est l un des deux modules de communication série du PIC ou SCI en anglais (Serial Communication Interface). Comme son nom l indique, elle peut établir une liaison synchrone ou asynchrone, recevoir et transmettre des données, selon la manière dont elle est configurée. C est son côté «je peux tout faire» qui lui vaut l attribut «Universal». Concrètement, l USART permet de communiquer avec le reste du monde : un ordinateur ou tout autre matériel équipé d une interface série RS232, des circuits intégrés convertisseurs Numérique/Analogique ou Analogique/Numérique, des EEPROMs série L USART peut être configurée selon 3 modes : Asynchrone (Full Duplex) Synchrone Maître (Half Duplex) Synchrone Esclave (Half Duplex) - 2 -

29 Le SSP, Synchronous Serial Port OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

30 Le module SSP est la deuxième interface de communication série du PIC. En fait, il s agit d un port Maître, donc l appellation exacte est plutôt MSSP pour «Master Synchronous Serial Port». Il est utile pour communiquer avec d autres modules ou microcontrôleurs, des EEPROMs séries, des registres à décalage, des afficheurs, des convertisseurs A/N ou N/A Il peut fonctionner dans deux modes de communication : Le mode SPI (Serial Peripheral Interface) Le mode I²C (Inter-Integrated Circuit) L utilisation de l un de ces deux modules de communication, USART ou MSSP dépend donc essentiellement du protocole de communication nécessaire. Schématiquement, l USART est bien adaptée pour communiquer avec le reste de l univers via la célèbre interface RS232 alors que le MSSP permet de communiquer aisément avec d autres composants électroniques à interface série. Une dernière remarque par rapport aux interfaces de communication : certains PIC (mais pas le 16F77) intègrent une interface USB ou un module de communication Ethernet

31 La logique de RESET OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

32 La logique de reset comprend plusieurs modules : Le POWER-UP TIMER : c est une temporisation au démarrage. Lors d un démarrage ou redémarrage suite à un reset, cette temporisation permet à la tension d alimentation VDD d atteindre une valeur suffisante et stable. On évite ainsi au PIC de subir les inévitables phénomènes transitoires à la mise sous tension. Cette temporisation fonctionne avec son propre circuit RC interne. L OSCILLATOR START UP TIMER : une fois la temporisation du Power-Up écoulée, c est au tour de l Oscillator Start Up de prendre le relais. Il s agit d une temporisation dont le but est de permettre au circuit de l oscillateur de démarrer proprement. En effet, de la même manière que la tension d alimentation met un certain temps à se stabiliser, l oscillateur a besoin de temps pour démarrer et se stabiliser Le POWER-ON RESET : à la mise sous tension, lorsque VDD est détecté, ce module génère une impulsion de reset, ce qui lance le Power-Up et remet un certain nombre de registre du PIC dans un état déterminé. Habituellement on utilise un circuit externe à résistance / condensateur pour générer ce «pulse» de reset. Mais sur le PIC, à condition que l apparition de la tension d alimentation soit assez «énergique» vous pouvez vous passer de ce circuit RC. On ramène juste la tension d alimentation à travers une résistance appropriée sur la patte «MCLR» (Memory CLeaR). Le BROWN-OUT RESET : ce module surveille la tension d alimentation. Si celle-ci descend en-dessous d une valeur minimum pour laquelle le fonctionnement correct du PIC ne peut plus être assuré, le module Brown-Out redémarre (reset) le PIC. Le WATCHDOG TIMER : C est le «Chien de garde» (watchdog en anglais) du PIC. S il est utilisé, ce timer doit être périodiquement remis à zéro par le programme, car, s il «déborde», il place le PIC en mode. Ainsi, en cas de plantage de votre programme le PIC est redémarré automatiquement

33 L In-Circuit Debugger OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register Ce module permet de simplifier la phase de débogage des programmes. Une fois activé, il donne accès à des fonctionnalités avancées de débogage. Celles-ci sont exploitées par le module ICD de MPLAB, l environnement de développement intégré de Microchip. Vous pouvez alors suivre «en live» l évolution de votre programme entrain de s exécuter sur le PIC, poser des points d arrêt, lire le contenu des registres, etc

34 Low-Voltage Programming et ICSP (In-Circuit Serial Programming) OSC1 / CLKIN OSC2 / CLKOUT FLASH Program Memory Program Counter Level Stack ( 13-bit ) RAM File Registers Program 14 Bus RAM Addr (1) 9 Instruction reg Instruction Decode & Control Timing Generation 13 Direct Addr Power-up Oscillator Start-up Power-on Watchdog Brown-out In-Circuit Debugger Low-Voltage Programming 7 3 DATA Bus Addr MUX ALU W reg FSR reg STATUS reg MUX Indirect Addr Parallel Slave Port PORTA PORTB PORTC PORTD PORTE RA0 / AN0 RA1 / AN1 RA2 / AN2 / Vref- RA3 / AN3 / Vref+ RA4 / T0CKl RA5 / AN4 / SS RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 / PGD RC0 / T1OSO / T1CKL RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / SDA RC5 / SD0 RC6 / TX / CK RC7 / RX / DT RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 RD6 / PSP6 RD7 / PSP7 MCLR VDD, Vss RE0 / AN5 / RD RE1 / AN6 / WR bit A/D RE2 / AN7 / CS Data EEPROM CCP1,2 Synchronous Serial Port USART Note 1 : High order bits are from the STATUS register

35 A quoi peut bien servir ce module «Low-Voltage Programming»? Tout d abord, voyons comment le PIC est programmé habituellement. Contrairement à des modèles de microcontrôleurs plus anciens qui étaient programmés en «parallèle» (les octets étaient transférés dans la mémoire programme sur lignes), les modèles récents de PIC se programment en série. C'est-à-dire que les octets sont transmis bits après bits sur un nombre restreint de lignes. Le grand avantage c est qu on peut, moyennant certaines précautions, programmer le PIC alors qu il est déjà implanté sur le circuit imprimé de son application! Pas besoin de le retirer de son support à chaque fois (en risquant de tordre des pattes) pour le placer sur le programmateur. C est ce qu on appelle l ICSP : In-Circuit Serial Programming, ou autrement dit, en français, Programmation Série En Circuit. On programme le PIC déjà implanté, en mode de transfert série. Comment se passe la programmation ICSP? - On alimente le PIC avec sa tension de programmation, généralement 13V - On utilise pour transférer le programme les lignes RB6 (qui devient l horloge cadençant le transfert) et RB7 (pour transférer les données en écriture ou lecture). On à donc besoin d une tension de programmation, plus élevée que la tension d alimentation normale. C est pour le cas standard, mais grâce au module «Low Voltage Programming», il y a moyen de faire la même chose en ayant pas besoin de la tension de programmation. Il y a également un autre moyen de programmer notre PIC : l utilisation d un Boot loader. Qu est-ce donc? Un boot loader (traduction littérale : «chausse-pied») est un petit bout de programme que l on implante dans la mémoire du PIC et qui va «charger» le programme que vous voulez implanter dans la mémoire du PIC. Ici, plus besoin de programmateur. Si votre PIC est équipé d une interface série, ou USB, ou autre, vous pouvez transférer le programme via cette interface. C est le boot loader, en coordination avec le logiciel ad hoc sur votre ordinateur, qui va se charger du transfert et de l écriture en mémoire programme. Le boot loader reste ensuite inactif dans la mémoire du PIC pendant que votre programme s exécute normalement. Au prochain démarrage du PIC, si le boot loader détecte une nouvelle tentative de transfert de programme sur l interface sélectionnée (série, USB, ) il le charge et remplace l actuel. Sinon il passe la main au programme actuel. Ce mécanisme est surtout très pratique dans les phases de prototypage où de nombreux transferts son nécessaires, d autant plus que la vitesse de transmission des données est beaucoup plus rapide qu avec un programmateur. Ici encore, la programmation se fait sur un mode série, mais comme on ne passe pas par un programmateur on à pas accès à la tension de programmation. L utilisation du module «Low Voltage Programming» prends ici tout son sens

36 Les Bits de Configuration Pour «customiser» notre PIC, il existe ce que l on appelle les bits de configuration. Ce sont des bits spéciaux de la mémoire programme qui permettent de spécifier le mode de fonctionnement d un certain nombre de fonctionnalité du PIC. À savoir : - L oscillateur : utilisation d un quartz ou d un circuit RC, plage de fréquence - Utilisation ou nom du Watchdog - Utilisation de la patte MCLR ou non - Validation ou non du Power-Up - Validation ou non du Brown-Out - Protection de la mémoire programme et de la mémoire EEPROM Ces bits sont programmés au moment du transfert du programme dans le PIC. Les Interruptions Un certain nombre d événements sont susceptible de générer des interruptions : fin de conversion de signal analogique, écriture en mémoire EEPROM terminée, débordement de, USART, SSP, changement d état d une entrée de port. Si votre programme comprend une routine de gestion de cette interruption, le déroulement normal s interrompt et la routine de gestion de l interruption est exécutée. Le gros avantage de ce mécanisme, c est que le microcontrôleur peut vaquer à ses occupations sans être obligé de scruter en permanence si telle ou telle action a eu lieu. Par exemple, si un clavier est raccordé au PIC, pas besoin de surveiller en permanence si une touche a été activée. Si c est le cas, le changement d état sur le port générera une interruption. Le PIC sera ainsi mis au courant qu un changement a eu lieu et exécutera les actions adéquates. C est un peu comme l alarme sonore de votre micro-onde : celui-ci vous signale par un BiiiP que le temps de cuisson est écoulé, pas besoin de rester les yeux rivés sur la vitre avec un chronomètre en main

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

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

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

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

Les liaisons SPI et I2C

Les liaisons SPI et I2C DAMÉCOURT BENJAMIN AVRIL 28 Liaisons synchrones Les liaisons SPI et I2C Face arrière d un imac : trois ports USB, un port Firewire 4 et un port Firewire 8 CHRONOLOGIE ANNÉES 7 La liaison SPI et la création

Plus en détail

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4 MultiMedia Board pour PIC32MX4 Les systèmes de développement sont des outils irremplaçables pour le développement et la programmation des microcontrôleurs. Un choix attentif des composants ainsi que l

Plus en détail

PROGRAMMATION D'UN MICROCONTRÔLEUR

PROGRAMMATION D'UN MICROCONTRÔLEUR Projet de Physique P6-3 STPI/P6-3/2009 44 PROGRAMMATION D'UN MICROCONTRÔLEUR Etudiants : Pierre HOUSSIN Peng GE Aël GAIN Enseignant-responsable du projet : Faouzi DHAOUADI Date de remise du rapport :

Plus en détail

PIC 16F84. Philippe Hoppenot

PIC 16F84. Philippe Hoppenot Département GEII PIC 16F84 Philippe Hoppenot hoppenot@lsc.univ-evry.fr http://lsc.univ-evry.fr/~hoppenot/presentationfrancaise.html Ce cours sur le PIC est dispensé en licence professionnelle Concepteurs

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

PIC : COURS ASSEMBLEUR

PIC : COURS ASSEMBLEUR PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire

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

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

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

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

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

Rapport de projet de fin d études

Rapport de projet de fin d études µ21 Société Micro 21 Gafsa Conception et réalisation d un enregistreur de données Réalisé par: Alibi Elmehdi Jawadi Sami Rapport de projet de fin d études En vue d obtention du diplôme : Licence appliquée

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

Informatique Industrielle

Informatique Industrielle Informatique Industrielle Cours Master SIS Micro-contrôleurs Microchip Intervenants : Marc Allain - marc.allain@fresnel.fr Julien Marot - julien.marot@fresnel.fr Coordonnées Marc Allain [Maître de conférence]

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

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier : SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION Contenu du dossier : 1. PRESENTATION DU SYSTEME DE PALPAGE A TRANSMISSION RADIO....1 1.1. DESCRIPTION DU FABRICANT....1

Plus en détail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

Chapitre 4 : Les mémoires

Chapitre 4 : Les mémoires 1. Introduction: Chapitre 4 : Les mémoires Nous savons que dans un ordinateur toutes les informations : valeur numérique, instruction, adresse, symbole (chiffre, lettre,... etc.) sont manipulées sous une

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

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2 ERM AUTOMATISMES INDUSTRIELS 280 Rue Edouard Daladier 84973 CARPENTRAS Cedex Tél : 04 90 60 05 68 - Fax : 04 90 60 66 26 Site : http://www.erm-automatismes.com/ E-Mail : Contact@erm-automatismes.com 1

Plus en détail

Modules d automatismes simples

Modules d automatismes simples Modules d automatismes simples Solutions pour automatiser Modules d'automatismes Enfin, vraiment simple! Un concentré de solution Pour vos petites applications d'automatismes millenium gère : Temporisations

Plus en détail

Configuration de TCPIPconfig.h

Configuration de TCPIPconfig.h AVANT DE COMMENCER LIRE EN DETAIL L APPLICATION MICROCHIP AN833. (L application MICROCHIP AN1120 est un excellent cours sur le protocole TCP-IP, qu il est indispensable de connaitre avant de fabriquer

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

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

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Prototypage électronique

Prototypage électronique Prototypage électronique C'est quoi Arduino? Enseignant d'électronique en BTS des Systèmes Électroniques au lycée Cabanis de Brive-la-Gaillarde, j'ai commencé en 2010 à entendre parler d'arduino à gauche

Plus en détail

Bus de communication

Bus de communication Bus de communication Sylvain MONTAGNY sylvain.montagny@univ-savoie.fr Bâtiment chablais, bureau 13 04 79 75 86 86 Retrouver tous les documents de Cours/TD/TP sur le site www.master-electronique.com Présentation

Plus en détail

ELP 304 : Électronique Numérique. Cours 1 Introduction

ELP 304 : Électronique Numérique. Cours 1 Introduction ELP 304 : Électronique Numérique Cours 1 Introduction Catherine Douillard Dépt Électronique Les systèmes numériques : généralités (I) En électronique numérique, le codage des informations utilise deux

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

Éléments d'architecture des ordinateurs

Éléments d'architecture des ordinateurs Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances

Plus en détail

energy BOX WEB Automates de GTB

energy BOX WEB Automates de GTB energy BOX WEB Automates de GTB Un Energy BOX WEB est un automate complet de GTB intégrant un serveur WEB en supervision. Cet automate a été conçu pour offrir à nos clients une solution simple et compacte

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

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 19, Le USB Etienne Tremblay Université Laval, Hiver 2012 Cours 19, p.1 USB signifie Universal Serial Bus USB Le USB a été conçu afin de remplacer le port série

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

Présentation et installation PCE-LOG V4 1-5

Présentation et installation PCE-LOG V4 1-5 PCE-LOG V4 version borne externe type PC50 mesures U, I + 3 TS version coffret mural mesures U, U, I + 3TS PRESENTATION 1-5 1 Presentation PCE-LOG V4 est un datalogger pour la télésurveillance de la protection

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

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

Proteus Design Suite V7 Instruments virtuels

Proteus Design Suite V7 Instruments virtuels Proteus Design Suite V7 Instruments virtuels Le modèle d oscilloscope virtuel...2 Généralités...2 Utilisation de l oscilloscope...2 Le modèle d analyseur logique...5 Généralités...5 Utilisation de l analyseur

Plus en détail

Bureau d étude Electronique Automobile

Bureau d étude Electronique Automobile Bureau d étude Electronique Automobile http://www.alexandre-boyer.fr Alexandre Boyer Patrick Tounsi Octobre 2013 Contenu I - Contexte...3 II - Objectifs du bureau d étude...5 III - Enoncé du BE Cahier

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

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

galaxy MODULE TELECOM F A204-50-NF Manuel d Installation

galaxy MODULE TELECOM F A204-50-NF Manuel d Installation galaxy MODULE TELECOM F A204-50-NF Manuel d Installation II8-0079 Edition 03/2003/A Manuel d'installation du module Télécom F SOMMAIRE SECTION 1 Présentation... 1-1 Compatibilité... 1-1 Adressage... 1-1

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Equipement. électronique

Equipement. électronique MASTER ISIC Les générateurs de fonctions 1 1. Avant-propos C est avec l oscilloscope, le multimètre et l alimentation stabilisée, l appareil le plus répandu en laboratoire. BUT: Fournir des signau électriques

Plus en détail

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation CTIA06 Page 1 1. Types de blocs de programme L automate met à disposition différents types de blocs qui contiennent

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02) Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02) Ne rien livrer au hasard, c est économiser du travail Pont Sainte Maxence(O C est quoi USB? Comment ça marche? Les standards? La technique en détail

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

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot et Sébastien Viardot Année universitaire 2011-2012 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 Codage des

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

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE) SIN STI2D - Système d'information et Numérique TD TP Cours Synthèse Devoir Evaluation Projet Document ressource COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE) 1 GESTION DES

Plus en détail

Mise en place d une plateforme de télécommande des équipements électrique à distance «Smart House»

Mise en place d une plateforme de télécommande des équipements électrique à distance «Smart House» Mise en place d une plateforme de télécommande des équipements électrique à distance «Smart House» Réalisé par : Wissem HENI Imen Hmaied UNIVERSITÉ VIRTUELLE DE TUNIS MÉMOIRE DU PROJET DE FIN D ÉTUDES

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Petit guide pratique de dépannage du système d alerte centralisée (modèles de 1980 à 1988)

Petit guide pratique de dépannage du système d alerte centralisée (modèles de 1980 à 1988) Petit guide pratique de dépannage du système d alerte centralisée (modèles de 1980 à 1988) Le système d alerte centralisée de la 928 est destiné a présenter au conducteur toute anomalie de fonctionnement

Plus en détail

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V ITM carte d entrèes analogues INTERFACES DE PROCES La carte ITM a 8 isolées entrées analogiques, chaque canal a un 16 bit A/N convertisseurs, avec une haute stabilité et une très haute rapport de réjection

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

Plus en détail

Description du logiciel Modbus RTU

Description du logiciel Modbus RTU Description du logiciel Modbus RTU V.1.0 Actualisée 04/2014 Page 1 de 57 Description du logiciel Modbus RTU Description du logiciel Modbus RTU V.1.0 Actualisée 04/2014 Page 2 de 57 Sommaire Description

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

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

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

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

Débuter avec PsoC ou PsoC niveau 0

Débuter avec PsoC ou PsoC niveau 0 Débuter avec PsoC ou PsoC niveau 0 Objectifs : se familiariser avec les circuits PsoC et leur environnement, prendre en main le logiciel et le kit d'évaluation, développer une application simple avec le

Plus en détail

QUESTION 1 {2 points}

QUESTION 1 {2 points} ELE4301 Systèmes logiques II Page 1 de 8 QUESTION 1 {2 points} En se servant de paramètres électriques donnés dans le Tableau 1 ci-dessous, on désire déterminer la fréquence d opération du compteur présenté

Plus en détail

Millenium3 Atelier de programmation

Millenium3 Atelier de programmation Millenium3 Millenium 3 Millenium3 1. Aide en ligne CLSM3... 2 1.1 Présentation de l'atelier de programmation... 2 1.1.1 Présentation de l'atelier de programmation... 2 1.2 Comment débuter avec l'atelier

Plus en détail

Centrale d Alarme 32 zones sans fils

Centrale d Alarme 32 zones sans fils Centrale d Alarme 32 zones sans fils Ultra facile à installer et à programmer Sans fil : Aucune connexion nécessaire!!! Nombreux capteurs différents disponibles : permet de détecter une intrusion par infrarouge,

Plus en détail

Centrale d alarme DA996

Centrale d alarme DA996 Centrale d alarme DA996 Référence : 7827 La DA-996 est une centrale d alarme pour 6 circuits indépendants les uns des autres, avec ou sans temporisation, fonctions 24 heures, sirène, alerte et incendie.

Plus en détail

CAA/SE N O T I C E D E M O N T A G E E T D U T I L I S A T I O N KIT DE MONTAGE. Clavier lumineux - 100 codes DIGICODE

CAA/SE N O T I C E D E M O N T A G E E T D U T I L I S A T I O N KIT DE MONTAGE. Clavier lumineux - 100 codes DIGICODE CAA/SE Clavier lumineux - 100 codes N O T I C E D E M O N T A G E E T D U T I L I S A T I O N L affichage lumineux par les leds rouge, jaune et verte est toujours opérationnel. Il est possible d avoir

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

Liste de vérification des exigences Flexfone

Liste de vérification des exigences Flexfone Liste de vérification des exigences Flexfone Introduction Avant de déployer un service de voix par le protocole de l Internet (VoIP) ou un PBX hébergé dans votre entreprise, vous devriez prendre certaines

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

Premiers pas sur l ordinateur Support d initiation

Premiers pas sur l ordinateur Support d initiation Premiers pas sur l ordinateur Support d initiation SOMMAIRE de la partie 1 : I. Structure générale de l ordinateur... 1. L Unité centrale... 2 2. Les différents périphériques... 5 II. Démarrer et arrêter

Plus en détail

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

SYSTEME D ALARME CONNECTE. Guide d installation et d utilisation

SYSTEME D ALARME CONNECTE. Guide d installation et d utilisation SYSTEME D ALARME CONNECTE Guide d installation et d utilisation Bienvenue sommaire Vous venez de faire l acquisition de Home by SFR, système assurant la sécurité de votre domicile. Afin que la prise en

Plus en détail

fullprotect inside EOLE SPEie RS E-SPEie 0.5-12-5V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française

fullprotect inside EOLE SPEie RS E-SPEie 0.5-12-5V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française Protection environnement Datasheet édition française 1.0 revision R-D-CO-D-27112011-1.0-C fullprotect inside SPEi Protection environnement interne SPEe Protection environnement externe SPEc Contrôle de

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

Présentation et description détaillée du S8400 Media Server

Présentation et description détaillée du S8400 Media Server Présentation et description détaillée du S8400 Media Server Edition 1 Février 2006 Avaya S8400 Media Server Avaya S8400 Media Server Présentation générale Le S8400 Media Server est un serveur Linux qui

Plus en détail

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007 Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des

Plus en détail

Une liste des distributeurs Paxton se trouve sur le site Internet - http://paxton.info/508

Une liste des distributeurs Paxton se trouve sur le site Internet - http://paxton.info/508 1/1/009 Ins-30108-F Kit d évaluation Net Paxton Pour une assistance technique, merci de contacter votre fournisseur Une liste des distributeurs Paxton se trouve sur le site Internet - http://paxton.info/508

Plus en détail

1) Où est le problème? Chère lectrice, cher lecteur, On est entre nous, alors on va se tutoyer.

1) Où est le problème? Chère lectrice, cher lecteur, On est entre nous, alors on va se tutoyer. QUAND LE MAITRE ET SES ESCLAVES PRENNENT LE BUS... OU INITIATION AU PROTOCOLE I²C Chère lectrice, cher lecteur, On est entre nous, alors on va se tutoyer. L objet de ce document est de te faire comprendre

Plus en détail

DTS MOBATime's Distributed Time System

DTS MOBATime's Distributed Time System GPS ou DCF 77 DTS Masterclock DTS Manager et DTS Master Software DTS MOBATime's Distributed Time System LAN Le serveur de temps multi-usage dans le nouveau Distributed Time System de MOBATIME, basé sur

Plus en détail

Manipulations du laboratoire

Manipulations du laboratoire Manipulations du laboratoire 1 Matériel Les manipulations de ce laboratoire sont réalisées sur une carte électronique comprenant un compteur 4-bit asynchrone (74LS93) avec possibilité de déclenchement

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail

Contrôle d accès UTIL TP N 1 découverte

Contrôle d accès UTIL TP N 1 découverte Contrôle d accès UTIL TP N 1 découverte A partir de : Documents sur CD TIL : \CD usesame\documentations\produits_til\modules\util_tillys fpr_utilv2.pdf FTe_UTiL_V2.pdf UTiL2_express.pdf \CD usesame\documentations\logiciels_til\tilman

Plus en détail

Manuel d utilisation Alarme Auto na-2018 Attention :

Manuel d utilisation Alarme Auto na-2018 Attention : Manuel d utilisation Alarme Auto na-2018 Attention : 1) Le contenu de ce manuel comprend les informations nécessaires à une utilisation correcte de cet appareil. Nous vous suggérons dès lors de le lire

Plus en détail

CARACTERISTIQUES RAMOS ULTRA:

CARACTERISTIQUES RAMOS ULTRA: FICHE TECHNIQUE CONTEG version: 07-08-0 SYSTÈMES COMPLÉMENTAIRES SYSTEME DE MONITORING DE BAIES CONTEG, spol. s r.o. Siège social République Tchèque: Na Vítězné pláni 79/4 40 00 Prague 4 Tel.: +40 6 9

Plus en détail

MACHINE A SOUDER MANUEL D UTILISATION

MACHINE A SOUDER MANUEL D UTILISATION MACHINE A SOUDER (Réf ME056) MANUEL D UTILISATION France DETECTION SERVICES ZA LA CIGALIERE 2 84250 LE THOR Tél. 04.90.33.75.14 Fax : 04.90.33.75.17 Contact: contact@fdspro.com Web site: fdspro.com 1 Affichage

Plus en détail

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 M. Corinthios et Zaher Dannawi 29 août 2007 2 Tables des

Plus en détail

Séverine Marien Maxime Ringard. 2 ème année GEII. Régulateur de charge pour station de recharge photovoltaïque

Séverine Marien Maxime Ringard. 2 ème année GEII. Régulateur de charge pour station de recharge photovoltaïque Séverine Marien Maxime Ringard 2 ème année GEII Régulateur de charge pour station de recharge photovoltaïque Année 2009/2010 Tuteur : Mr Favier Sommaire Introduction 1.Présentation du projet 1 1.1.Description

Plus en détail

Alcatel OmniPCX Enterprise TSC-IP V1 (4098RE)

Alcatel OmniPCX Enterprise TSC-IP V1 (4098RE) Alcatel OmniPCX Enterprise TSC-IP V1 (4098RE) NOTE : Les spécifications Produit contenues dans ce document peuvent évoluer sans information préalable. Les produits et services décrits dans ce document

Plus en détail

VOCALYS LITE. www.adetec.com

VOCALYS LITE. www.adetec.com VOCALYS LITE www.adetec.com Sommaire GENERALITES 1 Présentation Caractéristiques techniques RACCORDEMENTS 2 Ligne téléphonique 2 Autoprotection 3 Entrées 3 Sorties 4 UTILISATION 5 Marche / Arrêt du transmetteur

Plus en détail