0% ont trouvé ce document utile (0 vote)
26 vues50 pages

Programmation et architecture des microcontrôleurs

Le document présente l'architecture des microcontrôleurs, en mettant l'accent sur leur structure, les composants essentiels, et les avantages qu'ils offrent. Il décrit également les microcontrôleurs PIC, leur identification, et fournit des détails sur le modèle 16F877, y compris la mémoire, les ports d'entrée/sortie et les interruptions. Enfin, il aborde les différents types de mémoire et les périphériques associés aux microcontrôleurs.

Transféré par

aminelamoudne15
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues50 pages

Programmation et architecture des microcontrôleurs

Le document présente l'architecture des microcontrôleurs, en mettant l'accent sur leur structure, les composants essentiels, et les avantages qu'ils offrent. Il décrit également les microcontrôleurs PIC, leur identification, et fournit des détails sur le modèle 16F877, y compris la mémoire, les ports d'entrée/sortie et les interruptions. Enfin, il aborde les différents types de mémoire et les périphériques associés aux microcontrôleurs.

Transféré par

aminelamoudne15
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

01/12/2024

Programmer un microcontrôleur pour la commande


d’un système industriel

Architecture d’un microcontrôleur :

Un microcontrôleur est un circuit intégré rassemblant un microprocesseur et


d’autres composants tels que de la mémoire et des périphériques. Il permet
de réaliser des montages sans nécessiter l’ajout de composants annexes.
01/12/2024

Architecture d’un microcontrôleur :

Les avantages des microcontrôleurs sont :

– un faible encombrement,
– un circuit imprimé relativement simple,
– un coût modeste,
– une bonne fiabilité,
– une bonne rapidité,
– une faible consommation

Architecture d’un microcontrôleur :

Structure générale:

Un microcontrôleur est composé au minimum des éléments suivants :


– un microprocesseur (CPU pour Central Processing Unit, unité centrale),
– une horloge (avec éventuellement un quartz externe),
– de la mémoire,
– des interfaces parallèles pour la connexion des entrées et des sorties.
01/12/2024

Architecture d’un microcontrôleur :

Ces différents éléments de la structure des microcontrôleurs sont reliés par un ou


plusieurs bus.
Deux architectures différentes existent :

• la structure de Von Neumann qui utilise une • la structure de Harvard où la mémoire pour
mémoire unique pour le programme le programme est séparée de la mémoire
et les données. pour les données .

Architecture d’un microcontrôleur :

Outre les ports parallèles, on peut trouver :

– des interfaces série RS232 ou I2C pour la communication ;


– des compteurs (timers) permettent de générer des impulsions ou de mesurer
des durées avec une grande précision ;
– des convertisseurs analogique-numérique pour le traitement de signaux
analogiques ;
– des modules de modulation de largeur d’impulsion (PMW, pulse-width
modulation) pour la commande de charges de puissance comme les moteurs, etc
01/12/2024

Architecture d’un microcontrôleur :

Microprocesseur :

Il exécute les instructions présentes dans la mémoire de programme de façon


séquentielle. Il est constitué des éléments suivants :
– une unité arithmétique et logique (UAL ou ALU pour Arithmetic Logic Unit) qui
effectue les opérations ;
– un séquenceur qui commande le fonctionnement du microprocesseur ;
– un décodeur d’instruction qui détermine la tâche à exécuter
– un compteur ordinal qui génère l’adresse de l’instruction à exécuter ou de la
donnée à traiter ;
– un ou plusieurs registres accumulateurs qui contiennent temporairement les
opérandes et les résultats ;
– différents registres associés aux périphériques

Architecture d’un microcontrôleur :

Microprocesseur :
01/12/2024

Architecture d’un microcontrôleur :

Horloge:

Le signal d’horloge cadence le fonctionnement du microprocesseur. Il est


produit par un oscillateur à quartz qui est souvent formé d’un circuit actif
interne (inverseur et résistance) et d’un quartz et de condensateurs externes

Il existe également des horloges totalement internes. Plus la fréquence d’horloge


est élevée, plus le processeur travaille vite.

Architecture d’un microcontrôleur :

