Vous êtes sur la page 1sur 29

Serrure codeur 200

LIQUE TUNISIENNE
DE LENSEIGNEMENT

R, DE LA RECHERCHE
ET DE LA TECHNOLOGIE

ERSIT DE GABS

PRIEUR DES SYSTMES

TRIELS DE GABS

Rapport du mini projet

2mme licenceElectronique
industriel

Serrure codeur
Encadr par :
-Mr. Slim Hadj Sad
Ralis par :
- KRID MOHAMMED
- SBITA RAFIK
23

Serrure codeur 200


9

Anne Universitaire : 20082009

23

Serrure codeur 200


9

SOMMAIRE
Remerciement
Introduction..
(P1)
Chapitre1:Microcontrleur16F84
(P2)
I-Notions de base sur les Microcontrleurs(P2)
1- Survol su les microcontrleurs(P2)
a-De la logique cble au microprocesseur, au microcontrleur..(P2)
b-Structure et fonctionnement des microcontrleurs.(P3)
2- Les microcontrleurs PIC..(P5)
II- Pic16F84..
(P6)
1-Brochage et fonction des
pattes(P8)
2-Architecture
gnrale.(P9)
3-Mmoire de
programme.(P9)
Capitre2:Serrure
code(P11)
I- Prsentation..
(P12)
II- Diagramme
sagittal...(P13)
1-Schma fonctionnel de
niveau1(P15)
2-Schma fonctionnel de premire
degr..(P16)
3-Programmation de
MACH..(P17)

23

Serrure codeur 200


9
Chapitre3:Ralisation
pratique.(P18)
I-Organigramme...(P19)
II-:Programme .(P20)
III-Schma fonctionnel dun serrure codeur.(P22)
IV-Simulation sur LEAGLE.(P23)
Conclusion
(P24)

23

Serrure codeur 200


9

Ce travail a t ralis Linstitut Suprieur Des


systmes industriels de Gabs dans le cadre de mini projet
et sous la direction de nos encadreurs Mr. Slim Hadj said
Au terme de ce travail, nous profitons de cette occasion
pour adresser

notre vif remerciement nos encadreurs

pour leur aide, leur disponibilit et leurs prcieux conseils


qui nous ont t dun grand apport.
Nos remerciements sadressent galement la direction
de lISSIG et qui nous ont permis laccs aux laboratoires
o nous avons labor cette ralisation. De mme nous
Remercions tous les enseignants qui ont conjugu leurs
efforts pour nous donner une formation solide.

23

Serrure codeur 200


9
Introduction
Ce projet est consacr ltude, la conception et la
ralisation dune serrure code. Lobjet technique propos
permet de bloquer laccs une porte aux personnes
nayant pas leur connaissance le code secret permettant
louverture. Si les quatre chiffres du code secret sont entrs
dans lordre, le systme technique commande une gche
lectrique (lectro-aimant) pendant un temps prdfini de
cinq secondes. Lusager dispose de trois boutons poussoir,
le premier permet de faire dfiler les chiffres de 0 9 sur un
afficheur, le second permet de valider le chiffre affich et le
troisime permet de rinitialiser le systme avant toute
entre dun nouveau code. La logique de cette serrure
code est ralise partir dun CPLD MACH4.

23

Serrure codeur 200


9
Chapitre1 :Microcontroleur16F84

I:Notions de base sur les


Microcontrleurs
1) Survol sur les microcontrleurs

a) De la logique cble au microprocesseur, au


microcontrleur:
Vers lanne 1970, lorsque la socit Intel a fabriqu le 1 er
microprocesseur 4004, aucun na imagin, cette poque, que
cette rvolution industrielle donnera naissance lordinateur
individuel PC de nos jours.
Fonds sur la logique programme, les montages base des
microprocesseurs prsentent des avantages indniables par
rapport celle base de la logique cble. En effet, le
fonctionnement dpend du programme log dans la mmoire
qui peut tre modifi, tout moment, pour changer les
quations

