ANNEXE PIC 4T 2020 2021 .pdf



Nom original: ANNEXE PIC 4T- 2020-2021 .pdf

Ce document au format PDF 1.5 a été généré par / doPDF Ver 7.3 Build 391 (unknown Windows version - Version: 10.0.19041 (x64)), et a été envoyé sur fichier-pdf.fr le 02/01/2021 à 15:09, depuis l'adresse IP 154.111.x.x. La présente page de téléchargement du fichier a été vue 13 fois.
Taille du document: 701 Ko (8 pages).
Confidentialité: fichier public


Aperçu du document


I - PROGRAMMATION EN MIKROPASCAL :
1 - Structure d’un programme :
Un programme est un texte que le compilateur va traduire en fichier hexadécimal. Le texte d'un programme
contient au moins trois parties.
a- L'entête : commence par le mot réservé " Program " suivi par le nom du projet.
b- Les déclarations : On déclare les variables, les Procédures et les fonctions utilisées dans le
programme.
c- Le corps du programme : Commence par " Begin " et se termine par "End " suivi d'un point final.
Entre "Begin" et "End" se trouvent les instructions à effectuer par le programme.
Algorithmique
Langage PASCAL
Algoritme Nom Algorithme ;
Variables

Program Nom programme ;
Var

Nom variable : Type ;
Nom constante : Type =valeur ;
Début

Const
Nom constante : Type =valeur ;
Begin

……..

// Programme

……..

Fin.

// Entête

// Déclaration

Nom variable : Type ;

Constantes

Commentaires

principal

End.

2 - Les règles de bases :
a- Toutes instructions ou actions se terminent par un point virgule ;
b- Une ligne de commentaires doit commencer par "{" et se terminer par "}" ou commence par "//".
c- Un bloc d'instructions commence par "Begin" et se termine par "End".

3 - Les types de variables utilisées en Mikropascal :
Type

Désignation

Taille

Rang

Bit
Bit registre
octet
Caractère ASCII
mot
Octet signé
Entier
Entier long

bit
sbit
byte
char
word
short
integer
longint

1 bit
1 bit
8 bits
8 bits
16 bits
8 bits
16 bits
32 bits

Réel

real

32 bits

Tableau

Array[n]of type

n éléments

0 ou 1
0 ou 1
0 - 255
0 - 255
0 - 65535
-128 à +127
-32768 à +32767
-2147483648 à +214783647
±1.17549435082 * 10-38 à
±6.80564774407 * 1038
Rang du type

Chaîne de caractères

String[N]

N*8bits

0 – 255(pour chaque caractère)

N.L

Documents technologiques pour PIC

Page :

1/8

4 - Les bases du compilateur Mikropascal :
Le décimal : A = 12 ; L’hexadécimal : A = $0C ou A = 0x0C ; Le binaire A = %0001100

5- Les opérateurs arithmétiques :
Opérateur
+
*

Opération
Addition
Soustraction
Multiplication

Opérateur
/
Div
Mod

Opération
Division
Division : arrondit à l'entier le plus proche
reste de la division entière

6- Les opérateurs de comparaison :
Opérateur
=
<>
>

Opération
Egalité
Différent
Supérieur à

Opérateur
<
>=
<=

Opération
Inférieur à
Supérieur ou égale
Inférieur ou égale

7- Les opérateurs logiques :
Opérateur
Opération
And
Fonction ET logique
Or
Fonction OU logique
- décalage à droite
- chaque bit de l’octet a est déplacé
Shr
vers la droite
- exemple : si a = 1101 alors :
a shr 2 = 0011

Opérateur
Opération
Not
complement : inverser chaque bit
Xor
Fonction XOR logique
- décalage à gauche
- chaque bit de l’octet a est déplacé
Shl
vers la gauche
- exemple : si a = 1101 alors :
a shl 2 = 0100

8 - Les structures usuelles :
a- L'affectation : C'est l'action d'attribuer une valeur à une variable.
Langage graphique
a = b+c

Langage algorithmique

Langage PASCAL

a  b+c

a : = b+c

b- Structure répétitive:
Structure : Boucle While
Langage Graphique

Langage algorithmique

Langage mikropascal

TANQUE condition
FAIRE
DEBUT
Action ;
FINFAIRE ;

WHILE condition DO
BEGIN
Action ;
END ;

- L’action est exécutée de façon répété tant que la condition est vraie.
- L’action ne s’exécute pas si la condition est fausse.
Structure : Boucle Repeat
Langage Graphique

Langage algorithmique

Langage mikropascal