Mémoire de programme :

Elle contient les instructions du programme. C’est une mémoire morte dont le
type exact dépend du modèle de microcontrôleur :
– ROM, dont le contenu est programmé par son constructeur ;
– PROM, inscrite par l’utilisateur grâce à un programmateur ;
– EPROM ou UVPROM, programmable par l’utilisateur et pouvant être effacée par
un rayonnement ultraviolet ;
– EEPROM, programmable et effaçable électriquement ;
– flash, programmable et effaçable électriquement, mais plus rapide.
01/12/2024

Architecture d’un microcontrôleur :

Mémoire de données:

Elle contient les données utilisées par le microprocesseur et elle est accessible en
lecture et en écriture. On en trouve deux catégories :
– RAM, mémoire volatile (les données sont perdues quand l’alimentation est cou-
pée) dont les temps de lecture et d’écriture sont courts ;
– EEPROM, mémoire non volatile (les données sont conservées quand l’alimenta-
tion est coupée) ayant un temps de lecture court, mais un temps d’écriture beau-
coup plus long.

Architecture d’un microcontrôleur :

Interfaces parallèles:

Elles peuvent être configurées soit en entrées, soit en sorties, ce qui leur permet de :
– prendre en compte des états logiques représentant des informations externes,
comme les résultats de mesure par des capteurs ;
– générer des états logiques destinés à la commande d’actionneurs.
Les interfaces parallèles sont regroupées en plusieurs ports d’entrées/sorties.
La configuration et les états logiques des différentes broches sont définis dans des
registres associés aux ports.
01/12/2024

Architecture d’un microcontrôleur :

Interfaces série

Une interface série permet de communiquer avec d’autres systèmes. On


rencontre principalement une liaison ou une liaison I2C .

Architecture d’un microcontrôleur :

• Convertisseur analogique-numérique
Il permet de prendre en compte des informations analogiques, par exemple des
résultats issus de capteurs. Il utilise la méthode des approximations successives.

• Convertisseur numérique-analogique
Il permet de produire un signal analogique (tension) à partir des états logiques
internes.
01/12/2024

Architecture d’un microcontrôleur :

Compteur (timer) :

Il sert à différentes fonctions :


– comptage d’événements,
– temporisation,
– génération d’une impulsion calibrée,
– génération d’un signal périodique

Architecture d’un microcontrôleur :

Chien de garde (watchdog)


Cette structure vérifie le bon déroulement du programme.

Bus
On distingue trois types de bus :
– le bus d’adresses,
– le bus de données,
– le bus de commande.
01/12/2024

Architecture d’un microcontrôleur :

 Bus : Il s’agit de plusieurs pistes électroniques qui sont reliées au


microprocesseur. Ces bus assurent la communication interne et externe du
microprocesseur.
 Le bus de données : c’est un ensemble de fils bidirectionnels qui va permettre
le transfert de données entre les différents éléments du système.

 Le bus d’adresses : il permet d’adresser un élément par le microprocesseur .il


est unidirectionnel

 Le bus de commandes et de contrôle : c’est un bus qui permet de véhiculer les


signaux de contrôles et de commandes tels que l’horloge les signaux Rd/Wr etc …

les microcontrôleurs PIC

Familles de microcontrôleurs PIC:

Parmi les nombreuses références disponibles, nous prendrons comme exemple les
microcontrôleurs PIC de Microchip. Ce sont des microcontrôleurs à architecture
Harvard : les mémoires de programme et de données sont séparées. Ils utilisent des
processeurs RISC, c’est-à-dire employant un jeu d’instructions réduit, ce qui accélère
l’exécution du programme.
Il existe trois familles de PIC :
– base-line : les instructions sont codées sur 12 bits,
– mid-range : les instructions sont codées sur 14 bits,
– high-end : les instructions sont codées sur 16 bits.
01/12/2024

les microcontrôleurs PIC

Identification des PIC