rgissant

lapplication

sans

toucher

les

Entres/Sorties.
Les microcontrleurs, maintenant, possdent dune part, la
puissance dun microprocesseur et prsente, en dautre part, un
atout supplmentaire consiste lintgration des priphriques
dans le mme circuit tels que RAM, ROM, priphriques
E/S, etc. (voir figure1). Cette caractristique explique
23

Serrure codeur 200


9
lergonomie des montages

base des microcontrleurs.

Contrairement aux microprocesseurs qui ne sont jamais


employs seuls, et qui obligent le concepteur raliser un
dcodage dadresse pour dialoguer avec un priphrique, les
microcontrleurs peuvent grer une application sans faire appel
forcement dautres circuits associs.
Microcontrleur
RAM

Priphriques
E/S

Programme de
Lapplication

A
P
P
L
I
C
A
T
I
O
N

RAM

ROM

Unit
centrale

ROM

Priphriques E/S

APPLICATION

Figure 1 : a) P et ses circuits priphriques ; b) C et sa structure interne


.

b) Structure et fonctionnement des microcontrleurs

* Structure
Un microcontrleur possde certains lments dont les
principaux sont :
23

Serrure codeur 200


9
Une unit centrale ou CPU (Central Processing Unit) :
elle permet laide de lUnit Arithmtique et Logique

(UAL)

dexcuter

squentiellement

les

instructions du programme.
Une mmoire flash contenant le programme excuter,
cette mmoire la particularit de sauvegarder en
permanence les informations quelle contient, mme en
absence de tension.
Une mmoire vive galement appele RAM (Random
Access

Memory).

Cette

mmoire

permet

de

sauvegarder temporairement des informations (circuit


aliment). Le microcontrleur peut utiliser cette
mmoire pour stocker les variables temporelles ou
faire des calculs intermdiaires.
Un port entres-sorties permettant de dialoguer avec
lextrieur telle que lacquisition de ltat des capteurs,
des interrupteurs, ou encore le pilote dun relais (via un
transistor)etc.

*Fonctionnement :
Le microcontrleur excute, une une, les instructions cods
sous

forme binaire dans la mmoire programme, cette

opration seffectue laide dun compteur de programme


23

Serrure codeur 200


9
(CP) qui est charg de point linstruction stock en mmoire
flash, et qui incrmente le contenu de son registre pour
slectionner la case mmoire suivante (voir figure2).

CPU
Excution
De
linstruction

Mmoire
Programme
Instruction n1
Instruction n2

Compteur de
programme

.
.
.

Instruction nk

Figure 2 : Fonctionnement du C

En conclusion sur cette premire partie, on

peut dire en

simplifiant quun C est un microprocesseur auquel on a intgr


divers priphriques, en particulier la mmoire contenant le
programme excuter, et un circuit spcialis qui permet au C
de dialoguer avec lextrieur, que se soit pour mesurer ou pour
actionner.
2) Les microcontrleurs PIC

Il existe plusieurs types des microcontrleurs dont nous citons


les plus publis :

23

Serrure codeur 200


9
Microchip : PIC ; familles 12Cxxx, 16Cxxx, 16Fxxx,
18Fxxx,
Atmel: AT, familles AT89Sxxxx, AT90xxxx,
Philips : P89C51RD2BPN,
Motorola : famille 68HCxxx, etc.
Dans la suite de notre tude, on va sintresser seulement par
les produits Microchip, non seulement parce quils sont
disponibles sur le march tunisien, mais aussi, cause de leurs
compromis entre simplicit demplois et prix de revient. Le PIC
fait partie de la famille RISC (Reduced Instruction Set Compter)
caractris par la vitesse dexcution et leurs jeux dinstructions
rduit. Par exemple le 16F84 possde seulement 35 jeux
dinstructions.

II. pic 16F84A:


