7/22/2019 upload_srie_pic-5.pdf
1/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 1 /14
Prof : Borchani hichem et Hammami mourad
Exercice N1
On dsire programmer les quations suivantes par un PIC 16F84A
On donne le tableau daffectation des entres et de sorties :
1) complter le tableau suivant par : Entre E , sortie S , Non connect NC :
Af fectat ion des entres Af fectat ion des sor ties
Entres Entres PIC Sorties Sorties PIC
A RA0 S1 RB0
B RA1 S2 RB1
C RA2 S3 RB2
D RA3S4 RB3
S5 RB4
PORT A PORT B
RA0 RB0
RA1 RB1
RA2 RB2
RA3 RB3
RA4 RB4
RB5
RB6
RB7
Oprateur Opration
NOT NONOR OUAND ETXOR OU exclusif
Oprateurs logiques raliss par le pic
A B C D
S1
S2
S3
S4
S5
7/22/2019 upload_srie_pic-5.pdf
2/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 2 /14
Prof : Borchani hichem et Hammami mourad
2) Trouver les valeurs quon devra placer dans les registres TRISA et TRISB du PIC16F84A :
TRIS A = ( ........ )Hex
TRIS B = ( ........ )Hex
3) Etablir les quations des sorties :
S1= S2 =
S3= S4=
S5=
4) Complter le programme en MikroPascal correspondant aux quations prcdentes :
Program equations ;
BeginTrisa:=$ ;
Trisb:=$ ;
Portb := .. ; // initialisation
While true do // boucle infinie
Begin// equation de S1
If((PortA.0=0) and ( ........................)............( ...........................)............(.................... ))
then portb.0:=1 else portb.0:=0;
// equation de S2
If .....................
// equation de S3
.....................
// equation de S4
.......................
// equation de S5
.....................
END .
Exercice 2:
Soit le schma contact suivant :
1) Dduire lquation logique de RB0
RB0= ..
RA0 RA1 RB0
7/22/2019 upload_srie_pic-5.pdf
3/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 3 /14
Prof : Borchani hichem et Hammami mourad
2) Traduire cette quation par un programme Mikropascal
Program equation2 ;Begin
Trisa:=$ ;
Trisb:=$ ;
Portb := .. ; // initialisation
While true do
Begin
If(( ) and ( ........................)) then................................................ ;
Exercice 3:
Soit les schmas contacts suivants :
On attribue KM1 une variable X et KM2 une variable Y
1) Donner lquation de X X= ..
2) Donner lquation de Y Y= ..
3) Traduire ces deux quations par un programme Mikropascal
Program equation3 ;
var X,Y:byte;
Begin
X:=0;Y:=0;
Trisa:=$ ;
Trisb:=$ ;
Portb := .. ; // initialisation
KM1S1
S2
KM1
KM2S4
S3
KM2
Af fectat ion des entres Affectat ion des sorties
Entres Entres PIC Sorties Sorties PIC
S1 RA0 KM1 RB0
S2 RA1 KM2 RB1
S3 RA2
S4 RA3
7/22/2019 upload_srie_pic-5.pdf
4/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 4 /14
Prof : Borchani hichem et Hammami mourad
while true do
Begin
if ((porta.0=0) and ((porta.1=..)... (X=))) then X:=1 else X:=.;
if ..;
if X=0 then portb.0:=0 else portb.0:=;
if Y=0 then.;
end;end.
Exercice 4:
Le fonctionnement dun systme est dcrit par le GRAFCET suivant:
Le circuit de commande du systme est le suivant :
1)complter le GRAFCET cod microcontrleur
2) Complter les affectations des deux registres TRIS Aet TRIS B.
TRIS ARA4 RA3 RA2 RA1 RA0
TRIS BRB7
RB6 RB5 RB4 RB3 RB2 RB1 RB0
OSC1/CLKIN16
RB0/INT 6
RB1 7
RB2 8
RB3 9
RB4 10
RB5 11
RB6 12
RB7 13
RA0 17
RA1 18
RA2 1
RA3 2
RA4/T0CKI 3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
S1
S2
S3
S4
KA1
KA3
KA2
?
?
m
C1
33p
C2
33p
X1
CRYSTAL
0
0
0
0
?
? KA4
0
KM1
KM2
KM3
KM4
m
S1
0
1 KM1
2 KM2
3 KM3
S2
S3.S4
KM4
..
..
X0
X1
X2
X3
..
..
7/22/2019 upload_srie_pic-5.pdf
5/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 5 /14
Prof : Borchani hichem et Hammami mourad
3)complter le programme relatif au grafcet prcdent
program exercice4;
Var X0 , : byte ; // Dclaration des variables
BEGIN
................. ; // Configuration du registre TRISA en Hexadcimal
....................... ; // Conf iguration du regist re TRISB en Hexadcimal
.. .. ; // Initialisation du portA
X0:=1 ; X1:=0 ; ; // Initialisation des variables
........................................ // boucle infinie
BEGIN
IF (() AND ()) THEN // Condition dactivation de l tape1
BEGIN
........................................... ;
END ;
IF (() AND (..)) THEN // Condition dactivation de l tape2
BEGIN
X1 := 0 ; X2 := 1 ;
END ;
. // Condition dactivation de l tape3
BEGIN
...................................
END ;
............ ............................................................................................ // Condition dactivation de ltape0
..........................................
............................
IF (X1=1) THEN porta.0:= 1 ELSE // Programmation de la sortie KM1
....................................................................................................// Programmation de la sortie KM2
.................................................................................................... // Programmation de la sor tie KM3
.................................................................................................... //Programmation de la sortie KM4
..;
END.
7/22/2019 upload_srie_pic-5.pdf
6/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 6 /14
Prof : Borchani hichem et Hammami mourad
MT
Pice
Longue
Pice
Courte
S1 S2 S3
Solnodedjection
Zone de dtection
Pice longue
Pice courte
Zone
dectio
Convoyeur
bande
Bac dvacuation
des pices courtes
ExerciceN5
Systme : chane fonctionnelle :
On peut assimiler la chane fonctionnelle un systme de tri de pices.Les pices longues et les pices courtes arrivent sur le mme convoyeur :
Si la pice est longue, elle doit passer jusqu la fin du tapis pour tre vacuer.
Si la pice est courte, elle doit tre jecte dans un bac.
On veut commander la chane fonctionnelle par un microcontrleur PIC 16F84A.En se rfrant au grafcet P.O et du tableau daffectation des entres et sorties
1) Complter le GRAFCET cod microcontrleur
Af fectat ion des entres Af fectation des sort ies
Entres systme Entres PIC Sorties systme Sorties PICdcy RA0 MT RB0
S1 RA1 Se RB1
S2 RA2
S3 RA3
GRAFCET dun poin t de vue P.OGRAFCET cod PIC
2)Complter les affectations des deux registres TRISAet TRISB.
TRISARA4 RA3 RA2 RA1 RA0
TRISBRB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
5
0
2 MT MT
3 MT Se
1
dcy
S1. S2
MT
4
MT
6
Se
T1
T2
MT
S1. S2
S3
S3
t1/4/5s
S3
t2/6/6s
X0
X2
X5
X3
X1
X4 X6T1 T2t1/X4/5s t2/X6/6s
7/22/2019 upload_srie_pic-5.pdf
7/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 7 /14
Prof : Borchani hichem et Hammami mourad
3)Complter le programme en langage pascal relatif la commande du systme :
program chaine fonctionnelle;
var X0, X1, X2, X3, X4,X5,X6,dcy, S1, S2, S3, t1, t2: byte;begin
trisa := $.........; trisb := $......; portB := .;
X0 :=1; X1 ..;X2 ;X3 .. 0; X4 ..;X5 .;X6 ..;
while .............. do
begin
dcy := porta.0; S1 :=............;
S2 := ..........; S3:= porta.3;
if ((X0=1) and (dcy=1)) then
begin
X0 := 0; X1 := 1;
end;
if ((X1=1) and ( .............) and( S1 =0)) then
begin
X1 := 0; X2 :=1;
end;
if.................................................................
begin
X2 := 0; X3 :=1;
end;
if ((X3=1) and ( S3 =0)) then
begin
..............................................................
end;
if ((X1=1) and (........) and( ..........)) then
begin
X1 := 0; X5 :=1;
end;if ............................................... then
begin
X5 := 0; X6 :=1;
end;
if (X6=1) .......................
begin
X6 := 0; X5:=0;X0 :=1;
end;
// programmation des sorties
Ifthen portb.0 :=1 else portb.0:=0;
if ((X3=1) or (X4=1))
// programmation des temporisations
if (X4=0) then t1 := 0 else
begin
delay_ms(5000); t1 := 1;
end;
if (X6=0) then t2 := 0 else
begin
..
end;
end;
end.
7/22/2019 upload_srie_pic-5.pdf
8/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 8 /14
Prof : Borchani hichem et Hammami mourad
S1
Dcy
Chargement
Dchargement
S2 S3
Exercice N6
Systme : dplacement dun chariot:
Le chariot tant en position initiale (S1 est actionn) un ordre de dpart cycle dcy provoque :
- Le dplacement du chariot jusqu S2
- Le chargement du chariot avec un produit et une temporisation de 10s.
- Le dchargement en S3
- Retour du chariot en S2 pour le charger et le dcharger de nouveau en S3. Enfin, il revient en
S1 .
Un compteur est incrment la fin de chargement, sa sortie n=1 si le chariot est charg 2 fois.
On veut commander le systme par un microcontrleur PIC 16F84A.
En se rfrant au grafcet P.C et au tableau daffectation des entres et sorties
1) Complter le GRAFCET cod PIC GRAFCET cod PIC
Af fectat ion des entres Af fectat ion des sorties
Entres systme Entres PIC Sorties systme Sorties PIC
Dcy RB0 KM1 RA0
S1 RB1 KM2 RA1
S2 RB2 14M1 RA2S3 RB3 KA RA3
l11 RB5
n RB6
GRAFCET P.C
12
3
S2
4
KA
5 14M1S3
6
7
Dcy.S1
KM1
t/3
/10s
KM1
T
KM
2
S2. n
l11
S2. n
KM2
S1
X1
X2
t /X3/ 10s
T X3
X4
X5
X6
X7
7/22/2019 upload_srie_pic-5.pdf
9/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 9 /14
Prof : Borchani hichem et Hammami mourad
2) Complter les affectations des deux registres TRISAet TRISB.
3)complter le programme en langage pascal relatif la commande du systme :
program chariot;
var X1, X2, X3, X4,X5,X6,X7,Dcy, S1, S2, S3,l11,n,
t : byte;
begintrisA := $.........; trisB := $......; portA := .;
X1 :=1; X2 ..;X3 ;X4 .. 0; X5 ..;X6 .;X7 ..;
while .............. do
begin
Dcy := portb.0; S1 :=............ ; S2 := .......... ;S3:= portb.3;
l11:= ............ ; n:= ............;
if ((X1=1) and (Dcy=1) and( S1 =1)) then
begin
X1 := 0; X2 := 1;
end;if ((X2=1) and ( .............) or (X6=1) and (..........) and(..........)) then
begin
X2 := 0; X6 := 0; X3 :=1;
end;
if (............................and (t=1)) .......
begin
X3 := 0; X4 :=1;
end;
if ((X4=1) and ( S3 =1)) then
begin
..............................................................end;
if ((X5=1) and (................)) thenbegin........................................
end;
if ((X6=1) and ( ....... .) and( .......... )) then
begin
X6 := 0; X7 :=1;
end;...............................................
begin
X7 := 0; X1 :=1;
end;
// programmation des sorties
if(X1=1) then porta :=0 ;
if (X2=1) then ;
if (X3=1) then porta :=8;
if(X4=1) then ;
if(X5=1) then ;
if(X6=1) then ..;
if(X7=1) then ..;
// programmation du temporisation
if (X3=0) then t := 0 else
begin
delay_ms(.); t := ;
end;
;
end.
TRISARA4 RA3 RA2 RA1 RA0
TRISB RB7 RB6
RB5
RB4
RB3 RB2
RB1
RB0
7/22/2019 upload_srie_pic-5.pdf
10/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 10 /14
Prof : Borchani hichem et Hammami mourad
ExerciceN7
Soit le montage suivant permettant de commander 8 diodes LED :
Fonctionnement :
Si RA0 = 1 les 8 LED clignotent pendant 2 secondes.
Si RA0 = 0 on obtient le cycle rptitif suivant :
Complter le programme en miKropascal ci-contrepermettant de commander les diodes LED.
Diodes LED allums dure
D1D2 1SD3D4 1S
D5D6 1SD7D8 1S
Aucune diode 1S
OSC1/CLKIN16
RB0/INT 6
RB1 7
RB2 8
RB3 9
RB4 10
RB5 11
RB6 12
RB7 13
RA0 17
RA1 18
RA2 1
RA3 2
RA4/T0CKI 3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
+5V
X1
CRYSTAL
FREQ=4MHz
C115pF
C215pF
R210k
220
R1010k
D1
D2
D3
D4
D5
D6
D7
D8
program LED8;
begin
trisA:=$FF;trisB:=$.... ;portb:=$00;
While (1 =1) do begin
if porta.0 = .. then
begin
PORTB:=3;
delay_ms(.);
PORTB:=
..
..
.
..
delay_ms(..);
delay_ms();
end;
if . then
begin
PORTB:=255;
delay_ms(1000);
delay_ms(1000);
end.
7/22/2019 upload_srie_pic-5.pdf
11/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 11 /14
Prof : Borchani hichem et Hammami mourad
OSC1/CLKIN16
RB0/INT 6
RB1 7
RB2 8
RB3 9
RB4
10
RB5 11
RB6 12
RB7 13
RA0 17
RA1 18
RA2 1
RA3 2
RA4/T0CKI 3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
+5V
RAZ
X1
CRYSTAL
FREQ=4MHz
C115pF
C215pF
R210k
N/J
R110k
+5V
ExerciceN8 :
Feux t ricolores de carrefour
Tableau de fonctionnement jour :( RA0=1)
Fonctionnement nuit :(RA0=0) : Le feu orang clignote pendant une seconde.
Complter lalgorithme et le programme donn permettant de grer le fonctionnement du feux tricolore duncarrefour en se rfrant au tableau de fonctionnement (jour et nuit) et au schma du montage fourni.
Dure en secondes 60 05 55Rouge (portb .0) 1 0 0Orang (portb.1) 0 1 0Vert (portb.2) 0 0 1
Algori thme Programme
Algorithme : feu_tri
Dbut
TrisA .. TrisB PortB
Tant que (1=1) Faire
Dbut
SI porta.0=1 alors
Dbut
Portb ..
Attente ( )
.
portb: ..
Attente (55s)
Finsi
SI non
Dbut
portb: .
Attente (0,5s)
portb:
Attente (0,5s)
Fin SI
Fin Faire
Fin
program feu_tri;
begin
trisA:=$..;trisb:=$...;portb:=$00;
while true do
begin
...........................
begin
.........................
Vdelay_ms(60000);
.............
.....................
portb:=4;
Vdelay_ms(55000)
end
............begin
portb:=2;
delay_ms(500);
portb:=0;
...........................;
end;
end;
end.
7/22/2019 upload_srie_pic-5.pdf
12/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 12 /14
Prof : Borchani hichem et Hammami mourad
Exercice N9
Compteur modulo 10
1) Complter lalgorithme dun compteur modulo 10.
2) Complter le programme pascal correspondant.
Algori thme Programme
Algorithme : compteur m10Program compteur m10 ;
Variable i :entier Var i:integer; // declaration dune variable de type entier
Dbut BeginTrisA % .....PortA % ..... TrisA := %...................... ; Port .:= %.;
Tant que vrai faire while ......... do // boucle infinie
dbut begin
Pour i variant de ...jusqu ..faire For i:= .. to ..do // boucle rptitive
dbut begin
PORTA . PortA := ........ ;
Attente (0,5s) delay_ms( );
Fin faire end;
Fin faire end;
Fin End.
OSC1/CLKIN16
RB0/INT6
RB17
RB28
RB39
RB410
RB511
RB612
RB713
RA017
RA118
RA21
RA32
RA4/T0CKI3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
U2
7448
7/22/2019 upload_srie_pic-5.pdf
13/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 13 /14
Prof : Borchani hichem et Hammami mourad
OSC1/CLKIN16
RB0/INT 6
RB1 7
RB2 8
RB3 9
RB4 10
RB5 11
RB6 12
RB7 13
RA0 17
RA1 18
RA2 1
RA3 2
RA4/T0CKI 3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
Exercice N10
compteur modulo 60
1) Complter lalgorithme dun compteur modulo 60
2) Complter le programme pascal correspondant.
Algori thme Programme
Algorithme compteur mod 60
variable i,j:entier
dbut
trisa . trisb .. porta . portb ..
Tant que (.) faire
dbut
pour i variant de 0 jusqu 5 faire
dbut
dbut
porta portb
Attente (1s)
finfaire
fin faire
finfaire
fin
program compteur60;
VAR i,j:integer;
begin
trisa:=.....;trisb:=........;porta:=....; portb:=.... ;
................
begin
.......................
begin
for j:=0 to 9 do
begin
.................................................
delay_ms(1000)
. ..............
end;
end;
end.
7/22/2019 upload_srie_pic-5.pdf
14/14
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 14 /14
Prof : Borchani hichem et Hammami mourad
Exercice N11:
Raliser un compteur et dcompteur modulo12
Compteur incrment par le bouton RA2 .
Dcompteur dcrment par le bouton RA1.
Utilisation de la fonction Button (port,bit,temps dappui en ms ,tat logique actif)Exemple :
if Button (portA,3,50,1) then action1
On teste lappui sur un bouton poussoir reli la broche RA3 pendant 50ms pour faire laction 1
Programme
program Compt et DECOMP;
var x:byte;
begin
trisa:=$...;trisb:=.;portb:=.;x:=..;
while true do
begin
if button(porta,2,100,1) then
if x=12
if button(porta,1,100,1) then .
if x=255 ..
portb:= ;
end;
end.