Un PIC est identifié par un numéro. Considérons par exemple le modèle 16F84.
Les deux premiers chiffres (qui peuvent être 12, 14, 16, 17, 18) précisent la
famille : 16 pour mid-range.
La lettre suivante donne le type de mémoire de programme :
F signifie mémoire flash (ce serait C pour EPROM ou CR pour PROM).
Les deux chiffres suivants forment un numéro d’identification.
Il peut ensuite y avoir deux chiffres après un tiret indiquant la fréquence
maximale du quartz (10 pour 10 MHz).
pour le 16F84-04 Par exemple –04 pour un 4MHz.

les microcontrôleurs PIC

Description du PIC 16F877


01/12/2024

les microcontrôleurs PIC

Exercice :

Consulter la documentation technique du PIC 16F877.


1. Quel est le nombre de bits de ce microcontrôleur ?
2. Quel est le type de mémoire de programme ? Comment repère-t-on cette
information sur le numéro du composant ? Sur combien de bits sont codées les
instructions ?
Quelle est la capacité de cette mémoire ?
3. Quels sont les types de mémoire de données ? Sur combien de bits sont codées
les données ? Quelle est la capacité de ces mémoires (en octets puis en bits) ?
4. Quel est le nombre de bornes d’entrées-sorties ?

les microcontrôleurs PIC

1. Le PIC 16F877 est un microcontrôleur 8 bits.

2 La mémoire de programme est du type flash (mémoire effaçable


électriquement). C’est la signification de la lettre F dans le numéro du PIC.
Les instructions sont codées sur 14 bits.
La capacité de cette mémoire est de : 8K x 14 mots
3- Les mémoires de données sont d’une part une RAM (mémoire vive) et d’autre
part une EEPROM (mémoire programmable et effaçable électriquement). Les
données sont codées sur 8 bits. La capacité de la RAM est de 368 octets, soit 368
× 8 = 2944 bits. La capacité de l’EEPROM est de 256 octets, soit 256 × 8 = 2048
bits.
4- Le composant possède 33 bornes d’entrées-sorties réparties sur 5 ports.
Port A : RA0RA5 Port B :RB0RB7 Port C: RC0RC7 , Port D: RD0RD7
, Port E : RE0RE2
01/12/2024

les microcontrôleurs PIC

La mémoire d'un PIC 16F877 est divisée en 3


sections :
- Mémoire programme
- Mémoire de données
- EEPROM de données

Architecture interne du PIC 16F877

les microcontrôleurs PIC


Mémoire programme :

 les microcontrôleurs PIC16F877 ont un compteur


de programme de 13 bits qui est capable
d'adresser un espace mémoire de programme de
8K × 14 bits. Cette mémoire est principalement
utilisée pour stocker les programmes qui sont
écrits pour être utilisés par le PIC.

 Ces microcontrôleurs disposent également de


8K*14 bits de mémoire flash qui peuvent être
effaçables/reprogrammés électriquement.

organisation de la mémoire programme


01/12/2024

les microcontrôleurs PIC


Mémoire de données :

La puce PIC16F877 n'a que quatre banques (BANK 0, BANK 1,


BANK 2 et BANK4) comme le montre la figure

La sélection des banques est déterminée par les bits de


contrôle RP1, RP0 dans le registre STATUS

les microcontrôleurs PIC

Les périphériques du microcontrôleur PIC16F877

- Les ports d’entrée/sortie du microcontrôleur PIC16F877 :

- Le Timer:

- Les convertisseurs analogiques/numériques:

- Le compteur :

- Les interruptions du microcontrôleur PIC16F877 :


01/12/2024

Architecture interne du PIC 16F877

Les périphériques du microcontrôleur PIC16F877

Les ports d’entrée/sortie du microcontrôleur PIC16F877

 La série PIC 16F877 a normalement cinq ports


d'entrée/sortie.
PORTB
PORTA

 Ils sont utilisés pour l'interface d'entrée/sortie avec d'autres


appareils/circuits.

 La plupart de ces broches de port sont multiplexées pour


PORTE

gérer d’autre fonction.


PORTD PORTC PORTD

 Tous les ports d'une puce PIC sont bidirectionnels.


PORTC
PORTD
01/12/2024

Les périphériques du microcontrôleur PIC16F877

