Lycée Eugène IONESCO STI2D - SIN. EasyPIC V7. Outil de développement de projet



Documents pareils
PIC EVAL Dev Board PIC18F97J60

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Carte Relais GSM (Manuel Utilisateur)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Conférence sur les microcontroleurs.

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

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

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES

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

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

Flowcode - Mode d'emploi

Carte ARDUINO UNO Microcontrôleur ATMega328

Configuration de TCPIPconfig.h

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

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

Activité initiation Arduino

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

Une carte pour vos projets

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

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

Le langage C. Séance n 4

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

Cours 7 : Programmation d une chaîne d acquisition

Débuter avec PsoC ou PsoC niveau 0

Spécialité Professionnelle. Patrick Boulandet

République Tunisienne Ministère de l'education. Sciences Techniques. Manuel d activités. Les auteurs. Ali ZITOUNI Inspecteur des lycées et collèges

ANALYSE TRAMEs LIAISON SERIE

PROGRAMMATION D'UN MICROCONTRÔLEUR

Notice d installation de la Centrale VIGIK DGM1

Sélection du contrôleur

Logiciel PICAXE Programming Editor

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

1. PRESENTATION DU PROJET

Description du logiciel Modbus RTU

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

Mise en œuvre matérielle GX UX1 UX2 KB37 DI UX8. GearBox Éléments de base Utilisation autonome. À lire!

Rapport de projet de fin d études

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

Introduction au langage C

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Prototypage électronique

Bureau d étude Electronique Automobile

Manipulations du laboratoire

!" #$$%& Disque dur 2.5 pouces Firewire Apple MacOS FR V2.4 - Page 1/17

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

IV- Comment fonctionne un ordinateur?

Electron MECATRONIQUE. S.r.l. Educational Equipment Design, Production & Trading. Member of I.D.E.A. International Didactic Equipment Association

Guide d utilisation de PL7 Pro Récupérer ou transférer un programme

01/11/2011. Machine à café - Amélioration du système existant MLK - ECST

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Education Delivery Intelligent Tool

Le multiplexage. Sommaire

MACHINE A SOUDER MANUEL D UTILISATION

Contraintes, particularités. 1. Généralités Gestion de la mémoire a. Type des variables et constantes... 2

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

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

! analyse du fonctionnement

Leçon 1 : Les principaux composants d un ordinateur

Isadora. Photo jpeg qualité 50% %, 320X240. Prérequis

Modules d automatismes simples

Une liste des distributeurs Paxton se trouve sur le site Internet -

UGVL : HOMOLOGATION PS ZAC du bois Chaland 6 rue des Pyrénées LISES EVRY Cedex FRANCE Tel Fax

LOGICIEL DC4D MONITOR

Utilisation d objets : String et ArrayList

Indicateur de position PI-D2100 Guide de l utilisateur

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Conception Electronique (CEL) Prof. Maurizio Tognolini

Programmation système I Les entrées/sorties

Millenium3 Atelier de programmation

Livret Phoenix-M. Par Georges Khaznadar, Lycée Jean Bart, Dunkerque d'après Phoenix Programmer's Manual

FlashWizard v4.5b PRO

NAGRA VI Enregistreur numérique six pistes

Tutoriel code::blocks

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

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Compléments de documentation Scilab : affichage de texte et formatage de nombres

FRANCAIS DGM1. Centrale Vigik 1 porte. N d homologation : - PS MS Gamme: Vigik MANUEL D INSTALLATION.

Version beta. Station Météo 12/11/2012. Réalisation d un Station Météo avec Webserver composée de capteurs Grove et d un module Wifi Flyport.

ALERT NOTICE D UTILISATION DU DRIVER SIA

VIII- Circuits séquentiels. Mémoires

Caractéristiques techniques du module électronique Témoin lumineux rouge

Projet audio. Analyse des Signaux ELE2700

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Compilation (INF 564)

UE Programmation Impérative Licence 2ème Année

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

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

Système téléphonique d entreprise SIVOTEL. T P 0 P r i s e e n m a i n d u s y s t è m e ( O F : S I V O T E L - T P 0 )

Traitement de données

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

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

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

NovoSIP manuel de mise en service

Centrale d Alarme 32 zones sans fils

Encoder Encoder 1 sur 15. Codification fil par étage 15 étages max. + 2 flèches + signal de mouvement. Raccordements 0.1 mm²...

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

Java Licence Professionnelle CISII,

Guide d installation logicielle

Transcription:

EasyPIC V7 Outil de développement de projet Page n 1/14

