Académique Documents
Professionnel Documents
Culture Documents
Année 2021-2022
Plan du cours
Chapitre 1: Introduction au langage MicroC
• Définition du langage MicroC
• Les avantages du MicroC
• Fiche technique du MicroC 2.3
• Règles du langage MicroC
Chapitre 2: ELEMENTS DE PROGRAMMATION EN MIKROC
• Variables
• Constantes
• Séquences d'échappement
• Tableaux
• Pointeurs
• Structures
Chapitre 3: OPERATEURS ET EXPRESSIONS EN MIKROC
• Opérateur d’affectation
• Opérateurs arithmétiques
• Autres opérateurs unaires d’affectation
• Autres opérateurs binaires d’affectation
• Opérateurs de comparaison
• Opérateurs logiques
• Opérateurs de manipulation de bits
• Opérateur de dimension
Chapitre 4: LES STRUCTURES DE CONTROLE
• Instruction if
• Instruction switch
• Instructions d'itération for, while, do, goto, continue et break
Chapitre 5: MikroC pour Microcontrôleur PIC
• Définition du Microcontrôleur PIC
• Présentation du matériel PIC
• Fonctionnalités du Microcontrôleur PIC
• Ports E/S du Microcontrôleur PIC
• mikroC PRO pour les bibliothèques PIC
• Programmation du microcontrôleur Pic en MikroC 2021-2022 2
Chapitre 1: Introduction au langage MicroC
2021-2022 3
Chapitre 1: Introduction au langage MicroC
2021-2022 4
Chapitre 1: Introduction au langage MicroC
Fiche technique du MicroC 2.3
❑Description
MICROC est un compilateur de fichiers écrits dans un sous-ensemble du langage ANSI C Standard. Les
programmes générés ne peuvent être exécutés que par les produits Automa, parmi lesquels SUPER-FLASH
❑Caractéristiques
3X1 : est composé de 3 objets : le moteur d'exécution et la bibliothèque de fonctions, intégrés dans les
produits Automa, et le compilateur
Capacious : il est capable de compiler des fichiers contenant jusqu'à 10 000 symboles de fonction et 1
000 symboles de variable : il produit des programmes avec des dimensions maximales de 1 Mo
contenant chacun jusqu'à 512 Ko de zone statique
Complete : il implémente les constructions "if", "if...else", "for", "while" et "do...while", et les "int",
"long int", "double", " types byte", ""text"" et "virtual"
Ajustable : le timing d'exécution des programmes MICROC peut être ajusté avec précision jusqu'au
niveau de l'instruction unique
2021-2022 5
Chapitre 1: Introduction au langage MicroC
Fiche technique du MicroC 2.3
Riche : il met à disposition plus de 500 fonctions relatives à de multiples environnements applicatifs
Intégrable : les programmes MICROC générés peuvent communiquer facilement entre eux en partageant
les données de manière contrôlée grâce à la technologie MUTEX
Multi-plateforme : les programmes MICROC fonctionnent à la fois sous DOS et sous Windows
Multilingue : le compilateur dispose d'une interface multilingue (italien et anglais)
❑Exigences minimales
Les exigences minimales sont les mêmes que celles nécessaires pour faire fonctionner Super-Flash .
❑Contenu du produit
Le produit MicroC est inclus dans l'emballage du produit Super-Flash .
2021-2022 6
Chapitre 1: Introduction au langage MicroC
Commentaires
En mikroC, les commentaires de programmes peuvent être de deux types : de 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 terminent 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.
2021-2022 7
Chapitre 1: Introduction au langage MicroC
void main()
{
// Votre code ici
}
2021-2022 8
Plan du cours
Chapitre 1: Introduction au langage MicroC
• Définition du langage MicroC
• Applications et règles du langage MicroC
Chapitre 2: ELEMENTS DE PROGRAMMATION EN MIKROC
• Variables
• Constantes
• Séquences d'échappement
• Tableaux
• Pointeurs
• Structures
Chapitre 3: OPERATEURS ET EXPRESSIONS EN MIKROC
• Opérateur d’affectation
• Opérateurs arithmétiques
• Autres opérateurs unaires d’affectation
• Autres opérateurs binaires d’affectation
• Opérateurs de comparaison
• Opérateurs logiques
• Opérateurs de manipulation de bits
• Opérateur de dimension
Chapitre 4: LES STRUCTURES DE CONTROLE
• Instruction if
• Instruction switch
• Instructions d'itération for, while, do, goto, continue et break
Chapitre 5: MikroC pour Microcontrôleur PIC
• Définition du Microcontrôleur PIC
• Présentation du matériel PIC
• Fonctionnalités du Microcontrôleur PIC
• Ports E/S du Microcontrôleur PIC
• mikroC PRO pour les bibliothèques PIC
• Programmation du microcontrôleur Pic en MikroC
2021-2022 9
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Variables dans le langage MicroC
Une variable est une portion réservée d’une mémoire à laquelle on a donné un nom. 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). C’est cette définition qui réserve (alloue) la place mémoire
nécessaire en fonction du type.
La position de la déclaration ou de la définition d’une variable détermine sa portée c’est-à-dire sa
durée de vie et sa visibilité.
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 Som, 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.
2021-2022 10
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Variables dans le langage MicroC
2021-2022 11
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Constantes dans le langage MicroC
Les constantes représentent des valeurs fixes (numérique ou caractère) dans des programmes qui ne
peuvent pas être changées. En mikroC, les constantes peuvent être entiers, flottants, caractères,
chaînes ou des types énumérés.
Integer Constants
Les constantes entières (Integer Constants) peuvent être en décimal, hexadécimal, octal ou binaire.
Le suffixe u ou U force la constante d'être non signé (unsigned) et le suffixe l ou L force la constante
d'être longue (long). L’utilisation de U (ou u) et L (ou l) oblige la constante d'être unsigned long.
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 constante 100 :
const MAX =100;
Les constantes hexadécimales commencent par les caractères 0x ou 0X et peuvent contenir des données
numériques de 0 à 9 et les caractères hexadécimaux de A à F. Dans l'exemple suivant, TOTAL est la
constante de la valeur hexadécimale FF:
const TOTAL = 0xFF;
Les constantes octales ont un zéro au début du nombre et peuvent contenir des données numériques
de 0 à 7. Dans l'exemple suivant, une constante CNT est affectée une valeur octale 17 :
const CNT = 017;
Les constantes binaires commencent par 0b ou 0B et ne peuvent contenir que 0 ou 1. Par exemple
une constante nommée Min est déclarée comme ayant la valeur binaire 11110000 :
const Min = 0b11110000
2021-2022 12
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Constantes dans le langage MicroC
Floating Point Constants
Les constantes à virgule flottante (Floating Point Constants) se compose de :
❑Entier décimal
❑Point décimal
❑Partie décimale fractionnaire
❑e ou E et l'ordre du signe
Dans l'exemple suivant, une constante nommée TEMP est déclarée comme ayant la valeur
fractionnelle 37.50 :
const TEMP = 37.50 ou const TEMP = 3.750E1
2021-2022 13
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Constantess dans le langage MicroC
Character Constants
Une constante de caractère (Character Constants) est un caractère renfermé dans des guillemets
simples. Par exemple, une constante nommée First_Alpha est déclarée comme ayant la valeur du
caractère ‘A’:
const First_Alpha = ‘A’;
String Constants
Les constantes de chaîne (String Constants) sont des séquences fixes de caractères stockées dans la
mémoire flash du microcontrôleur. La chaîne doit commencer et se terminer par un guillemet « " ».
Un exemple d’une constante de type chaîne est la suivante :
const First_Alpha = "Il s'agit d'un exemple de chaine constante"
2021-2022 14
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Constantess dans le langage MicroC
Enumerated Constants
Les constantes énumérées (Enumerated Constants) sont de type entier et sont utilisées pour faire un
programme plus facile à suivre. Dans l'exemple suivant, une constante nommée couleur stocke les
noms de couleurs. Le premier élément de couleur a la valeur 0:
enum couleur {noir, marron, rouge, orange, jaune, vert, bleu, gris, white};
2021-2022 15
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Séquences d'échappement dans le langage MicroC
Les séquences d'échappement sont utilisées pour représenter les caractères ASCII non imprimables.
Par exemple, la combinaison de caractères « \n » représente le caractère de nouvelle ligne.
2021-2022 16
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Les tableaux sont utilisés pour stocker des éléments liés dans le même bloc de mémoire. Un tableau
est déclaré en spécifiant son type, le nom, et le nombre d’éléments à stocker. Par exemple :
unsigned int Total [5] ;
Dans le langage de programmation mikroC, nous pouvons aussi déclarer des tableaux aux
dimensions multiples. Tableaux unidimensionnels sont généralement appelés vecteurs, et des
tableaux bidimensionnels sont appelés matrices. Un réseau bidimensionnel est déclaré en spécifiant
le type de données de la matrice, le nom de tableau, et la taille de chaque dimension.
Dans l'exemple suivant, réseau bidimensionnel Q a deux rangées et deux colonnes, ses éléments
diagonaux sont mis à 1, et de ses éléments non diagonaux sont remis à 0 :
unsigned char Q[2][2] = { {1,0}, {0,1} };
2021-2022 17
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Pointeurs dans le langage MicroC
Notion de pointeur
Les pointeurs (Pointers) sont une partie importante du langage mikroC, car ils occupent les adresses
mémoire des autres variables. Les pointeurs sont déclarés de la même manière que d’autres
variables, mais avec le caractère « * » en face du nom de variable.
Dans l'exemple suivant, un pointeur de caractère non signé du nom pnt est déclaré :
unsigned char *pnt;
Quand un nouveau pointeur est créé, son contenu est d'abord indéterminé et il ne tient pas l'adresse
d'une variable. Nous pouvons attribuer l'adresse d'une variable à un pointeur à l'aide le « & » :
pnt = &Count;
Maintenant pnt affecte l'adresse de variable Count. La variable Count peut être affectée à une valeur
en utilisant le caractère « * » en avant de son pointeur. Par exemple, le Count peut être attribuée à
10 à l'aide de son pointeur :
* pnt = 10; // Count = 10
c’est la même chose que
Count = 10; // Count = 10
ou, la valeur du Count peut être copié à la variable Cnt en utilisant son pointeur :
Cnt = *pnt; // Cnt = Count
2021-2022 18
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Pointeurs dans le langage MicroC
Pointeurs et tableaux
Dans le langage mikroC, le nom d'un tableau est aussi un pointeur de tableau. Ainsi, pour le tableau:
unsigned int Total[10];
Le nom Total est également un pointeur de ce tableau, et il contient l'adresse du premier élément de
la matrice. Ainsi, les deux énoncés suivants sont égaux :
Total[2] = 0;
et
*(Total + 2) = 0;
2021-2022 19
Chapitre 2: ELEMENTS DE
PROGRAMMATION EN MIKROC
Structures dans le langage MicroC
Une structure peut être utilisée pour recueillir des éléments connexes, qui sont ensuite traités
comme un seul objet. Contrairement à un tableau, une structure peut contenir un mélange de types
de données. Par exemple, une structure permet de stocker les données personnelles (nom, prénom,
âge, date de naissance, etc.) d'un étudiant.
Une structure est créée en utilisant le mot-clé struct, suivi d'une structure de nom et d’une liste des
déclarations de membre. Éventuellement, des variables de même type que la structure peuvent
déclarer à l'extrémité de la structure.
L'exemple suivant déclare une structure nommée Personne :
struct Personne
{
unsigned char nom[20];
unsigned char prenom[20];
unsigned char nationalite[20];
unsigned char age;
}
Nous pouvons attribuer des valeurs aux élements d'une structure en spécifiant le nom de la
structure, suivi d'un point «.» et le nom de l'élément.
2021-2022 20
Plan du cours
Chapitre 1: Introduction au langage MicroC
• Définition du langage MicroC
• Règles du langage MicroC
Chapitre 2: ELEMENTS DE PROGRAMMATION EN MIKROC
• Variables
• Constantes
• Séquences d'échappement
• Tableaux
• Pointeurs
• Structures
Chapitre 3: OPERATEURS ET EXPRESSIONS EN MIKROC
• Opérateur d’affectation
• Opérateurs arithmétiques
• Autres opérateurs unaires d’affectation
• Autres opérateurs binaires d’affectation
• Opérateurs de comparaison
• Opérateurs logiques
• Opérateurs de manipulation de bits
• Opérateur de dimension
Chapitre 4: LES STRUCTURES DE CONTROLE
• Instruction if
• Instruction switch
• Instructions d'itération for, while, do, goto, continue et break
Chapitre 5: MikroC pour Microcontrôleur PIC
• Définition du Microcontrôleur PIC
• Présentation du matériel PIC
• Fonctionnalités du Microcontrôleur PIC
• Ports E/S du Microcontrôleur PIC
• mikroC PRO pour les bibliothèques PIC
• Programmation du microcontrôleur Pic en MikroC
2021-2022 21
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
Les opérateurs sont appliqués aux variables et d'autres objets dans les expressions pour assurer
certaines conditions ou des calculs.
Une expression est un objet syntaxique obtenu en assemblant des constantes, des variables et
des opérateurs.
Opérateur d’affectation
L’opérateur le plus important dans un langage de programmation est celui qui consiste à
donner une valeur à une variable. Cette opération est désignée par le symbole « = ».
2021-2022 22
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
opérateurs arithmétiques
2021-2022 23
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
2021-2022 24
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
2021-2022 25
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
opérateurs de comparaison
En mikroC, le résultat d’une comparaison est 1 (!= 0) ou 0 selon que cette comparaison est
vraie ou fausse. Il n’existe pas de type booléen en mikroC : la valeur entière 0 sera considérée
comme équivalente à la valeur faux et toute valeur différente de 0 équivalente à la valeur vraie.
2021-2022 26
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
opérateurs logiques
Une variable booléenne est une variable pouvant prendre la valeur vrai ou faux. La valeur
d’une expression booléenne est, comme le résultat des comparaisons, une valeur entière.
2021-2022 27
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
2021-2022 28
Chapitre 3: OPERATEURS ET
EXPRESSIONS EN MIKROC
Opérateur de dimension
Cet opérateur donne l’occupation mémoire (en octets) d’une variable ou d’un type de donné.
Exemple :
La valeur de l’expression sizeof(c) est 1 si c est une variable de type char.
2021-2022 29
Plan du cours
Chapitre 1: Introduction au langage MicroC
• Définition du langage MicroC
• Règles du langage MicroC
Chapitre 2: ELEMENTS DE PROGRAMMATION EN MIKROC
• Variables
• Constantes
• Séquences d'échappement
• Tableaux
• Pointeurs
• Structures
Chapitre 3: OPERATEURS ET EXPRESSIONS EN MIKROC
• Opérateur d’affectation
• Opérateurs arithmétiques
• Autres opérateurs unaires d’affectation
• Autres opérateurs binaires d’affectation
• Opérateurs de comparaison
• Opérateurs logiques
• Opérateurs de manipulation de bits
• Opérateur de dimension
Chapitre 4: LES STRUCTURES DE CONTROLE
• Instruction if
• Instruction switch
• Instructions d'itération for, while, do, goto, continue et break
Chapitre 5: MikroC pour Microcontrôleur PIC
• Définition du Microcontrôleur PIC
• Présentation du matériel PIC
• Fonctionnalités du Microcontrôleur PIC
• Ports E/S du Microcontrôleur PIC
• mikroC PRO pour les bibliothèques PIC
• Programmation du microcontrôleur Pic en MikroC
2021-2022 30
Chapitre 4: LES STRUCTURES DE
CONTROLE
Instruction if
Cette instruction conditionnelle permet d’exécuter des instructions de manière sélective en fonction
du résultat d’un test. La déclaration du format général de l’instruction if est la suivante :
if (expression)
instruction1
else
instruction2
Si l’expression est vraie, l’instruction1 s’exécute sinon, dans le deuxième cas, c’est l’istruction2 qui
s’exécute.
Exemple:
if (x> 0 && x <10)
{
Total + = Sum;
Sum++;
}
else
{
Total = 0;
Sum = 0;
} 2021-2022 31
Chapitre 4: LES STRUCTURES DE
CONTROLE
Instruction switch
L'instruction switch est utilisée pour assurer la commutation entre des différentes déclarations si un
certain nombre des conditions est vrai ou faux.
La syntaxe de commutation :
switch (condition)
{
case condition1: Instructions1; break;
case condition2: Instructions2; break;
.....................
case conditionN: InstructionsN; break;
default: InstructionsN+1;
}
Exemple:
switch (Cnt)
{
case 1: A=1; break;
case 10: B=10; break ;
case 100: C=100; break;
default: D=1;
} 2021-2022 32
Chapitre 4: LES STRUCTURES DE
CONTROLE
Instruction for
La syntaxe d'une instruction for est :
for (expression initiale; expression de condition; expression increment)
{
Instructions;
}
Exemple:
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++) Sum = Sum + M[i][j];
}
2021-2022 33
Chapitre 4: LES STRUCTURES DE
CONTROLE
2021-2022 35
Chapitre 4: LES STRUCTURES DE
CONTROLE
2021-2022 38
Chapitre 4: LES STRUCTURES DE
CONTROLE
2021-2022 39
Plan du cours
Chapitre 1: Introduction au langage MikroC
• Définition du langage MikroC
• Applications et règles du langage MikroC
Chapitre 2: ELEMENTS DE PROGRAMMATION EN MIKROC
• Variables
• Constantes
• Séquences d'échappement
• Tableaux
• Pointeurs
• Structures
Chapitre 3: OPERATEURS ET EXPRESSIONS EN MIKROC
• Opérateur d’affectation
• Opérateurs arithmétiques
• Autres opérateurs unaires d’affectation
• Autres opérateurs binaires d’affectation
• Opérateurs de comparaison
• Opérateurs logiques
• Opérateurs de manipulation de bits
• Opérateur de dimension
Chapitre 4: LES STRUCTURES DE CONTROLE
• Instruction if
• Instruction switch
• Instructions d'itération for, while, do, goto, continue et break
Chapitre 5: MikroC pour Microcontrôleur PIC
• Définition du Microcontrôleur PIC
• Présentation du matériel PIC
• Fonctionnalités du Microcontrôleur PIC
• Ports E/S du Microcontrôleur PIC
• mikroC PRO pour les bibliothèques PIC
• Programmation du microcontrôleur Pic en MikroC
2021-2022 40
Chapitre 5: MicroC pour microcontrôleur
PIC
Un microcontrôleur pic (parfois abrégé en uC ou MCU ) est un petit ordinateur dans un seul circuit
intégré contenant un cœur de processeur, une mémoire et des périphériques d'E/S programmables. La
mémoire de programme sous forme de flash NOR est également souvent incluse sur la puce, ainsi
qu'une petite quantité typique de RAM. Les microcontrôleurs Pic sont conçus pour les applications
embarquées contrairement aux microprocesseurs utilisés dans les ordinateurs personnels ou d'autres
applications à usage général.
Les microcontrôleurs sont fabriqués par un certain nombre de sociétés avec des fonctionnalités
différentes. Au fur et à mesure que la technologie progresse, non seulement de nouvelles
fonctionnalités sont ajoutées dans la famille de contrôleurs précédente, mais de nouvelles familles sont
également introduites. Les contrôleurs les plus couramment utilisés sont PIC, Atmel, AVR , Intel,
ATmega, etc. Même dans une seule famille, vous trouverez de nombreuses variations, du nombre de
broches de la puce au nombre de fonctionnalités fournies.
2021-2022 41
Chapitre 5: Introduction au monde des
microcontrôleurs
2021-2022 42
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 43
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 44
Chapitre 5: MicroC pour microcontrôleur
PIC
E/S à usage général (GPIO): les microcontrôleurs contiennent généralement de plusieurs à des dizaines
de broches d'entrée/sortie à usage général (GPIO). Les broches GPIO sont configurables par logiciel
sur un état d'entrée ou de sortie. Lorsque les broches GPIO sont configurées sur un état d'entrée, elles
sont souvent utilisées pour lire des capteurs ou des signaux externes. Configurées à l'état de sortie, les
broches GPIO peuvent piloter des périphériques externes tels que des LED ou des moteurs.
Convertisseurs analogique-numérique (ADC) : De nombreux systèmes embarqués ont besoin de lire
des capteurs qui produisent des signaux analogiques. C'est le but du convertisseur analogique-
numérique (CAN). Les processeurs étant conçus pour interpréter et traiter des données numériques,
c'est-à-dire des 1 et des 0, ils ne sont pas en mesure de faire quoi que ce soit avec les signaux
analogiques qui peuvent leur être envoyés par un appareil. Ainsi, le convertisseur analogique-
numérique est utilisé pour convertir les données entrantes sous une forme que le processeur peut
reconnaître. Une caractéristique moins courante sur certains microcontrôleurs est un convertisseur
numérique-analogique (DAC) qui permet au processeur de produire des signaux analogiques ou des
niveaux de tension.
2021-2022 45
Chapitre 5: MicroC pour microcontrôleur
PIC
Minuteries : Dans les microcontrôleurs pic, les minuteries de programmation sont très utiles. En plus
des convertisseurs, de nombreux microprocesseurs intégrés incluent également une variété de
minuteries. L'un des types de minuteries les plus courants est la minuterie d'intervalle programmable
(PIT). Un PIT peut soit compter à rebours d'une valeur à zéro, soit jusqu'à la capacité du registre de
comptage, débordant jusqu'à zéro. Une fois qu'il atteint zéro, il envoie une interruption au processeur
indiquant qu'il a fini de compter. Ceci est utile pour les appareils tels que les thermostats, qui testent
périodiquement la température autour d'eux pour voir s'ils doivent allumer le climatiseur, le chauffage,
etc. Les minuteries sont une partie très importante des microcontrôleurs sur lesquels se concentreraient
les laboratoires ultérieurs. .
Modulation de largeur d'impulsion (PWM) : un bloc dédié à la modulation de largeur d'impulsion
(PWM) permet au CPU de contrôler les convertisseurs de puissance, les charges résistives, les moteurs,
etc., sans utiliser beaucoup de ressources CPU dans des boucles de temporisation serrées. Le matériel
de génération PWM reste occupé à générer un signal d'horloge de la fréquence et du cycle de service
souhaités tandis que le processeur peut exécuter des programmes réguliers.
Universal Synchronous Asynchronous Receiver/Transmitter (USART) : Ce bloc permet de recevoir et
de transmettre des données sur une ligne série avec très peu de charge sur le CPU. Le matériel sur puce
dédié comprend également souvent des capacités pour communiquer avec d'autres appareils (puces)
dans des formats numériques tels que I²C et Serial Peripheral Interface (SPI).
2021-2022 46
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 47
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 48
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 49
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 50
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 51
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 52
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 53
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 54
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 55
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 56
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 57
Chapitre 5: MicroC pour microcontrôleur
PIC
Récapitulatif
Vous n'écrirez probablement jamais un programme qui n'utilise pas les ports, donc l'effort que vous ferez
pour tout apprendre à leur sujet sera certainement payant. Quoi qu'il en soit, ce sont probablement les
modules les plus simples du microcontrôleur.
Voici comment ils sont utilisés :
Lors de la conception d'un appareil, sélectionnez un port via lequel le microcontrôleur communiquera avec
l'environnement périphérique. Si vous n'utilisez que des entrées/sorties numériques, sélectionnez le port de
votre choix. Si vous avez l'intention d'utiliser certaines des entrées analogiques, sélectionnez les ports
appropriés prenant en charge une telle configuration de broches (AN0-AN13).
Chaque broche de port peut être configurée en entrée ou en sortie. Les bits des registres TRISA, TRISB,
TRISC, TRISD et TRISE déterminent comment les broches de port appropriées - PORTA, PORTB,
PORTC, PORTD et PORTE agiront.
Si vous utilisez certaines des entrées analogiques, il est d'abord nécessaire de définir les bits appropriés des
registres ANSEL et ANSELH au début du programme.
Si vous utilisez des commutateurs et des boutons-poussoirs comme source de signal d'entrée, connectez-les
aux broches du port B car ils ont des résistances de rappel.
Il est généralement nécessaire de répondre dès que les broches d'entrée changent d'état logique. Cependant,
il n'est pas nécessaire d'écrire un programme pour vérifier l'état logique des broches. Il est beaucoup plus
simple de connecter de telles entrées aux broches PORTB et de permettre à une interruption de se produire
à chaque changement de tension.
2021-2022 58
Chapitre 5: MicroC pour microcontrôleur
PIC
➢Bibliothèque ADC
➢Bibliothèque CAN
➢Bibliothèque CANSPI
➢Bibliothèque Compact Flash
➢Bibliothèque EEPROM
➢Bibliothèque graphique LCD Epson S1D13700
➢Bibliothèque Ethernet PIC18FxxJ60
➢Bibliothèque de mémoire flash
➢Bibliothèque graphique LCD
➢Bibliothèque I²C
➢Bibliothèque de claviers
➢Bibliothèque LCD
➢Bibliothèque de codes de Manchester
➢Bibliothèque du gestionnaire de mémoire
➢Bibliothèque de cartes multimédia
➢Bibliothèque OneWire
2021-2022 59
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 61
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 62
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 63
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 65
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 66
Chapitre 5: MicroC pour microcontrôleur
PIC
2021-2022 67
Chapitre 5: MicroC pour microcontrôleur
PIC
//Programme source
//Editeur du compilateur MikroC Pro V6
void main()
{
trisb =0x00;
do
{
portb=0x00;//port B reçoit 0x00
delay_ms(1000);//pause d’une seconde
portb=0xff;//port B reçoit 0xFF
delay_ms(1000);//pause d’une seconde
}while(1); //boucle do-while (boucle // infinie avec while(1) )
}
2021-2022 68