Les ports d’entrée/sortie du microcontrôleur PIC16F877

PORTA et le registre TRISA

 Le PORT A est un port bidirectionnel de 6 bits de large, la


direction de ce port est contrôlée par le registre de direction
des données TRISA.

 La définition d'un TRISA (= 1) fait de la broche PORTA


correspondante une entrée, la suppression du TRIS A (= 0)
fait de la broche PORTA correspondante une sortie.

 La broche RA4 est multiplexée avec l'entrée d'horloge du


module "Timer0" .

Les périphériques du microcontrôleur PIC16F877

Les ports d’entrée/sortie du microcontrôleur PIC16F877

PORTB et le registre TRISB

Le PORTB est également un PORT bidirec onnel 8 bits.


Sa direction est contrôlée et maintenue par le registre de
direction de données TRISB.

Trois broches du PORTB sont mul plexées avec la fonc on de


programmation basse tension : RB3/PGM, RB6/PGC et
RB7/PGD.
01/12/2024

Les périphériques du microcontrôleur PIC16F877

Les ports d’entrée/sortie du microcontrôleur PIC16F877

PORTC et le registre TRISC

Le PORTC est un PORT bidirectionnel de 8 bits de large qui est


contrôlé et maintenu par le registre de direction de données
TRISC.

Les périphériques du microcontrôleur PIC16F877

Les ports d’entrée/sortie du microcontrôleur PIC16F877

PORTD et le registre TRISD

Le PORTD est un PORT 8 bits à caractère bidirectionnel. chaque broche


de ce PORTD étant configurable individuellement en entrée ou en
sortie.
01/12/2024

Les périphériques du microcontrôleur PIC16F877

Les ports d’entrée/sortie du microcontrôleur PIC16F877

PORTE et le registre TRISE

Le PORT E n'a que trois broches (RE0/RD/AN5, RE1/WR/AN6 et


RE2/CS/AN7) qui sont configurables individuellement comme
entrées ou sorties.

Les périphériques du microcontrôleur PIC16F877

Les interruptions du microcontrôleur PIC16F877

une routine d’interruption est un sous-programme particulier, déclenché par l’apparition


d’un événement spécifique.
01/12/2024

Les périphériques du microcontrôleur PIC16F877

Les interruptions du microcontrôleur PIC16F877

Le microcontrôleur 16F877A possède 15 sources d’interruptions :


- Timer 0
- Timer 1
- RB0 du port B
- Changement d’état du port B
- Port parallèle (lecture/ecriture)
- Convertisseur ADC
- Transmission sur UART
- Réception sur UART
- Synchronisation du port série
- CCP1 (Capture, Compare, PWM)
- CCP2 (Capture, Compare, PWM)
- Timer 2
- Comparateur
- Opération d’écriture dans la mémoire EEPROM
- Collusion de bus.

Les périphériques du microcontrôleur PIC16F877


Les interruptions du microcontrôleur PIC16F877

. Chaque interruption a un bit d’autorisation (Enable) et un bit indicateur (Flag).


01/12/2024

Les périphériques du microcontrôleur PIC16F877


Les interruptions du microcontrôleur PIC16F877
registre INTCON

 GIE (Global Interrupt Enable) – Bit 7  RBIE (RB Port change Interrupt Enable) – Bit 3
o ‘1’ : Activer toutes les interruptions o ‘1’ : Activer l’interruption de changement du port B
o ‘0’ : Désactiver toutes les interruptions o ‘0’ : Désactiver l’interruption de changement du port B

 PEIE (Peripheral Interrupt Enable ) – Bit 6  TM0IF (Timer 0 Overflow Interrupt Flag) – Bit 2
o ‘1’ : Activer toutes les interruptions des périphériques o ‘1’ : Indicateur d’interruption de débordement du Timer 0 (active)
o ‘0’ : Désactiver toutes les interruptions des périphériques o ‘0’ : Indicateur d’interruption de débordement du Timer 0 (non active)

 TMR0IE (Timer 0 Interrupt Enable) – Bit 5  INTF (RB0/INT External Interrupt Flag) – Bit 1