1 PRESENTATION La carte de développement EasyPIC v7 de la société Mikroelektronica permet de développer des projets utilisant les microcontrôleurs Microchip de la famille PIC 12/16/18. A l achat elle est équipée du PIC 18F45K22 dont nous verrons les caractéristiques par la suite. EasyPIC v7 intègre un grand nombre de fonctionnalités : Leds et boutons poussoirs connectables aux différents ports. Switches et cavaliers de configurations afin de s adapter aux microcontrôleurs et à leurs caractéristiques. Des connecteurs E/S au format HE10 reliés aux différents ports des microcontrôleurs. Programmateur sur la carte permettant la programmation in situ (sans avoir à enlever le microcontrôleur). Module ICD permettant le débogage du programme en simulation et en temps réel sur la carte. Des connecteurs afin de relier des capteurs ( DS18S20 ) directement sur la carte. Un afficheur LCD et un afficheur GLCD tactile. 4 afficheurs 7 segments. Module de communication RS232, USB. Connecteur d extension mikrobus sockets permettant l ajout de «click Boards» Bluetooth, MP3, CAN SPI etc Potentiomètres reliés aux entrées des convertisseurs analogique/numérique. Une mémoire E²PROM I²C. Un buzzer. L édition du programme en langage C ainsi que la compilation est effectué par l intermédiaire du logiciel mikroc PRO. La programmation est effectuée par le logiciel mikroprog Suite for PIC à travers une liaison USB. Page n 2/14

2 LA CARTE EASYPIC V7 Liaison avec l ordinateur Page n 3/14

3 LEDS Un ensemble d interrupteurs ( switches, SW3) permettent de relier indépendamment chaque sortie de chaque port à une LED. Ainsi l état logique de chaque ligne de port est visible. 4 BOUTONS POUSSOIRS RELIE AUX PORTS L état logique de toutes les entrées numériques du microcontrôleur peuvent être modifiées par 3 l intermédiaire de boutons poussoirs. le cavalier J17 sert à définir l état logique qui doit être appliqué à la broche du microcontrôleur lorsque le bouton associé est pressé. Les interrupteurs associés aux ports permettent de rajouter un résistor de pull-up ou pull-down.ces resistors permettent de fixer le niveau logique de chaque entrée lorsque le BP est relâché. Page n 4/14

Sur la figure ci-dessous est représenté la barrette d interrupteurs SW7 du portc. En position milieu, le resistor est déconnecté de la ligne de port. En position haute (UP), un resitor de pull-up est relié à la ligne du port C correspondante. En position basse (DOWN), un resitor de pull-down est relié à la ligne du port C correspondante. ( cf p22 de la documention fournie par mikroelectronika) 5 MICROCONTROLEUR 18F45K22 Le microcontrôleur livré avec la carte est le 18F45K22. Il s agit d un microcontrôleur 8 bits dont les principales caractéristiques sont les suivantes : 32Ko de mémoire flash de programme. Oscillateur quartz/interne/externe jusqu à 64MHz. 16MIPS. Alimentation : 2,3v à 5,5v. Debugger ICD. Module ADC, comparateur analogique, DAC, support écran et touches tactiles. Communication I²C, SPI, RS232, RS485, LIN. Timers. 5 ports I/O parallèles numériques. Page n 5/14

6 PORTS D ENTREES / SORTIES Chaque port parallèle est contrôlé par 3 registres : Un registre appelé PORTx, ou registre de données, fonctionnant en entrée et en sortie. Un registre appelé LATx ou registre tampon ( latch en anglais), ne fonctionnant qu en sortie. Un registre appelé TRISx, ou registre de sens de fonctionnement du port, servant à définir individuellement le sens de fonctionnement ( entrée ou sortie) de chaque ligne de port. Un registre appelé ANSELx, ou registre de mode de fonctionnement du port ( lorsque le port est en entrée), servant à définir individuellement le mode de fonctionnement (analogique ou numérique) de chaque ligne de port quand cela est possible. En effet, toutes les lignes ne peuvent être utilisées comme entrées analogiques. Dans le cas du 18F45K22, x peut être remplacé par les lettres de A à E. Les registres PORTx peuvent être lus et écrits selon que le port correspondant est utilisé en entrée ou en sortie. Les registres LATx peuvent aussi être lus ou écrits mais ils n agissent sur les lignes qu en sortie. C'est-àdire que l état des lignes de port est sans effet sur le contenu de LATx. Par ailleurs, chaque ligne de chaque port peut être programmée individuellement en entrée ou en sortie grâce aux registres TRISx. Lors d un RESET, et pour d évidentes raisons de sécurité, tous les ports sont placés en entrée suite à l initialisation de tous les registres TRISx correspondants. Particularité des ports Les ports A,B,C et D sont des ports 8 bits. Le Port E est un port 4 bits. Chaque ligne de chaque port peut avoir plusieurs fonctions ce qui peut réduire la taille du port parallèle. Par exemple dans le cas de l utilisation d un oscillateur externe à quartz, les lignes RA6 et RA7 ne sont plus libres et sont reliées au quartz. Le sens des lignes de port (entrée ou sortie) est déterminé par l état des bits correspondants du registre TRISx. Exemple : Si le bit 0 de TRISA est à 1, alors RA0 est en entrée. Si le bit 0 de TRISA est à 0, alors RA0 est en sortie. Moyen mnémotechnique : 1 = I = Input = entrée 0 =O = Output = Sortie. En entrée, le mode de fonctionnement de chaque ligne de port (analogique ou numérique) est déterminé par l état des bits correspondants du registre ANSELx. Exemple : Si le bit 0 de ANSELA est à 1, alors RA0 est une entrée analogique. Si le bit 0 de ANSELA est à 0, alors RA0 est une entrée numérique. Page n 6/14