REPETER
REPEAT
DEBUT
BEGIN
Action ;
Action ;
FIN ;
END ;
JUSQU’A condition
UNTIL condition;
-L’action est exécutée de façon répété tant que la condition est fausse.
-L’action est exécutée une seule fois si la condition est vraie.

N.L

Documents technologiques pour PIC

Page :

2/8

Structure : for .. To .. do :
Langage Graphique

Langage algorithmique
POUR n variant de valeur_initiale
JUSQU’A valeur_finale FAIRE
DEBUT
Action ;
FIN ;
FINFAIRE ;

Langage mikropascal
FOR n :=valeur_initiale
TO valeur_finale DO
DEBUT
Action ;
FIN ;
END ;

c- Structure conditionnelle :
Structure : if ... Then …
Langage graphique

Langage algorithmique

Langage MikroPascal

Si condition ALORS
DEBUT
Action ;
FINSI ;

IF condition THEN
BEGIN
Action ;
END;

Structure : if ... Then ... else …
Langage graphique

Langage algorithmique

SI condition ALORS Action1 ;
SINON Action2 ;

Langage MikroPascal

IF condition THEN Action1
ELSE Action2 ;

Structure : case ... of ...
Utiliser dans le cas d’une longue série des conditions en cascade
Langage graphique

Langage algorithmique
Selon expression
Val1 : Action1 ;
Val2 : Action2 ;

ValN : ActionN;
Autrement : Action0 ;
FinSelon

Langage MikroPascal
Case expression of
Val1 : Action1 ;
Val2 : Action2 ;

ValN : ActionN;
Else : Action0
End ;

II- Différents types de PIC :
 Le PIC 16F84 :
La Figure ci-contre montre le brochage du circuit.
Les fonctions des pattes sont les suivantes :
- VSS, VDD : Alimentation
- OSC1, 2 : Horloge
- RA0-4 : Port A
- RB0-7 : Port B
- T0CKL : Entrée de comptage
- INT : Entrée d'interruption
- MCLR : Reset

N.L

Documents technologiques pour PIC

Page :

3/8

 Le PIC 16F628 :
Le 16F628 possède jusqu'à
16 entrées/sorties :


6 dans le port A (RA0 à RA7)



8 dans le port B (RB0 à RB7)

 Le PIC 16F876 :
Le 16F876 possède jusqu'à
22 entrées/sorties :


6 dans le port A (RA0 à RA5)



8 dans le port B (RB0 à RB7)



8 dans le port C (RC0 à RC7)

 Le PIC 16F877 :
Le 16F877 possède jusqu'à
33 entrées/sorties :


6 dans le port A (RA0 à RA5)



8 dans le port B (RB0 à RB7)



8 dans le port C (RC0 à RC7)



8 dans le port D (RD0 à RD7)



3 dans le port E (RE0 à RE2)

III- LE TIMER :
1- Définition : Le Timer est un module intégré dans les microcontrôleurs type PIC. Il assure la
fonction comptage ou la fonction temporisation.
Le choix du mode de fonctionnement se fait par programmation du registre OPTION_REG.
 Mode compteur : le TIMER0 est un compteur modulo 256 qui permet de compter le nombre des
impulsions reçues sur la broche RA4/TOCKI.
 Mode Temporisateur : le TIMER0 est un compteur modulo 256 qui permet de compter le nombre
des impulsions d’horloge reçues sur la broche Osc1/Osc2.

2- Principe de fonctionnement :

N.L

Documents technologiques pour PIC

Page :

4/8

3- Registre de contrôle :OPTION_REG :
Bit 7

Bit 6

Bit5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

RBPU

INTEDG

TOCS

TOSE

PSA

PS2

PS1

PS0

Le tableau suivant résume les huit bits du registre OPTION_REG:
Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Prédivision

RBPU

INTEDG

TOCS

TOSE

PSA

PS2

PS1

PS0

TMR0 WDT

Pull up

1 : RB0/INT

Timer0

Timer0

Prédiviseur

0

0

0

2

1

sur portB

active au

clock select

source edge

0

0

1

4

2

0

1

0

8

4

0

1

1

16

8

1

0

0

32

16

1

0

1

64

32

1

1

0

128

64

1

1

1

256

128

front mon
1:

(RA4)
1 : Compteur (RA4)

désactivé
0 : activé

0: Timer0

0 : front

0 : RB0/INT

montant

1:chien de

active au

1 : front

garde

descendant

(WDT)

front des

0 : Temporisateur

NB : Quand le prédiviseur est affecté au watchdog (PSA=1), le TMR0 est prédivisé par 1.

IV- Les afficheurs LCD :
Les afficheurs à cristaux liquides, autrement appelés afficheurs LCD.

Bibliothèque LCD :