o ‘1’ : Activer l’interruption du TIMER0 o ‘1’ : Indicateur d’interruption externe (active)
o ‘0’ : Désactiver l’interruption du TIMER0 o ‘0’ : Indicateur d’interruption externe (non active)

 INTE (RB0/INT External Interrupt Enable) – Bit 4  RBIF (RB Port Change Interrupt Flag) – Bit 0
o ‘1’ : Activer l’interruption externe o ‘1’ : Indicateur de d’interruption du changement du port B (active)
o ‘0’ : Désactiver l’interruption externe o ‘0’ : Indicateur de d’interruption du changement du port B (non active)

Les périphériques du microcontrôleur PIC16F877


Les interruptions du microcontrôleur PIC16F877
Exemple :

Une interruption externe, action sur la broche INT/RB0.


01/12/2024

Les périphériques du microcontrôleur PIC16F877


Les interruptions du microcontrôleur PIC16F877
Exercice d’application :

Soit le montage de la figure suivante :

Ecrire un programme qui accepte des interruptions sur RB4 et :


- A chaque impulsion sur le bouton poussoir B4 le moteur s’arrete pendant 1 s et continue a
tourner.

Les périphériques du microcontrôleur PIC16F877

Les interruptions du microcontrôleur PIC16F877

Interruption primaire

1) Valider le bit concernant cette interruption


2) Valider le bit GIE (General interrupt enable) qui met toutes les interruptions choisies en service
01/12/2024

Les périphériques du microcontrôleur PIC16F877

Les interruptions du microcontrôleur PIC16F877

Interruption périphérique

Voici donc les 3 étapes nécessaires à la mise en service d’une telle interruption :
1) Validation du bit concernant l’interruption dans le registre concerné (PIE1 ou PIE2)
2) Validation du bit PEIE (PEripheral Interrupt Enable bit) du registre INTCON
3) Validation du bit GIE qui met toutes les interruptions en service.

Les périphériques du microcontrôleur PIC16F877


Caractéristiques du CAN interne des PIC 16F877
Il s’agit d’un convertisseur A/N 10 bits à 8 entrées. Les 5 premiers sont sur le PORTA en
RA0, RA1, RA2, RA3 et RA5. Les 3 entrées supplémentaires sont sur le PORTE en RE0, RE1,
RE2.
Ce dernier permet de convertir une tension analogique comprise entre Vref- et Vref+ en
une valeur numérique comprise entre 0 et 1023.
01/12/2024

Les périphériques du microcontrôleur PIC16F877


Caractéristiques du CAN interne des PIC 16F87XA

La configuration du microcontrôleur est assurée par les registres suivant :

Les périphériques du microcontrôleur PIC16F877


Caractéristiques du CAN interne des PIC 16F87XA
Pour exploiter ce convertisseur il est nécessaire de configurer certains registres dans le
microcontrôleur, dans la suite on s’intéressera uniquement au registre ADCON1 pour sélectionner et
activer les entrées analogiques multiplexées avec le port A et le port E du PIC16F877.
Le Registre ADCON1 :
01/12/2024

Les périphériques du microcontrôleur PIC16F877


Caractéristiques du CAN interne des PIC 16F87XA

Les périphériques du microcontrôleur PIC16F877


Le Timer
Le microcontrôleur 16F877A contient 3 TIMERs
•Timer0 : 8 bits en mode compteur/timer programmable.
•Timer1 : 16 bits en mode compteur/timer programmable.
•Timer2 : 8 bits en mode compteur/timer avec un registre de 8 bits programmable.
01/12/2024

Les périphériques du microcontrôleur PIC16F877


Timer0

Les registres en relation avec le Timer0 :


•TIMR0
•OPTION_REG
•INTCON

TIMER0 :
8 bits en lecture et écriture, c’est le registre qui
contient la valeur du timer.

On peut compter les impulsions reçues sur le pin RA4/TOKI (mode compteur) ou compter le
nombre des cycles du microcontrôleur (mode timer).

Les périphériques du microcontrôleur PIC16F877


Timer0
OPTION_REG :
C’est le registre qui va nous permettre de choisir le mode fonctionnement du Timer0 et
définir le facteur d’échelle.
01/12/2024