7 AFFICHEUR LCD 2 X 16 L afficheur LCD est en mode 4 bits : les octets de données et de commandes sont envoyés en 2 temps quartet par quartet sur les bits RB0 à RB3 du port B. Les lignes de contrôle RS, E sont reliés sur les bits RB4 et RB5. Pour utiliser cet afficheur avec la bibliothèque LCD fournie, il faut placer les lignes suivante en début de programme : // Attribution de noms aux broches sur lesquelles l'afficheur est connecté sbit LCD_RS at RB4_bit; sbit LCD_EN at RB5_bit; sbit LCD_D7 at RB3_bit; sbit LCD_D6 at RB2_bit; sbit LCD_D5 at RB1_bit; sbit LCD_D4 at RB0_bit; // configuration des broches d'entrée/sortie sbit LCD_RS_Direction at TRISB4_bit; sbit LCD_EN_Direction at TRISB5_bit; sbit LCD_D7_Direction at TRISB3_bit; sbit LCD_D6_Direction at TRISB2_bit; sbit LCD_D5_Direction at TRISB1_bit; sbit LCD_D4_Direction at TRISB0_bit; 8 UTILISATION DU CONVERTISSEUR ANALOGIQUE / NUMERIQUE Le PIC 18F45K22 dispose d un CAN 10 bits relié aux entrées analogiques par l intermédiaire d un multiplexeur ( il permet de sélectionner une entrée analogique à la fois). PORT A : RA0 à RA5 Sur la carte Easypic, il est possible de relier un potentiomètre P1 ou P2 afin de faire varier une tension entre 0 et 5v et relier cette ddp sur l une des entrée analogiques AN0 à AN4, AN8 à AN12. Pour ce faire il suffit de placer les cavalier J15 et J16 comme indiqué sur la sérigraphie. Page n 7/14

La bibliothèque ADC permet d utiliser simplement le convertisseur analogique / numérique. ( cf l aide disponible dans MikroC ). 9 EXEMPLE DE PROGRAMME Cahier des charges Ce programme permet de tester la lecture de l'état d'un bouton poussoir du port B et de commander les sorties du port C. Si l'un des BP du port B est appuyé, la moitié droite du PORTC est à 1 ( led correspondantes allumées). Sinon, la moitié gauche est à 1 ( led correspondantes allumées). void main() { } anselb=0; // PORTB en mode numérique anselc=0; // PORTC en mode numérique trisb=0xff; // PORTB en entrée : 0xFF = %1111 1111, soit toutes les lignes de ce port en entrée. ( 1 = i = input) trisc=0x00; // PORTC en sortie : 0x00 = %0000 0000, soit toutes les lignes de ce port en sortie.( 0 = o = output) while(1){ while(portb==0){ //lecture et test des BP reliés au port B portc=0xf0; // Leds RC7 à RC4 allumées. } portc=0x0f; //Leds RC3 à RC0 allumées. } Page n 8/14

10 ORIENTATION ET AFFECTATION D UNE SEULE LIGNE DE PORT A travers les exemples qui suivent nous allons passer en revue la syntaxe utilisée pour manipuler une seule ligne de port. Exemples : TRISC0_bit = 0 ; // bit 0 du port C en sortie. RA3_bit = 1 ; //mise à 1 du bit 3 du port A TRISC1_bit = 1 ; // bit 1 du port C en entrée. RA4_bit = 0; //mise à 0 du bit 4 du port A Page n 9/14