Un PIC est un microcontrleur de chez Micro chip.
Ses caractristiques principales sont :
Sparation des mmoires de programme et de
donnes (architecture Harvard) : On obtient
Ainsi une meilleure bande passante et des
instructions et des donnes pas forcment Codes
sur le mme nombre de bits.
Communication avec l'extrieur seulement par des
ports : il ne possde pas de bus d'adresses, de bus
de donnes et de bus de contrle comme la plupart
des microprocesseurs.
Utilisation d'un jeu d'instructions rduit, d'o le nom
de son architecture : RISC (Reduced Instructions Set
23

Serrure codeur 200


9
Construction). Les instructions sont ainsi codes sur
un nombre rduit de bits, ce qui acclre l'excution
(1 cycle machine par instruction sauf pour les sauts
qui requirent 2 cycles). En revanche, leur nombre
limit oblige se restreindre des instructions
basiques, contrairement aux systmes d'architecture
CISC (Complexes Instructions Set Construction) qui
proposent plus d'instructions donc codes sur plus
de bits mais ralisant des traitements plus
complexes.
Il existe trois familles de PIC :
- Base Line : Les instructions sont codes sur 12 bits
- Midinette : Les instructions sont codes sur 14 bits
- Highlands : Les instructions sont codes sur 16 bits
Un PIC est identifi par un numro de la forme
suivant : xx (L) XXyy zz
- x : Famille du composant (12, 14, 16, 17, 18)
- L : Tolrance plus importante de la plage de tension
- XX : Type de mmoire de programme
C - EPROM our EEPROM
CR - PROM
F - FLASH
- y : Identification
- zzz : Vitesse maximum du quartz
Nous utiliserons un PIC 16F84 10, soit :
- 16 : Mid-Line
- F : FLASH
- 84 : Type
- 10 : Quartz 10MHz au maximum
Il s'agit d'un microcontrleur 8 bits 18 pattes. La
documentation technique nDS30430C porte sur
Plusieurs composants (Figure II.1).
Principales caractristiques :
- 35 instructions
23

Serrure codeur 200