Les périphériques du microcontrôleur PIC16F877


Timer0
Comment calculer la valeur du compteur pour un temps donné ?

On va calculer la valeur de Count pour TMR0=0, Prescaler =256, Fclk=4MHz et Fout =1Hz (Tout =1s) :

Les périphériques du microcontrôleur PIC16F877


Timer1
Le Timer1 fonctionne sur le même principe que le Timer0, mais avec un registre de
comptage plus gros : 16 bits au lieu de 8, ce qui étend notablement ces capacités de comptage. Il
est accessible en lecture/écriture par l'intermédiaire des registres 8 bits TMR1H et TMR1L, On le
configure à l'aide du registre T1CON.
01/12/2024

Les périphériques du microcontrôleur PIC16F877


Timer1

Les périphériques du microcontrôleur PIC16F877


Timer1
Comment configurer le TIMER1 :

Bit 0 : TMR1ON - Timer1 On bit 1 - Enable timer TMR1.


0 - Stop timer TMR1.

Bit 1 : TMR1CS - Timer TMR1 Clock Source Select bit


1 - Count pulses on the T1CKI pin (on the rising edge 0-1).
0 - Count pulses of the microcontroller internal clock

Bit 2 : T1SYNC = 1
01/12/2024

Les périphériques du microcontrôleur PIC16F877


Timer2
Le TIMER2 :

Le Timer2 a un fonctionnement différent des Timer0 et Timer 1. C'est un compteur 8 bits avec
prédiviseur et postdiviseur. Son horloge ne peut être que l'horloge interne divisée
par 4 (Fosc/4).On s'en sert pour générer des signaux carrés, ou, en association avec le module
CCP, des signaux PWM.

Les périphériques du microcontrôleur PIC16F877


Timer2
Comment configurer le TIMER2 :

Bit 0 , Bit 1: T2CKPS1, T2CKPS0

Bit 2 : TMR2ON
•the timer TMR2 on.
1 - Timer TMR2 is on.
0 - Timer TMR2 is off
01/12/2024

Les périphériques du microcontrôleur PIC16F877


Timer2
Comment configurer le TIMER2 :
TOUTPS3 - TOUTPS0

Les périphériques du microcontrôleur PIC16F877 : PWM

Définition du Signal PWM (PWM, pour Pulse Width Modulation en anglais) :

Le PWM consiste à générer un signal carré où la durée de l'impulsion (la partie où le signal
est haut) varie tout en gardant la période constante. La proportion de temps où le signal est
haut par rapport à la période totale est appelée le rapport cyclique, et c'est ce rapport qui
détermine la puissance moyenne fournie au dispositif.
01/12/2024

Les périphériques du microcontrôleur PIC16F877 : PWM

•PWMx_Init () :

•PWMx_Set_Duty() :

•PWMx_Start() :

•PWMx_Stop() :

Les périphériques du microcontrôleur PIC16F877 : I2C

L'I2C, ou Inter-Integrated Circuit, est un protocole de communication série qui permet à


plusieurs périphériques de partager le même bus de communication à deux fils. Il est
couramment utilisé dans les systèmes embarqués et est pris en charge par de nombreux
microcontrôleurs.
01/12/2024

59
Programmation du microcontrôleur

Programmation C d’un PIC

Comme toute solution programmable, le microcontrôleur nécessite un outillage informatique


et éventuellement un programmateur. A chaque microcontrôleur correspond son outil de
développement .

Pour développer une application fonctionnant à l’aide d’un microcontrôleur, il faut disposer de :

IDE : MPLAB C, Assembleur ====> langage machine


MICRO C FOR PIC

60
Programmation du microcontrôleur

Programmation C d’un PIC


01/12/2024

61
Programmation du microcontrôleur

Programmation C d’un PIC

Le programmateur : Transfert le programme compilé (langage machine) dans la mémoire du


microcontrôleur. Il est constitué d’un circuit branché sur le port série du PC, sur lequel on
implante le PIC, et d’un logiciel permettant d’assurer le transfert.