11 LE LOGICIEL MIKROC PRO Lycée Eugène IONESCO Le logiciel MikroC pro permet l édition des programmes. Son fonctionnement est comparable à celui de MpLAB, le logiciel fourni par Microchip. Compilation et Réglages du programmation projet : choix de l oscillateur, etc Gestionnaire de projet Fenêtre D édition du programme Gestionnaire de bibliothèques de fonctions Page n 10/14

Un certain nombre d onglets sont présents sur les bords de L IDE (integrated development environment : environnement de développement). Ils permettent d accéder à différentes fonctions de l IDE. Project manager : le gestionnaire de projet. Avec un certain nombre d IDE, un projet est un ensemble de fichiers sources( extension.c ), de fichier d entête ( extension.h), de fichier de programmation ( extension.hex) etc Il est important de toujours vérifier que votre fichier source en langage C est bien dans le projet que vous avez créé. Si ça n est pas le cas, le programme ne sera pas compilé. Library manager : gestionnaire de bibliothèques de fonctions. Une bibliothèque est un ensemble de fonctions utilitaires permettant une utilisation aisée des modules intégrés aux microcontroleurs pic ou de circuits électroniques ( capteurs, interfaces etc ). Grace à ces fonctions, l utilisation d un afficheur LCD se résume à l utilisation de quelques fonctions prédéfinie et dont une aide complète est fournie en cliquant sur la fonction dans le gestionnaire de bibliothèque. Ensemble des fonctions permettant la commande d un afficheur LCD. Lcd_Init permet par exemple d initialiser l afficheur. Page n 11/14

Project settings : paramètres du projet C est ici que le choix du microcontrôleur se fait. On peut y choisir aussi sa fréquence de fonctionnement ainsi que le mode de fonctionnement du programme : Le mode release permettant une exécution normale et automatique du programme. Le mode ICD debug permettant l exécution du programme en mode pas à pas, au gré de l avancement souhaité par le développeur. Il est possible de configurer plus en détail le fonctionnement du microcontrôleur dans un autre menu de l IDE. 12 FONCTIONS DE TEMPORISATION Dans un programme on est souvent amené à utiliser des temporisations (cas d un clignotement de LED par exemple). Voici les 2 principales fonctions disponibles dans MikroC. Temporisation en microseconde Déclaration de la fonction Description void Delay_us(const unsigned long time_in_us); Cette fonction crée une temporisation multiple d 1µs. Exemple Delay_us(100); /* 100µs de pause */ Temporisation en milliseconde Déclaration de la fonction Description void Delay_ms(const unsigned long time_in_ms); Cette fonction crée une temporisation multiple d 1ms. Exemple Delay_ms(10); /* 10ms de pause */ Page n 12/14

13 FONCTIONS UTILES Déclaration de la fonction Description void IntToStr(int input, char *output); Converts input signed integer number to a string. The output string has fixed width of 7 characters including null character at the end (string termination). The output string is right justified and the remaining positions on the left (if any) are filled with blanks. Paramètres input: nombre signé à convertir en chaine de caractères output: chaine de caractères correspondant à l entier Exemple int tension = 224; char texte[6]; IntToStr(tension, texte); // texte est la chaine"224" (il y a 3 caractères non alphanumériques devant 224) Code hexa de l espace texte[] = 0x20 ; 0x20 ; 0x20 ; 0x32 ; 0x32 ; 0x34 Codes hexa de 2 ; 2 ; 4 Page n 13/14

14 D AUTRES EXEMPLES DE PROGRAMMES Clignotement des led du portc à la fréquence de 0,5Hz. void main() { ANSELC = 0; PORTC = 0; // Init PORTC TRISC = 0; // PORTC as output while(1) { PORTC = ~PORTC; // toggle PORTC Delay_ms (1000); // 1s delay } } Affichage d une donnée sur l afficheur LCD ( relié au port B) // configuration des broches d'entrée/sortie sbit LCD_RS_Direction at TRISB4_bit; sbit LCD_EN_Direction at TRISB5_bit; sbit LCD_D7_Direction at TRISB3_bit; sbit LCD_D6_Direction at TRISB2_bit; sbit LCD_D5_Direction at TRISB1_bit; sbit LCD_D4_Direction at TRISB0_bit; void main() { ANSELB=0x00; Lcd_Init(); while(1) { } Lcd_Out(1, 3, "terminale"); Lcd_Out(2, 4, "STI2D SIN"); Delay_ms(1000); } Page n 14/14