Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fin.
Begin
.
.
End.
// Programme
// principal
2- Les Rgles de bases :
Toutes instructions ou actions se terminent par un point virgule ;
Une ligne de commentaires doit commencer par "{" et se terminer par "}" ou commence par "//". Un bloc
dinstructions commence par "Begin" et se termine par "End".
3- Les types de variables utilises en Mikropascal :
Type Dsignation Taille Rang
octet byte 8bit 0 255
caractre char 8bit 0 255
Mot word 16bit 0 65535
Octet sign short 8bit -128 127
Entier integer 16bit -32768 32767
Entier long longint 32bit -2147483648 2147483647
Rel real
32bit 1.17549435082 * 10
-38
..
6.80564774407 * 10
38
Tableau Array[a..b] of type (b-a) lments Rang du type
CHAPITRE 1 AUTOMATIQUE
Arithmtique binaire Cours de Kaouana Ismail 54 ~
Chane de
caractres
string[n]
n caractre 0 255
4- Les bases du compilateur Mikropascal :
Le dcimal : A=10 ;
Lhexadcimal A=$0F ; ou A=0x0F ;
Le binaire A=%11010100 ;
5- les oprateurs arithmtiques et logiques :
Oprateurs arithmtiques Oprateurs de comparaison Oprateurs logiques
Oprateur Opration Oprateur Opration Oprateur Opration
+ Addition = Egalit AND ET
- Soustraction <> Diffrent OR OU
* Multiplication > Suprieur XOR OU exclusif
/ Division < Infrieur NOT NON
div Division entire <= Infrieur ou gale SHL Dcalage gauche
mod Reste de la division
entire
>= Suprieur ou gale SHR Dcalage droite
6- Les structures usuelles :
a- Laffectation : Cest laction dattribuer une valeur une variable.
Langage algorithmique Langage PASCAL
a<== b+c a :=b+c
b- Les structures alternatives :
Langage algorithmique
Langage PASCAL
SI condition ALORS
DEBUT
Traitement ;
;
FINSI ;
IFcondition THEN
BEGIN
Traitement ;
.
END;
SI condition ALORS
DEBUT
Traitement 1;
;
FIN
SINON
DEBUT
Traitement 2;
;
FINSI ;
IFcondition THEN
BEGIN
Traitement 1;
;
END
ELSE
BEGIN
Traitement 2;
;
END;
SELON expression
Valeur_1 : action_ 1 ;
;
Valeur_n : action_n ;
autrement : action_0 ;
FINSELON ;
CASE expression OF
Valeur_1 :action_1;
;
Valeur_n : action _n ;
ELSE action_0 ;
END;
CHAPITRE 1 AUTOMATIQUE
Arithmtique binaire Cours de Kaouana Ismail 55 ~
c- Les structures itratives ou rptitives :
Langage algorithmique Langage PASCAL
I : entier ;
;
POUR I <Valeur initiale>
JUSQU'A <valeur finale>
FAIRE
DEBUT
Traitement ;
;
FINFAIRE ;
I: integer;
..
FOR I:= <valeur initiale>
TO <Valeur finale>
DO
BEGIN
Traitement ;
;
END;
TANQUE condition FAIRE
DEBUT
Traitement ;
;
FINTANQUE ;
WHILE condition DO
BEGIN
Traitement ;
;
END;
d- Les procdures et les fonctions :
Une suite d'instructions peut tre rassemble en un bloc qui peut tre appel depuis plusieurs endroits d'un
programme. Ceci donne lieu aux notions de sous programme appel aussi procdures ou fonctions.
Procdures :
Ce sont des groupes d'instructions qui vont former une nouvelle instruction simple utilisable dans un
programme. En Pascal il faut les dfinir avant de les utiliser. Ceci se fait en utilisant une structure similaire
celle d'un programme.
Entte :
Procedure Identificateur (Param1:Type1, Param2:Type2,...);
Identificateur est le nom de la procdure; Param1, Param2 ... sont des paramtres que le programme fournit la
procdure sous forme de constantes, de variables ou d'expressions; Type1, Type2 ... sont les types de ces
paramtres.
Dclarations :
Dclarations de constantes, types, variables utiliss l'intrieur de la procdure
Corps de la procdure
Begin
Instruction1; Instruction2;..
End;
Il s'agit des instructions excutes par le programme l'appel de la procdure. Une procdure peut appeler
d'autres procdures dfinies avant elle. L'appel d'une procdure se fait en crivant son nom suivi des paramtres
ncessaires entre parenthses.
Fonctions :
Une fonction est une procdure qui devra fournir un rsultat de type numrique ou chane de caractres. La
dfinition se fait en utilisant une structure similaire celle de la procdure.
Entte :
Function Identificateur (Param1:Type1, Param2:Type2,...):Type_R;
Identificateur est le nom de la procdure; Param1, Param2 ... sont des paramtres que le programme fournit la
fonction sous forme de constantes, de variables ou d'expressions; Type1, Type2 ... sont les types de ces
paramtres; Type_R est le type du rsultat fourni par la fonction.
Dclarations
Dclarations de constantes, types, variables utiliss l'intrieur de la fonction.
CHAPITRE 1 AUTOMATIQUE
Arithmtique binaire Cours de Kaouana Ismail 56 ~
Corps de la fonction
Begin
Instruction1;
Instruction2;..
Identificateur:=rsultat;
End;
Il s'agit des instructions excutes par le programme l'appel de la fonction. L'une de ces instructions doit
fournir le rsultat de la fonction en l'affectant au nom de la fonction. L'appel d'une fonction se fait en crivant
son nom suivi des paramtres ncessaires entre parenthses. Elle reprsente une expression du type du rsultat
fourni.
7- Les fonctions adaptes aux microcontrleurs PIC :
Le compilateur mikropascal apporte une large bibliothque de procdures et fonctions adaptes aux
microcontrleurs de la famille PIC de MICROCHIP. Ces fonctions sont accessibles dans laide du logiciel
nanmoins on va citer quelque une.
Fonctions / Procdures
Exemple
Setbit(port , bit) ; Setbit(portB,2) ; mettre la broche RB2 1
Clearbit(port , bit) ; Clearbit(portB,5); mettre la broche RB5 0
Testbit(port , bit) A :=testbit(portB,7);affecter la variable A ltat de RB7
Delay_ms(temps) ; Delay_ms(150) ; attente de 150 ms
Button(port,bit,temps dappui,tat logique actif) If Button(portA,2,10,1) then <Action 1> ;
On teste lappui sur un bouton poussoir
reli la broche RA2 pendant 10 ms
pour faire lAction 1
8 - Les interruptions
a- Qu'est-ce qu'une interruption ?
Imaginez une conversation normale. Chaque interlocuteur prend la parole quand vient son tour de parler.
Survient alors un vnement extrieur dont le traitement est urgent. Par exemple une voiture s'engage dans
votre direction. Vous imaginez bien que votre interlocuteur ne va pas attendre la fin de votre phrase pour vous
signaler le danger. Il va donc vous interrompre durant le
cours normal de votre conversation ; afin de pouvoir traiter immdiatement l'vnement extrieur.
Les interlocuteurs reprendront leur conversation o elle en tait arrive, sitt le danger cart.
b- Les interruptions du microcontrleur PIC16F84:
L'excution d'une procdure d'interruption rpond un vnement qui peut tre interne ou externe au
microcontrleur. L'appel d'une procdure d'interruption ne dpend pas du programme principal, mais elle
l'interrompe pendant son excution.
Dans une procdure d'interruption on ne peut pas appeler une autre procdure. Le compilateur Mikropascal
utilise une directive spciale pour le nom de la procdure (Procedure interrupt) pour la diffrencier avec les
autres procdures logicielles.
Syntaxe :
Procedure interrupt;
Begin
Instruction 1;
Instruction n;
End;
On notera que le 16F84 possde 4 sources d'interruptions:
Un changement d'tat sur les broches RB4 RB7;
CHAPITRE 1 AUTOMATIQUE
Arithmtique binaire Cours de Kaouana Ismail 57 ~
Une source externe via la broche RB0/INT ;
Le dbordement du timer 0 ;
La programmation de l'EEPROM de donnes.
Le registre INTCON est utilis pour le contrle et la gestion des interruptions.
On s'intressera uniquement l'interruption externe via la broche RB0/INT, donc on aura manipuler
uniquement les trois bits suivants:
Le bit GIE, "Global lnterrupt Enable", mis 1 autorise toutes les interruptions non masques par leur bit
individuel.
Le bit INTE, "Interrupt Enable", mis 1, autorise les interruptions sur RB0/INI.
Le bit INTF, "Interrupt Flag", est un indicateur, il est mis 1 si une interruption est gnre sur RB0/INI. Il
doit tre remis 0 par le logiciel dans le programme de traitement de l'interruption.
Les autres bits du registre INTCON sont utiliss pour le contrle des trois autres sources d'interruptions, dans
notre cas ces bits sont gales 0.
Pour activer l'interruption externe via la broche RB0/INT on doit affecter la valeur (90)H au registre INTCON :
INTCON GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
INTCON 1 0 0 1 0 0 0 0 =(90)H
Raliser lactivit pratique N7 du TP-A41 dans le manuel dactivits
e Applications :
Exercice N1 : Traduction d'un GRAFCET de point de vue partie commande en un programme en Mikropascal
pour le microcontrleur PIC16F84A.- Soit le GRAFCET suivant :
0
Dcy
1
a
2
3
14M1
KM2
12M1
b
c
Tableau daffectations
Entres Sorties
Capteurs Broches PIC Practionneurs Broches PIC
Dcy RBo 14M1 RA0
a RB1 KM2 RA1
b RB2 12M1 RA2
c RB3
1- Traduire le GRAFCET en algorithme.
2- Transformer cet algorithme en programme en Mikropascal .
3- Donner le schma de simulation avec le logiciel ISIS
CHAPITRE 1 AUTOMATIQUE
Arithmtique binaire Cours de Kaouana Ismail 58 ~
On donne le schma de simulation :
Exercice N2 : Traduction des quations d'un systme combinatoire en un programme en Mikropascal pour le
microcontrleur PIC16F84A.Soit les quations suivantes :
1 = . .
; S2 BC ; S3 A+B.
; S4 A +B
; S =