62
Programmation du microcontrôleur

 Un algorithme est une suite d’instructions qui une fois exécutée correctement, conduit à un résultat
donnée.

 Exemple d’algorithmes dans notre vie quotidienne: Préparer une recette de gâteau , ranger et classer
ces courses…
01/12/2024

Programmation du microcontrôleur

Algorithmique et programmation
Pourquoi apprendre l’algorithmique pour apprendre à programmer ?

Traduction

4
Algorithme Programme

l’algorithmique exprime les instructions résolvant un problème donné indépendamment des particularités
de tel ou tel langage.

Programmation du microcontrôleur

Avec quelles conventions écrit-on un algorithme ?

Organigramme
Un organigramme en informatique, est une représentation graphique d'un problème, de son analyse et de sa
résolution à l'aide de symboles traduisant des opérations, des données, des liaisons ou des appareils.
Symboles de base d'un algorigramme

5
01/12/2024

Programmation du microcontrôleur

Symboles de base d'un algorigramme

Programmation du microcontrôleurs PIC

LES STRUCTURES ALGORITHMIQUES:

Les structures algorithmiques sont réparties en 3 catégories :


- structures linéaire d'opérations;
- structures alternatives (ou conditionnelles) ou de choix : en fonction
d'une condition, le programme exécute des opérations différentes;
- structures itératives ou répétitives: sous contrôle d'une condition,
une séquence d'opérations est exécutée répétitivement.
01/12/2024

Programmation du microcontrôleurs PIC

 Structure linéaire

Programmation du microcontrôleurs PIC

 Structures alternatives
Structure SI ... ALORS ...
01/12/2024

Programmation du microcontrôleurs PIC

 Structures alternatives

Structure SI ... ALORS ...SINON ...

Programmation du microcontrôleurs PIC

 Structures alternatives
Structure de choix multiple
01/12/2024

Programmation du microcontrôleurs PIC

 Structures itératives (ou répétitives)

Structure REPETER ... JUSQUA ...

Programmation du microcontrôleurs PIC

 Structures itératives (ou répétitives)

Structure TANT QUE ... FAIRE ...


01/12/2024

Programmation du microcontrôleurs PIC

 Structures itératives (ou répétitives)

Structure POUR Indice DE ... A .... FAIRE ...

Programmation du microcontrôleurs PIC


Organigramme du contrôle de la température :
01/12/2024

Programmation du microcontrôleur

Structure d’un programme en C :

La structure d’un programme en C pour un PIC est donnée comme suit :

Programmation du microcontrôleur

Structure d’un programme en C :


01/12/2024

Programmation du microcontrôleur

Les variables en C :

Les différents types de variables utilisées en C sont les suivantes :

Programmation du microcontrôleur

Remarque : on notera les variables hexa et binaires comme suit :


• 0x : HEXA
• 0B : Binaire
• 0xff,0x55 etc…
• 0b01010101 / 0b10101110
01/12/2024

Programmation du microcontrôleur
Les opérateurs en C :

Les opérateurs arithmétiques :

Ces opérateurs permettent d’effectuer les opérations arithmétiques traditionnelles : addition,


soustraction, multiplication et division entière entre des variables.

Programmation du microcontrôleur
Les opérateurs en C :

Les opérateurs d’affectation


01/12/2024

Programmation du microcontrôleur

Les opérateurs logiques :

Programmation du microcontrôleur

Les opérateurs de tests conditionnels :


01/12/2024

Programmation du microcontrôleur

Les opérateurs de comparaison :

Programmation du microcontrôleur

Les structures en C :

Les structures répétitives :

- La boucle While :
Elle permet de construire une structure pour laquelle le bloc d’instructions à répéter peut
´éventuellement n’être jamais exécute car la condition est vérifiée avant le bloc.
01/12/2024

Programmation du microcontrôleur

Les structures en C :

Les structures répétitives :


- La boucle Do …. While