9
- Instructions codes sur 14 bits
- Donnes sur 8 bits
- 1 cycle machine par instruction, sauf pour les sauts
(2 cycles machine)
- Vitesse maximum 10 MHz soit une instruction en
400 ns (1 cycle machine = 4 cycles d'horloge)

Figure II.1 : Liste des composants prsents dans la


documentation nDS30430C.

-4 sources d'interruption
- 1000 cycles d'effacement/criture pour la mmoire
flash, 10.000.000 pour la mmoire de donne
EEPROM

II.1. Brochage et fonction des pattes

La Figure* II.2 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 : Entre de comptage
- INT : Entre d'interruption
- MCLR : Reset : 0V
Choix du mode programmation : 12V - 14V
Excution : 4.5V - 5.5V

23

Serrure codeur 200


9

Figure* II.2 : Brochage du circuit.

II.2. Architecture gnrale


La Figure* II.3 prsente l'architecture gnrale du
circuit. Il est constitu des lments suivants :
- un systme d'initialisation la mise sous tension
(power up time, )
- un systme de gnration d'horloge partir du
quartz externe (timing gnration)
- une unit arithmtique et logique (ALU)
- une mmoire flash de programme de 1k "mots" de
14 bits (III.1 - XII)
- un compteur de programme (programme conter) et
une pile (stock)
- un bus spcifique pour le programme (programme
bus)
- un registre contenant le code de l'instruction
excuter
- un bus spcifique pour les donnes (data bus)
- une mmoire RAM contenant
- les SFR (III.2.2)
- 68 octets de donnes (III.2.1)
- une mmoire EEPROM de 64 octets de donnes
(VIII)
- 2 ports d'entres/sorties (VI)
23

Serrure codeur 200


9
- un compteur (time) (VII)
- un chien de garde

III. Organisation de la mmoire


Le PIC contient de la mmoire de programme et de
la mmoire de donnes. La structure Harvard des
PIC fournit un accs spar chacune. Ainsi, un
accs aux deux est possible pendant le mme cycle
machine.

III.1. Mmoire de programme

C'est elle qui contient le programme excuter. Ce


dernier est tlcharg par liaison srie (voir XII). La
Figure* III.1 montre l'organisation de cette mmoire.
Elle contient 1k "mots" de 14 bits dans le cas du PIC
16F84, mme si le compteur de programme (PC) de
13 bits peut en adresser 8k.
Il faut se mfier des adresses images ! L'adresse
0000h contient le vecteur du reset, l'adresse 0004h
l'unique vecteur d'interruption du PIC.
La pile contient 8 valeurs. Comme le compteur de
programme, elle n'a pas d'adresse dans la plage de
mmoire. Ce sont des zones rserves par le
systme
.

23

Serrure codeur 200


9

Figure* III.1 : Organisation de la mmoire de programme et de la


pile.

23

Serrure codeur 200


9

Chapitre 2 : serrure code

I. Introduction
Une serrure code permet de bloquer laccs une
porte aux personnes nayant pas leur connaissance le
code secret permettant louverture. Si les quatre chiffres
du code secret sont entrs dans lordre, le systme
technique commande une gche lectrique (lectroaimant) pendant un temps prdfini de cinq secondes.
Lusager dispose de trois boutons poussoir, le
premier permet de faire dfiler les chiffres de 0 9 sur un
afficheur, le second permet de valider le chiffre affich et
le troisime permet de rinitialiser le systme avant toute
entre dun nouveau code.
II. Diagramme sagittal

Usager

Entre du
Code

Chiffre
Affich

Porte

SERRURE CODEE

Commande de la
Gche lectrique

II.1.Schma fonctionnel de niveau


1
Chiffre affich
Entre du
Code

AUTORISATION
DACCES
nergie
lectrique

Commande de la
gche lectrique

23

Serrure codeur 200


9

Fonction dusage :
la serrure code commande la gche
lectrique dune porte pendant une dure prdtermine de cinq
secondes et ainsi autorise laccs aux usagers si le code secret
entr est correct.

II.2. Schma fonctionnel de 1er degr

Entre
du code

INC

Acquisition
Du code

Analyse code
correct et
gestion de
laffichage

VAL
RAZ

7SEG
CMD

FP2
Commande de
la gche
lectrique

Interfaage
De puissance

Gnration
dure calibre

CMD_5S

FP4
Chiffre
Affich

CMD
7

FP4

Affichage

7SEG

FP3
nergie
lectrique

Protection et
filtrage

23
+5V

Serrure codeur 200


9

3 Programmation du MACH4
Le composant logique programmable MACH4A5-64/32
renfermera toute llectronique logique qui permettra de vrifier le
code et de grer laffichage du chiffre. Le fonctionnement de la
fonction principale peut se dcrire sous forme dun schma
fonctionnel dcrit en 6-1.

Principe de fonctionnement :
- Lappui sur le bouton-poussoir INC incrmente un
compteur BCD, le code en sortie de ce compteur est dirig
vers un dcodeur BCD-7segments et vers un comparateur 4
bits.
- Avant lentre dun nouveau code, lappui sur le boutonpoussoir RAZ place 0 les sorties dun compteur modulo 4
et dun registre dcalage qui permettront de vrifier
lordre dentre des quatre chiffres.
Les quatre combinaisons en sorties de ce compteur modulo 4
permettent de slectionner les quatre chiffres qui vont tre
compars par le comparateur 4 bits au chiffre affich. La sortie de
ce comparateur est au NL1 si les deux quartets (chiffre affich et
chiffre correct) appliqus en entre sont gaux.
- Chaque chiffre peut tre valid par lappui sur le boutonpoussoir VAL ce qui pour effet de mmoriser sur la
premire sortie du registre dcalage le niveau logique pris
par la sortie du comparateur 4 bits suivant sil y a galit ou
pas. Lappui sur le bouton-poussoir VAL incrmente
23

Serrure codeur 200


9
galement le compteur modulo 4 pour prsenter le chiffre
suivant comparer.
- Si laffichage et la validation des 4 chiffres sont corrects et
dans le bon ordre, toutes les sorties du registre dcalage
sont au NL1 ce qui a pour effet de placer la sortie de
loprateur au NL1.
- Des bascules D jouent le rle danti-rebonds en ne recopiant
le niveau logique impos par les bouton-poussoirs
seulement lorsquun front montant arrive sur leur entre
dhorloge fourni par un astable porte logique intgr dans
le mach4.

23

Serrure codeur 200


9

chapitre3 : ralisation pratique

I.

Organigramme
Dbut

Configuration des ports


PORT A (pinA4) en entres, et PORT B
et le reste du port A en sorties

PORT B en sortie

Si touche=1

ii+1

i=4

Diode
Test
le non
allum
code

Diode
allum

23

Serrure codeur 200


9

II.

Programme :

Int Tab [4]={0,0,0,0};


Int i=0;
Int clavier (){ //fonction retournant la touche appuye du clavier
Int T;// S,
//S=input_b(); //switch (S){ //case 0x09 : T=1; break; ...
if (input_b()==0x00)
T=100;//aucune touche n'est
actionn
output_b(0x01); delay_ms(10);
if (input_b()==0x09)
T=1;
if (input_b()==0x11)
T=4;
if (input_b()==0x21)
T=7;
if (input_b()==0x41)
T=11;
output_b(0x02); delay_ms(10);
if (input_b()==0x0A)
T=2;
if (input_b()==0x12)
T=5;
if (input_b()==0x22)
T=8;
if (input_b()==0x42)
T=0;
output_b(0x04); delay_ms(10);
if (input_b()==0x0C)
T=3;
if (input_b()==0x14)
T=6;
if (input_b()==0x24)
T=9;
if (input_b()==0x44)
T=15;
return(T);}
void main() {
int touche=0;
int
const
aff[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F
};//D. BCD
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
set_tris_a(0x00); // configuration du portA en sorties
23

Serrure codeur 200


9
set_tris_b(0x78); // RB0,1,2,7 sorties; RB3,4,5,6 entrees 0111
1000
output_bit(PIN_B7,0);
output_a(0);
while(1){
touche=clavier();
if(touche!=100){ // si touche actionn
Tab[i] = touche; // enregistrer sa valeur ds le tableau
output_a(Tab[i]);
delay_ms(200);
i=i+1;
if(i==4){ // si 4 touches successives actionnes
if(Tab[0]==1 && Tab[1]==5 && Tab[2]==1 &&
Tab[3]==5){ //comparaison
output_bit(PIN_B7,1); //code vrai
delay_ms(2500);}
else i=0;
} } }}

23

Serrure codeur 200


9

III. Schma fonctionnel dune serrure


codeur

23

Serrure codeur 200


9

IV.

Simulation sur LEAGLE

23

Serrure codeur 200


9

23

Serrure codeur 200


9

23

Serrure codeur 200


9

CONCLUSION
Au terme de ce "mini projet" nous avons prlev plusieurs
avantages de l'utilisation de microcontrleur par rapport l'API
(automate programmable industriel). Non seulement au niveau de
cot, mais aussi, par la possibilit de configurer les pattes dE/S
selon nos besoins. Nanmoins, il est ncessaire de faire recours
un tage de puissance dans le cas pratique.
Le travail prsent dans ce mini projet ouvre la voie ltude de
serrure codeur
Enfin, cette exprience nous tait une occasion pour nous
familiariser avec le milieu professionnel. Nous avons pu
galement tirer plusieurs profits scientifiques puisque nous avons
consolids nos connaissances thoriques par lapproche pratique.

23

Serrure codeur 200


9

BIBLIOGRAPH
IE

[1] C.Tavernier, Microcontrleur PIC, Editions Dunod.


Sites WEB
http://www.microchip.com
http://www.abcelectronique.com

23