Lcd_Init();

Lcd_Out(ligne: byte;
colonne: byte; var texte:
string);

Lcd_Chr(ligne: byte;
colonne: byte;
caractere: byte);
Lcd_Cmd( commande:
byte);

Description
Initialiser le module LCD en
respectant les connexions déclarées
Imprime le texte sur l'écran LCD à
partir de la position spécifiée.
• ligne: la position de départ
numéro de ligne
• Colonne: la position de départ
numéro de colonne
• Texte: texte à rédiger
Afficher caractère sur l'écran LCD à
la position spécifiée.
Envoie une commande à LCD

Exemple
Lcd_Init();

Lcd_Out(1, 3, "Hello!");
// écrire texte « Hello! » sur LCD
à la position ( ligne 1, colonne 3)

Lcd_Chr(2, 3, 'i');
// écrire le caractère « i » sur LCD
à la position (ligne2, colonne3)
Lcd_Cmd(_LCD_CLEAR);
//effacer l’écran LCD

V- Conversion Analogique Numérique : CAN ou ADC
1- Introduction : - Le PortA est un Port multiplexé en mode analogique noté (AN) et en mode numérique
noté (RA) : (RA) : mode logique (0 ou 1) ; (AN) : mode analogique (de 0 à 5V)
Pour PIC16F628A : Pour initialiser les broches du PortA en mode logique en doit configurer le
registre CMCON :=7;
Pour PIC16F876A ou PIC16F877A : Pour initialiser les broches du PortA en mode logique en doit
configurer le registre : ADCON1 :=6 ;
Pour PIC16F84A : les broches du PortA sont non multiplexées et ils sont en mode logique.

N.L

Documents technologiques pour PIC

Page :

5/8

Les microcontrôleurs PIC 16F87X possèdent un module de conversion permettant de convertir une tension
analogique, appliquée sur l’un des 8 canaux (de AN0 à AN7 pour le PIC 16F877A) ou l’un des 5 canaux
(de AN0 à AN4 pour le PIC 16F876A), comprise entre Vréf - et Vréf + en une valeur numérique N de 10 bits

2- Principe de fonctionnement :
Le convertisseur analogique-numérique (CAN ou ADC) permet de convertir une grandeur analogique
(tension Ue) en une valeur numérique (nombre N) :

3- Bibliothèque d’un CAN :
Description
ADC_Init();

Exemple

- Initialiser le module ADC de PIC.
- initialiser le module et configurer le
channel spécifié comme entrée.

ADC_Init();
// Initialiser le module ADC
var tmp : word; // tmp : valeur

ADC_Read(channel : byte)
- démarrer une opération de conversion.
: word;
- lire la tension analogique sur le channel
et le convertir en une valeur numérique

numérique de 0..1023

- lire le résultat de conversion
ADC_Get_Sample(channel uniquement.
- Remarque : Il faut initialiser le module
: byte) : word;
avant d’appeler cette fonction

var tmp : word; // tmp : valeur

tmp := ADC_READ(2);

numérique de 0..1023
tmp := ADC_Get_Sample(2);

4- Conversion d’un nombre en une chaine de caractère :
 ByteToStr :

procedure ByteToStr(nombre : byte; var chaine : array[3] of char);
Description Convertir un nombre en une chaine de caractères,
var N : byte;
txt : Sting[3] ;
N := 24;
Exemple
ByteToStr(N, txt);
// N = 24 = nombre , txt ="˽24" = 3 chaines de caractère

 Autres procédures de conversion des données :
WordToStr( )

;

IntToStr ( ) ;

5- Registre de configuration :
ADCON1 :

Bit 7

Bit 6

Bit5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

ADFM

-

-

-

PCFG3

PCFG2

PCFG1

PCFG0

 Bit « 7 » : ADFM : Justification du résultat
de la conversion sur 10 bits « ADRESH-ADRESL ».
 ADFM = 1 : justification à droite,
 ADFM = 0 : justification à gauche
 Bits « 6 : 5 : 4 » : non utilisés  lire 0.
 Bits « 3 à 0 » : PCFG3 PCFG2 PCFG1 PCFG0 : Configuration des E/S et des tensions de références.

N.L

Documents technologiques pour PIC

Page :

6/8

Les 5 broches de PORTA peuvent être configurés soit en E/S digitales, soit en entrées analogiques.
RA2 et RA3 peuvent aussi être configurées en entrée de référence.

ADCON1

PIC 16F876
PIC 16F877
Port A

Port E

Tension de référence

ADFM

-

-

-

PCFG3

PCFG2

PCFG1

PCFG0

AN7/RE2

AN6/RE1