Cette forme permet de construire une structure répétitive dans laquelle la condition de re-bouclage est
vérifiée `a la fin : on est donc certain d’exécuter au moins une fois le bloc d’instruction à répéter.

Programmation du microcontrôleur

Les structures en C :

Les structures répétitives :

- La boucle For :
Répète un nombre fixé de fois une suite d’instruction
01/12/2024

Programmation du microcontrôleur

Les structures en C :

Les structures répétitives :

- La boucle For :
Répète un nombre fixé de fois une suite d’instruction

Programmation du microcontrôleur

Les structures en C :

Les structures conditionnelles :


La structure conditionnelle if permet de réaliser un test et d'exécuter une instruction
ou non selon le résultat de ce test.
01/12/2024

Programmation du microcontrôleur
Les structures en C :
La structure Switch … case :
Le langage C offre une instruction switch qui est un if généralisé.

90
Programmation du microcontrôleur

PORTx et registre TRISx

• Le port x désigné par PORTx.


• La configuration de direction pour chaque bit du port est déterminée avec le registre TRISx.
• Bit i de TRISx = 0 bit i de PORTx configuré en sortie
• Bit i de TRISx = 1 bit i de PORTx configuré en entrée

x = {A,B,C,D,E} pour le PIC16F877


01/12/2024

91
Programmation du microcontrôleur

Allumer une LED

TPx :
01/12/2024

Programmation du microcontrôleur

Les résistances de pull-up et de pull-down :

Les résistances de pull-up et de pull-down sont des types de résistances utilisées dans des
circuits électroniques pour définir un niveau logique par défaut sur une broche (pin) d'un
composant électronique, notamment dans les microcontrôleurs, les microprocesseurs et
d'autres dispositifs intégrés.

Programmation du microcontrôleur

Les résistances de pull-up et de pull-down :

Résistance de Pull-Up :
•Une résistance de pull-up connecte la broche à la tension d'alimentation (VCC ou une source positive). Elle
établit un niveau logique haut (1) par défaut sur la broche en l'absence d'une influence externe.
Lorsqu'aucun dispositif externe ne force la broche à un niveau bas (0), la résistance de pull-up maintient le
niveau logique à 1.
01/12/2024

Programmation du microcontrôleur

Les résistances de pull-up et de pull-down :

Utilisation pratique :

•Les résistances de pull-up et de pull-down sont souvent utilisées pour garantir que les broches
d'un microcontrôleur ou d'un autre composant électronique ont des niveaux de signal définis,
même en l'absence d'une entrée explicite. Elles sont particulièrement utiles dans les circuits
numériques où les broches doivent être maintenues à un niveau connu pour éviter des états
indéterminés.

Cahiers des charges :

Gestion de deux feux tricolores de circulation (carrefour)

1- Réaliser un programme en MikroC qui permet de piloter deux


feux tricolores de carrefour. Vérifier le bon fonctionnement du
programme réalisé en utilisant Proteus ISIS.

2-Charger le programme sur le microcontrôleur PIC 16F877 en


utilisant le programmateur du PIC.

3- Réaliser la partie Hardware sur Labdec (plaque d’essai).

4-Vérifier le fonctionnement du cahier des charges.

Durée : 2H
01/12/2024

Cahiers des charges :

Gestion de deux feux tricolores de circulation (carrefour)

Durée : 2H

AFFICHAGE 7 SEGMENTS

AFFICHAGE DES DONNEES : AFFICHAGE 7 SEGMENTS


01/12/2024

AFFICHAGE 7 SEGMENTS

AFFICHAGE 7 SEGMENTS.

Comment utiliser un afficheur 7 segment avec un microcontrolleur:

• Connecter l’afficheur 7 segment avec un port du microcontrôleur.


• Configurer le port en sortie.
• Afficher le chiffre/ lettre voulu sur l’afficheur.

Figure :Décodeur 7 segments ( 74LS48) Figure :Décodeur 7 segments ( 74LS47)

AFFICHAGE 7 SEGMENTS
AFFICHAGE 7 SEGMENTS.

Comment utiliser un afficheur 7 segment avec un microcontrolleur:

• Connecter l’afficheur 7 segment avec un port du microcontrôleur.


• Configurer le port en sortie.
• Afficher le chiffre/ lettre voulu sur l’afficheur.

Vous aimerez peut-être aussi