1 Ecole Nationale des Sciences Appliquées Microcontrôleur Avancé GMSA: 2ème Ann

1 Ecole Nationale des Sciences Appliquées Microcontrôleur Avancé GMSA: 2ème Année Programmation du PICs En C embarqué Compilateur MikroC µContrôleur avancé / GMSA 2 2 Plan de cours Généralités Architecture & Familles des µCs Caractéristiques et Fonctionnalités des µC (PICs) Organisation des mémoires/Registres Configuration des ports d’entrée/sortie Programmation en MikroC Projets à réalisés µContrôleur avancé / GMSA 2 3 •Deuxième partie µContrôleur avancé / GMSA 2 4 Programmation d’un PICEn MikroC le développement de systèmes embarqués sur la base de microcontrôleur nécessite un langage de programmation évolutif qui assure une combinaison de l'environnement de programmation avancée IDE (Integrated Development Environment) , et d’un vaste ensemble de bibliothèques pour le matériel. Le compilateur mikroC pour PIC bénéficie d'une prise en main très intuitive et d'une ergonomie sans faille. Ses très nombreux outils intégrés (mode simulateur, terminal de communication Ethernet, terminal de communication USB, gestionnaire pour afficheurs 7 segments, analyseur statistique, correcteur d'erreur, explorateur de code, mode Débug ICD...) associé à sa capacité à pouvoir gérer la plupart des périphériques rencontrés dans l'industrie (Bus I2C™, 1Wire™, SPI™, RS485, Bus CAN™, USB, gestion de cartes compact Flash et SD™/MMC™, génération de signaux PWM, afficheurs LCD alphanumériques et graphiques, afficheurs LEDs à 7 segments, etc...) en font un outil de développement incontournable pour les systèmes embarqués, sans aucun compromis entre la performance et la facilité de débogage. µContrôleur avancé / GMSA 2 5 Compilateur mikroC PRO pour PIC La nouvelle version appelée mikroC PRO dispose de très nombreuses améliorations du compilateur mikroC : nouvelles variables utilisables, nouvelle interface, amélioration des performances du linker et de l'optimisateur, cycle de compilation plus rapide, code machine généré plus compact (jusqu'à 40 % suivant les cas), nouveaux PIC supportés, environnement de développement encore plus ergonomique, nouveaux exemples d'applications, etc... Nouvelle Version mikroC PRO V.5.0.1 µContrôleur avancé / GMSA 2 6 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. Le « Proteus » est une suite de logicielle permettant la CAO électronique éditée par la société Labcenter Electronics. Proteus est composé de deux logiciels principaux : ISIS, qui est un très bon logiciel de simulation en électronique. Il est un éditeur de schémas qui intègre un simulateur analogique, logique ou mixte. ARES, dédié à la création de circuits imprimés. Grâce à des modules additionnels, ISIS est également capable de simuler le comportement d'un microcontrôleur (PIC, Atmel, 8051, ARM, HC11...) et son interaction avec les composants qui l'entourent. I- Le Proteus : µContrôleur avancé / GMSA 2 7 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. I- Le Proteus : µContrôleur avancé / GMSA 2 8 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. Le « micro C PRO » est un compilateur pour PIC Conçu par la société « Mikroelektronika », le compilateur C nouvelle génération "MikroC PRO" pour microcontrôleurs PIC bénéficie d'une prise en main très facile. Il comporte plusieurs outils intégrés (mode simulateur, terminal de communication, gestionnaire 7 segments,). Il a une capacité à pouvoir gérer la plupart des périphériques rencontrés dans l'industrie (Bus I2C, 1Wire, SPI, RS485, Bus CAN, cartes compact Flash, signaux PWM, afficheurs LCD et 7 segments...), de ce fait il est un des outils de développement incontournable et puissant. Il contient un ensemble de bibliothèques de matériel, de composant et la II-Le MikroC PRO : µContrôleur avancé / GMSA 2 9 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. II-Le MikroC PRO : µContrôleur avancé / GMSA 2 10 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. Création d’un nouveau projet : Avec mikroC PRO, on crée un nouveau projet (Project --> New Project), et on choisit le pic16f877 et un quartz de 20Mhz µContrôleur avancé / GMSA 2 11 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. Création d’un nouveau projet : Avec mikroC PRO, on crée un nouveau projet (Project --> New Project), et on choisit le pic16f877 et un quartz de 20Mhz µContrôleur avancé / GMSA 2 12 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. Création d’un nouveau projet : On saisit ensuite le programme puis on le compile : µContrôleur avancé / GMSA 2 13 Se familiariser avec l’environnement du logiciel Proteus et de compilateur MikroC PRO pour programmer un PIC. Création d’un nouveau projet : -Après compilation et s'il n'y a pas d'erreurs le fichier TP1.hex est créé. -Dans ISIS, on double clic sur le microcontrôleur et on spécifie le fichier TP1.hex qui se trouve dans le dossier TP puis OK µContrôleur avancé / GMSA 2 14 Programmation d’un PICEn MikroC Règles générale d’écriture en mikroC Pro Les instructions propres au langage mikroC doivent être écrites en minuscule. (void main (void)).  Les instructions particulières aux microcontrôleurs doivent être écrites en majuscule TRISB=0X00; Les retours à la ligne et les espaces servent uniquement à aérer le code. Toutes instructions ou actions se terminent par un point virgule « ; ». µContrôleur avancé / GMSA 2 15 Programmation En Mikroc Exemple: void main() { for(;;) { TRISB = 0; PORTB.0 = 0 Delay_Ms(1000); PORTB.0 = 1; Delay_Ms(1000); } // Fin de la boucle } // Boucle sans fin // Configuration du PORTB en sortie // RB0 = 0 // Pause d’une seconde // RB0 = 1 // Pause d’une seconde µContrôleur avancé / GMSA 2 16 Programmation En MikroC Commentaire s En mikroC les commentaires de programmes peuvent être de deux types: longs commentaires, s’étendant sur plusieurs lignes, et de courts commentaires, occupant une seule ligne. Les longs commentaires commencent par le caractère « /* » et se termine par le caractère « */ ». De même, de courts commentaires commencent par le caractère « // » et il n’a pas besoin d'un caractère de terminaison. µContrôleur avancé / GMSA 2 17 Exemple. /******************************************************************** **** SURFACE D'UN CERCLE ==================== Ce programme appelle la fonction Cercle_Surface pour calculer la surface d'un cercle. ********************************************************************* **/ //Calcule la surface d'un cercle en fonction de rayon float Cercle_Surface (float rayon) { float s; s = PI*rayon*rayon; return s; } /* Début du programme principal. Calcul de la surface d'un cercle où le rayon= 2,5 */ void main () { float r, Cercle; r = 2.5; Cercle = Cercle_Surface(r); } µContrôleur avancé / GMSA 2 18 Programmation En MikroC Eléments de programmation en mikroC Les variables Toute variable utilisée dans un programme doit auparavant être définie. La définition d’une variable consiste à la nommer et lui donnée un type et éventuellement lui donner une valeur initiale (initialiser). Les variables globales Les variables locales Les noms des variables ne peuvent contenir que des lettres de a à z et à partir de A à Z, le trait de soulignement "_" et les chiffres de 0 à 9. Les noms des variables dans mikroC n'est pas sensible à la casse, de sorte que Sum, som et soM représente le même identifiant. Certains noms sont réservés pour le compilateur lui-même et ne peut pas être utilisés comme noms de variables dans un programme (asm,signed, enum, auto, …) µContrôleur avancé / GMSA 2 19 Programmation En Mikroc Voici quelques identificateurs valides: • temperature_V1, Pressure, no_hit, Dat2string, SUM3, _vtext mais voici quelques identificateurs incorrectes: • 7temp • % Supérieur • int // ne peut pas commencer par un chiffre // ne peut pas contenir de caractères spéciaux // ne peut pas répéter un mot-clé Programmation En MikroC Variabl e µContrôleur avancé / GMSA 2 20 taille (bits) plage µContrôleur avancé / GMSA 2 21 Programmation En MikroC Constantes représentent des valeurs fixes (numérique ou caractère) dans des programmes qui ne peuvent pas être changées. En mikroC, constantes peuvent être entiers, flottants, caractères, les chaînes, ou des types énumérés. Les constantes sont déclarées en utilisant le mot-clé const et sont stockées dans le flash de mémoire du microcontrôleur PIC. Par exemple, MAX est déclaré comme la constante100 : const MAX =100; Les constantes hexadécimales const TOTAL = 0xFF; Les constantes octales const CNT = 017; Les constantes binaires commencent par 0b ou 0B const Min = µContrôleur avancé / GMSA 2 22 Programmation En Mikroc Les constantes à virgule flottante  Entier décimal  Point décimal  Partie décimale fractionnaire  e ou E et l'ordre du signe Exemple ±1.17549435082 * 10-38 const TEMP = 37.50 ou const TEMP = 3.750E1 Character Constants const First_Alpha = ‘A’; String Constants "Il s'agit d'un exemple de chaîne constante" Une constante chaîne peut être étendue à travers une frontière en ligne en utilisant une barre oblique inverse « "\" » : "C'est la première partie de la chaîne \ et c'est la poursuite de la chaîne " Programmation En Mikroc Séquences d'échappement caractères ASCII non imprimables. µContrôleur avancé / GMSA 2 23 Programmation En Mikroc µContrôleur avancé / GMSA 2 16 Variables statiques valeur d'une variable uploads/Management/ c-avance-c.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Dec 14, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.6560MB