AN5/RE0

AN4/RA5

AN3/RA3

AN2/RA2

AN1/RA1

AN0/RA0

1
1
1
1
1
1

-

-

-

0
0
0
0
1
1

0
0
1
1
0
1

0
1
0
1
0
1

0
0
0
×
1
0

A
D
D
D
D
D

A
D
D
D
D
D

A
D
D
D
A
D

A
A
D
D
A
D

A
A
A
D
A
D

A
A
D
D
A
D

A
A
A
D
A
D

A
A
A
D
A
A

Vréf+

Vréf-

VDD
VDD
VDD
VDD
VDD
VDD

Vss
Vss
Vss
Vss
Vss
Vss

A : entrée analogique ; D : entrée numérique ; - : état 0 ou 1

VI- Modulation de largeur d’une impulsion : MLI ou PWM
1- Principe :
La PWM est un module intégré dans le PIC qui consiste à générer un signal carré de période constante
mais à rapport cyclique α variable. (C’est le principe d’un hacheur série)

2- Bibliothèque d’un MLI :
Description
Initialiser le module pour générer sur la
PWMi_Init(f)

sortie CCPi un signal PWM à la
fréquence f

Exemple
PWM1_ Init (5000) ;
Initialise le module à f = 5KHz

Changer le rapport α (0 < α < 1)

PWM1_Set_Duty(192) ;

α= alpha / 255 et 0 < alpha <255

 = 192 / 255 = 0.75

PWMi_Start

Démarrer le signal PWM

PWM1_Start() ;

PWMi_Stop

Arrêter le signal PWM

PWM1_Stop() ;

PWMi_Set_Duty(alpha)

N.L

Documents technologiques pour PIC

Page :

7/8

VII - Procédure prédéfinie :
1- Procédure INC ( ) ;
L’instruction N :=N+1 peut être remplacée par la procédure prédéfinie INC
Prototype

Procedure Inc (var p : longint);

Description

Incrémenter p par 1.

Exemple

p := 4; // p =4
Inc(p); // p = 5

2- Procédure DEC ( ) ;
L’instruction N :=N-1 peut être remplacée par la procédure prédéfinie DEC
Prototype

Procedure Dec (var p : longint);

Description

décrémenter p par 1.

Exemple

p := 4; // p =4
Inc(p); // p = 3

3- Procédure Delay_ms ( ) ;
Prototype

procedure Delay_ms(time_in_ms : const
dword);

Exemple

Delay_ms(1000); // pause d’une seconde

4- Procédure SetBit :
Prototype

procedure SetBit(var register : byte; bit_registre : byte);

Description

Mettre le bit du registre à 1

Exemple

SetBit(PORTB, 2); // mettre à 1 le bit N°2 du registre PORTB

équivalence L’instruction SetBit(PORTB,2) est équivalente à l’instruction :
PORTB.2 :=1 ;
5- Procédure ClearBit :
Prototype

procedure ClearBit(var register : byte; bit_registre : byte);

Description

Mettre le bit du registre à 0

Exemple

ClearBit(PORTC,7) ; // mettre à 0 le bit N°7du registre PORTC

Equivalence L’instruction ClearBit(PORTC,7) est équivalente à l’instruction :
PORTC.7 := 0;
6- Procédure TestBit :
Prototype

function TestBit(register, bit_registre : byte) : byte;

Description

Si le bit du regsitre égale 1 alors TestBit = 1 sinon alors TestBit = 0

Exemple

KM:= TestBit(PORTD,3); // Si PORTD.3 = 1 alors le relais KM =1
// si PORTD = 0 alors le relais KM=0

Equivalence

If PortD.3 = 1 then KM :=1 else KM :=0 ; est équivalent à
KM :=TestBit(Portd,3) ;

N.L

Documents technologiques pour PIC

Page :

8/8


Aperçu du document ANNEXE PIC 4T- 2020-2021 .pdf - page 1/8
 
ANNEXE PIC 4T- 2020-2021 .pdf - page 3/8
ANNEXE PIC 4T- 2020-2021 .pdf - page 4/8
ANNEXE PIC 4T- 2020-2021 .pdf - page 5/8
ANNEXE PIC 4T- 2020-2021 .pdf - page 6/8
 




Télécharger le fichier (PDF)


ANNEXE PIC 4T- 2020-2021 .pdf (PDF, 701 Ko)

Télécharger
Formats alternatifs: ZIP



Documents similaires


annexe pic 4t  2020 2021
annexe2 pic lotfi
12 pic 4t lotfi 2017 2018
pic 4t lotfi 2020 2021
sam1a coursv11
uf5 m6 2

Sur le même sujet..