I-6) LE MICROCONTROLEUR 16F84 : I-6 -1)...

39
I-1) Introduction : Le microcontrôleur est un objet technique, intégrant de l’électronique, fait souvent apparaître des fonctions ayant pour rôle le traitement d’informations : opérations arithmétiques (Addition, multiplication...) ou logiques (ET, OU...) entre plusieurs signaux d’entrée permettant de générer des signaux de sortie. Ces fonctions peuvent être réalisées par des circuits intégrés analogiques ou logiques. Mais, lorsque l’objet technique devient complexe, et qu’il est alors nécessaire de réaliser un ensemble important de traitements d’informations, il devient plus simple de faire appel à une structure à base de microcontrôleur. I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) Présentation générale: Le PIC 16F84 ( Programmable Interface Controler) est un circuit intégré programmable, fabriqué par MICROCHIP Technology.de la famille Mid-Range donc la mémoire programme est de type flash(F) Son boîtier est un DIL (Dual In Line) de 2x9 pattes. En dépit de sa petite taille, il est caractérisé par une architecture interne qui lui confère souplesse et vitesse importante. Ses principales caractéristiques sont : - 13 lignes d’entrées/sorties, réparties en un port de 5 lignes (Port A) et un port de 8 lignes (Port B) - Alimentation sous 5 Volts - Architecture interne révolutionnaire lui conférant une extraordinaire rapidité - Une mémoire de programme pouvant contenir 1024 instructions de 14 bits chacune (allant de l’adresse 005 à l’adresse 3FF)

Transcript of I-6) LE MICROCONTROLEUR 16F84 : I-6 -1)...

Page 1: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

I-1) Introduction :

Le microcontrôleur est un objet technique, intégrant del’électronique, fait souvent apparaître des fonctions ayant pour rôle letraitement d’informations : opérations arithmétiques (Addition,multiplication...) ou logiques (ET, OU...) entre plusieurs signauxd’entrée permettant de générer des signaux de sortie.

Ces fonctions peuvent être réalisées par des circuits intégrésanalogiques ou logiques. Mais, lorsque l’objet technique devientcomplexe, et qu’il est alors nécessaire de réaliser un ensembleimportant de traitements d’informations, il devient plus simple de faireappel à une structure à base de microcontrôleur.

I-6) LE MICROCONTROLEUR 16F84 :

I-6 -1) Présentation générale:

Le PIC 16F84 (Programmable Interface Controler) est un circuitintégré programmable, fabriqué par MICROCHIP Technology.de lafamille Mid-Range donc la mémoire programme est de type flash(F)

Son boîtier est un DIL (Dual In Line) de 2x9 pattes.

En dépit de sa petite taille, il est caractérisé par une architecture internequi lui confère souplesse et vitesse importante.

Ses principales caractéristiques sont :

- 13 lignes d’entrées/sorties, réparties en un port de 5 lignes (Port A) et unport

de 8 lignes (Port B)

- Alimentation sous 5 Volts

- Architecture interne révolutionnaire lui conférant une extraordinairerapidité

- Une mémoire de programme pouvant contenir 1024 instructions de 14bits

chacune (allant de l’adresse 005 à l’adresse 3FF)

Page 2: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

- Une mémoire RAM utilisateur de 68 emplacements à 8 bits (del’adresse 0C à

l’adresse 4F)

- Une mémoire RAM de 2x12 emplacements réservée aux registresspéciaux

- Une mémoire EEPROM de 64 emplacements

- Une horloge interne, avec pré diviseur et chien de garde

- Possibilité d’être programmé in-circuit, c’est à dire sans qu’il soitnécessaire de

le retirer du support de l’application

- 35 instructions

- Instructions codées sur 14 bits

- Données 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 cyclemachine = 4

cycles d'horloge)

- 4 sources d'interruption

- 1000 cycles d'effacement/écriture pour la mémoire flash, 1.000.000 pourla

mémoire de donnée EEPROM

- Vecteur de Reset situé à l’adresse 0000

- Un vecteur d’interruption, situé à l’adresse 0004

- Bus d’adresses de 13 lignes

- Présence d’un code de protection permettant d’empêcher la duplication

- Facilité de programmation

Page 3: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

- Simplicité

I-6 -2) Architecture interne de 16f84:

I-6 -3) Brochage du PIC 16F84

La Figure I-4 montre le brochage du circuit. Les fonctions despattes sont les suivantes :

VSS, VDD : Alimentation OSC1, 2 : Horloge

Figure I-3 Architecture interne générale du PIC 16F84

Récepteur

(TSOP1738)

Bit transmis

Bit reçu

Page 4: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

RA0-4 : Port A RB0-7 : Port B T0CKL : Entrée de comptage INT : Entrée d'interruption MCLR : Reset : 0V

I-6 -10) Jeu D’instructions 16F84 :

Un microcontrôleur est caractérisé non seulement par sa structurematérielle mais aussi par son jeu d’instructions qui lui permet de traiterles données. Le PIC16F84 a un jeu d’instructions limité. Il est conçuselon une architecture interne (RISC) c'est-à-dire un nombre d’instructionréduit, ça permet une programmation efficace et rapidité d’exécution(toutes les instructions, exceptées les sauts, s'exécute en un cycled'horloge).

Il possède au nombre de 35 instruction qui sont données et expliquées enannexe (page Annexe A-11 à Annexe A-12)

a) Format générale :

Figure I-4 Brochage du PIC 16F84

Page 5: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Toutes les instructions sont codées sur 14 bits. Elles sont regroupées en trois Grands types :

Instructions orientées octets Instructions orientées bits. Instructions de contrôle

Le registre de travail W joue un rôle particulier dans un grand nombre d'instructions.

I-6-11) Modes d’adressage :

Les institutions utilisent une manière particulière d’accéder auxinformations qu’elles manipulent. Ces méthodes sont appelées - modesd’adressages -.

Il existe trois (3) modes d’adressages :

a) Adressage immédiat : C’est celui au quel la donnée manipulée par l’instruction est codée avec l’instruction elle-même, ça veut dire La donnée est contenue dans l’instruction.

Exemple : movlw 0Xc4 ; Transfert la valeur 0Xc4 dans W

b) Adressage direct: Ce mode consiste à coder le nom du registre concerné directement dans l’instruction. La donnée est contenue dans un registre. Ce dernier peut être par un nom (par exemple W) ou une adresse mémoire.

Exemple : movf 0x2B, 0 ; Transfert dans W la valeur contenue à l’adresse0x2B.

c) Adressage indirect: Son principe consiste à l’utilisation de deux (2) registresintermédiaires pour accéder aux données

- Le premier est dit FSR : Il est utilisé comme un pointeur d’adresse.

Page 6: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

- le seconde est dit INDF : Il contient la valeur qui ce trouve à l’adressedéfinit dans le SFR

Exemple : Movlw 0x1A ; Charge 1Ah dans W Movwf FSR ; Charge W ; contenant 1Ah, dans FSR

Movf INDF, 0 ; Charge la valeur contenue à l'adresse1Ahdans W

Page 7: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

II-1) Introduction

La technologie infrarouge est basée sur le principe de lalumière infrarouge invisible à l’œil nu. Au delà de la lumière rouge, visible, on trouve le procheinfrarouge utilisé dans les barrières à infrarouge actif. Lefaisceau des colonnes, d’une longueur d’onde supérieure àcelle de la lumière visible crée donc un mur immatériel etinvisible.

Page 8: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Figure II-1 longueur d'onde

II-2) L'infrarouge:

Infrarouge, rayonnement électromagnétique invisible, delongueur d'onde comprise entre 0,8 μm (lumière rougevisible) et 1 mm (micro-ondes).

II-2-1) Diode émettrice infrarouges

Les diodes émettrices infrarouge sont des diodes commeles leds mais qui émettent dans l’infrarouge, ils ont doncun rayonnement invisible.

Voir la figure II-2

Figure II-2 Led émettrice

Ces leds sont caractérisées par leur couleur bleu grisâtre,les plus connus sont LD271 qui ont un courantcaractéristique de 100mA. Pour les interfacer on procèdeavec la même façon que pour les LEDS.

Page 9: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Leur tension de fonctionnement est de l’ordre de 2 V doncen fonction de la tension d’alimentation on calcule larésistance à mettre en série Voir la figure II-3

FigureII-3

Branchement d'un Led

Si nous voulons plus de puissance et par conséquent uneportée plus importante, nous n'avons qu’à mettre plus deLED IR en série comme est montrée à la Figure II-4

.

Figure II-4 Branchement de plusieurs led

Page 10: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

II-2-2) Détecteur infrarouge (récepteur):

Un détecteur de rayonnement IR transforme cerayonnement incident en un signal électrique. Ondistingue deux types de détecteurs:

–Les détecteurs thermiques qui ne sont sensibles qu’àl’énergie du rayonnement

–Les détecteurs quantiques qui transforment les photons

incidents en charges électriques.

Le récepteur utilisé dans notre réalisation est le TSOP1738voir la figure suivante.

Figure II-5 récepteur (TSOP 1738)

Page 11: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

La broche S représente la sortie du récepteur, c’est – à –dire que le signal reçu est récupéré sur cette broche.

II-3) Le code de la télécommande RC5 :

Introduction

Comme la transmission des données s’effectue en modesérie, on doit utiliser la structure de trame que va imposerle code RC5 (voir la figure II-6)

Figure II-6 code de la trame RC5

La trame RC5 contient 14 bits suivis d'une pause de 89 msce qui donne la durée complète de 114 ms .

- 2 bits de Start

- 1 bit de répétition (ou commutation)

- 5 bits d’adressage

- 6 bits de commande

Les 2 premiers bits (S1 et s0) sont les bits de départ, ils sont toujours émis comme des 1 logiques

Page 12: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

et ils servent à détecter le début de transmission d’une nouvelle donnée

Le bit T a une importance capitale lors de la programmation. En effet, quand on appuie sur une touche, on ne reçoit pas une seule trame mais plusieurs. Il faut donc retenir la première et rejeter les autres. Pour cela on utilise le bit T car toutes les trames reçues pendant un appui ont le même bit T. Celui-ci change dès qu'on relâche et on appuie de nouveau.

Si on considère qu'un appui dure à peu près 1/2 seconde, on a le temps de lire 5 trames, d'où la nécessité de gérer le bit T

5 bits (A4 ; A3 ; A2 ; A1 et A0) contenant l’adresse del’appareil qui va répondre à la commande, avec 5 bits nous avons jusqu’à 32 différents appareils, les adresses les plus utilisées sont données dans le tableau 1

Tableau 1. Example RC5 device addresses

Adresse Device

0 TV receiver 1

1 TV receiver 2

2 Teletext

5 Video recorder 1

6 Video recorder 2

7 Experimental

8 Satellite

Page 13: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

16 Preamplifier 1

17 Tuner

18 Audio tape recorder 1

19 Preamplifier 2

20 CD player

23 Audio tape recorder 2

Les 6 derniers bits (C5 ; C4 ; C3 ; C2; C1 et C0) sont lesbits de commande qui donnent la possibilité detransmettre jusqu'à 64 ordres différents, les commandesles plus utilisées sont données dans le tableau 2

Tableau 2. RC5 command codes.

Command Function

0 - 9 Numerals 0 to 9

10 Digits

11 Select

12 Stand-by

13 Mute

14 Presets

15 Display

16 Volume +

17 Volume –

Page 14: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

41 Page

42 Timer

43 Large

44 Reveal

45 Cancel

46 Subtitle

47 Store

48 Pause

49 Erase

50 Fast reverse

51 Fast forward

52 Rewind

53 Play

54 Stop

55 Record

La trame est suivie d’une pause égale à 89ms de tellefaçon à avoir une période de transmission de 114 ms :voir la figure II-07

Figure II-07 la transmission de la trame

Page 15: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Ainsi la fréquence de transmission sera de 8.8 Hz, Ilfaut savoir aussi que le code RC5 utilise un codagebiphasé, c’est –dire qu’un 1 logique correspond à unetransition bas-haut du signal et un 0 logiquecorrespond à une transition haut-bas du signal. Voir lafigure II-08

Figure II-08 Niveau logique de code RC5

Donc une trame qui va commander un appareild’adresse 1 par la commande 28 doit ressembler à çà :voir l'exemple

Figure II-09 Exemple de trame

1 logique0 logique

Page 16: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

C’est tout ce que on doit savoir sur le code RC5 pourpouvoir l’utiliser correctement, mais dans la pratiquecomment va-t-on coder et décoder ces trames pourpouvoir les transmettre et les recevoir ?

En fait il y a deux solutions, soit on utilise desmicrocontrôleurs qu’on va programmer soit on utilisedes circuits spéciaux pour ce type de mission.

Il reste à noter qu’on pourra bien évidemment concevoirnotre propre protocole de transmission en utilisant unmicrocontrôleur à l’émission et un autre à la réception.C’est ce que répond notre thème qui est « étude etréalisation d’une télécommande à infrarouge à base depic16f84 »

Page 17: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

II-4) Opto-triac moc 3041

II-4-1) définition:

Un optocoupleur est un composant ou un ensemble decomposants qui permet le transfert d'informations entredeux parties électroniques isolées l'une de l'autre d'unpoint de vue électrique. La première partie est unémetteur, et la seconde partie est un récepteur. On peutl'assimiler à un composant qui a une entrée (émetteur) etune sortie (récepteur). Quand on parle d'émission, c'est engénéral parce que l'on émet quelque chose. Ici, il s'agitd'une émission de lumière. D'où le préfixe Opto deOptocoupleur. L'émetteur produit donc de la lumière (quipeut être visible ou invisible), et le récepteur, qui estsensible à la lumière émise par l'émetteur (sensibilitémaximale à la longueur d'onde utilisée pour la partieémission), réagit plus ou moins en fonction de la quantitéde lumière reçue. Le couplage entre l'émetteur et lerécepteur s'effectue donc intégralement par de la lumière.

II-4-2) Forme et représentation électroniquede l'opto triac

Il existe plusieurs sortes de boitiers pour les opto triac.Boitiers rectangulaires dont la forme est celle bien connuedes circuits intégrés à 4, 6 ou 8 pattes, ou boitiers deforme un peu plus inhabituelle voir la figure II-10

Page 18: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

II-4-3) Le rôle de l'opto triac ?

Pour isoler électriquement deux parties électroniques ouélectriques entre elles (on parle d'isolation galvanique) : - parce que les tensions mises en jeux ne sont pascompatibles de part et d'autre (sortie logique d'unmontage alimenté en 5V devant être raccordée à l'entréelogique d'un montage alimenté en 24V, par exemple).

- parce que l'une des deux parties présente ou peutprésenter des tensions dangereuses et que l'utilisateurdoit accéder à l'autre partie (un système de téléphonierelié à une ligne non enterrée pouvant recevoir la foudre,par exemple)

- pour isoler une partie fragile d'une partie qui peutdevenir dangereuse en cas de défaillance grave(protection du port parallèle d'un ordinateur utilisé pourpiloter une interface externe, par exemple).

Figure II-10 Brochage dutraic

Page 19: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

- pour permettre la détection du passage d'un objetmécanique (réflecteurs optiques, interrupteurs à fourche,principalement pour applications de comptage).

Page 20: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

II-5) Le triac

II-5-1 Définition:

Le triac (TRIode Alternating Current, en anglais) est undispositif semi-conducteur à trois électrodes qui autorisela mise en conduction et le blocage des deux alternancesd'une tension alternative, en général celle du secteur 230V. Le triac peut passer d'un état bloqué à un régimeconducteur dans les deux sens de polarisation, etrepasser à l'état bloqué par inversion de tension (passagepar le "zéro secteur", zero crossing en anglais) ou pardiminution de la valeur du courant de maintien. Voir lafigure II-11

Figure II-11 - Symbole du triac

Les trois électrodes du triac sont dénommées gâchette(électrode de commande, appelée gate en anglais), et A1et A2 (pour Anodes 1 et 2) ou, en anglais, MT1 et MT2(Main Terminals). Ces deux dernières électrodes assurentla conduction principale.

On peut dire que le triac est l'équivalent de deuxthyristors montés en tête-bêche. Mais comme le triac peutconduire dans les deux sens, son utilisation en alternatif

Page 21: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

est évidente, puisqu'elle permet d'exploiter les deuxalternances.

II-5-2) Principe de fonctionnement : Le principe de fonctionnement du triac est qu'un courantde commande très faible (environ 50 mA) déclenche letriac, qui reste amorcé jusqu'au passage par zéro de latension secteur. La puissance fournie à la charge estmaximale lorsque le déclenchement a lieu juste après lepassage par zéro de la tension alternative, mais enretardant l'impulsion de déclenchement, on peut fairevarier à volonté l'intensité appliquée à la charge. Voir lafigure II-12

Figure II-12 schéma fonctionnement du triac

Page 22: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Introduction:

On réalise une télécommande à infra rouge IR. Elle estconstituée d’un émetteur et d’un récepteur utilisant unsignal IR afin de transmettre une information. Un codetransmis par l’émetteur permet de commander unrécepteur unique.

III-1) Schéma synoptique:

Signal IR

Module alimentation 5V

Etage récepteur àbase de µc

Etaged'introduction de

la clef

Etage d'isolationet de commande à

base de triac

La charge

Lampe, Moteur

Page 23: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Figure III-1: Schéma synoptique

Le module alimentation permet de fournir à partir de latension du secteur 220V ≈ une tension de 5V aux autresétages tels que module récepteur, module d'isolation etde commande.

Quant à l'étage récepteur, il est à base de microcontrôleurpic 16f84 qui a pour rôle traitement de l'information reçueà partir de l'émetteur, en outre un étage d'introductionde la clef, est présent dans cette application en vue de

Etaged'introduction de

la clef

Etage émetteur àbase de µc

Alimentation

(Pile 9V)

Page 24: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

codifier le récepteur voulu car on pourra télécommanderplusieurs récepteurs, ou encore donner une clef à notrerécepteur.

L'étage d'isolation et de commande permet d'isolergalvaniquement la tension secteur 220V du récepteur, lacharge dont on veut commander est placée via un triac.

Quant à la partie émettrice elle est également à base demicrocontrôleur pic 16f84 l'apprivoisement en énergie estassuré par une pile de 9V, un étage d'introduction d'unclef est ainsi présent sur cette partie.

III-2) Schéma électronique:

Le µC PIC 16F84 joue le rôle principale dans notreréalisation, toutes les commandes entrantes et sortantessont gérées par lui.

III-2-1) Etage Emetteur

L'émetteur permet d’activer ou désactiver à distancejusqu’à 256 appareils au moyen des récepteurs adéquatdont la clef sélectionnée correspond à celle choisie parl'émetteur.

Le schéma de principe de notre émetteur est tel que:

Page 25: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Figure III-2: Schéma électronique Emetteur

Page 26: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Le micro switch S1 placé au portB du micro contrôleurpermet de choisir une clef, parmi 256, avec laquelle estcodifié le récepteur. En conséquence si l'émetteur et lerécepteur n'auront pas la même clef le signal IR(infrarouge) codé en code RC5 n'aura aucune influence surl'activation de l'appareil placé sur le récepteur.

Le signal IR modulé en code RC5 est envoyé à partir deligne RA0 du micro contrôleur (RA0 est configurée ensortie). Le signal est ensuite amplifié et transmis à l'aidede deux LED IR.

La trame du signal IR en code RC5 a la forme suivante:

Figure III-3: La trame du signal IR en code RC5

TSOP 1738

Fréquence 36 KHz

Page 27: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

S1 S0: Deux Bits START

T : Bit de réception il change d'état à chaque nouvelletrame

A4 A3 A2 : Dans notre application le récepteur est adressépar 100

A1 A0 C5 C4 C3 C2 C1 C0: 8 bits qui sont utilisés pourdonner une clef à notre émetteur/récepteur, on aura 256clef possibles pour codifier l'émetteur/récepteur.

Le BP placé sur la ligne RA1 du micro contrôleur (RA1 estconfiguré en entrée) sert à émettre le signal IR à chaquefois qu'il est enfoncé.

III-2-2) Etage Récepteur

Son schéma de principe est donné à la figure suivante:

TSOP 1738

Fréquence 36 KHz

Page 28: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Figure III-4 Schéma électronique du Récepteur

Le circuit formé par les condensateurs C6, C5 et le quartzQ2 de 4MHz fournit l'horloge nécessaire au PIC 16f84 demanière à ce que sa fréquence soit égale à 1MHz car le µcdivise la fréquence du quartz par 4.

le portB est directement relié au micro suitch S2, sansavoir utilisé des résistance de rappel du moment qu'onutilisera les résistance PULL-UP interne du PIC lors de laprogrammation du micro contrôleur .

Page 29: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Le récepteur TSOP 1738, dont la sortie 3 est reliée à labroche RA1 du µc, perçoit le signal IR transmet parl'émetteur et modulé à la fréquence 36 KHz. Voir la figuresuivante:

Figure III-5 La trame reçue

Entrée Sortie

Broche 3

Récepteur

(TSOP1738)

Récepteur

(TSOP1738)Récepteur

(TSOP1738)

Page 30: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

La charge à commander est branchée avec le triac vial'opto triac et le transistor T2 qui à leur tour sont activéspar la ligne RA0 du µc lorsqu'il reçoit le signal IR adéquat,c'est-à-dire un bon code.

Page 31: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

III-2-3) Alimentation :

C'est une alimentation régulée avec une tension de sortiede 5Vet pouvant fournir un courant de 150 mA.

Figure III-6: Schéma électronique alimentation

Notre carte est alimentée par une tension stabilisée de 5V(pour alimenter le récepteur), telle que cette dernière estabaissé et régulée à 05V à l’aide de régulateur 7805 (pouralimenter le PIC et les autres circuits).

Le transformateur TR1 abaisse la tension qui est redresséeen double alternance par le pont de diodes puis filtrée parle condensateur C8. La régulation est assurée par le 7805.Le condensateur C7 assure le filtrage en sortie.

Page 32: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

III-3) LA Programmation du PIC 16F84 :

La programmation du PIC 16f84 nécessite l'utilisationde deux logiciels appelés MPLAB et ICPROG

III-3-1) Le logiciel MPLAB:

MPLAB est un outil fournit par la société microchip, ce logiciel permettra de créer un programme pour unPIC, de l’assembler et de faire la compilation.

III-3-2) Le logiciel ICPROG:

C'est un logiciel qui nous permettra de transférerun fichier compile (hex) vers le microcontrôleur enutilisant un programmateur adéquat attaché au PC.

III-3-3) Structure d'un programme asm(assembleur):

Tout programme se construit selon un modèle, unesorte de squelette.

Voici le squelette d'un programme pour PIC 16 F84:

Déclarations obligatoires radix,,., .Include PIC 16F84À, inc

Equivalences...... EQU......

Page 33: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Initialisation de la RAM Début du programme ORG 00 après reset Configuration des lignes de port Instructions Sous programmes Fin du programme END

III-3-4) Programmation en langageassembleur:

La programmation en langage ASSEMBLEUR se faiten utilisant les 37 instructions du PIC16F84A. En langageASSEMBLBURE le PIC 16F84 ne comprend que ces 37 Mots(en fait : 35 instruction communes à tous les modèles dePIC, Ces 37 mots forment ce que on appelle le setd'instructions du 16F84.

Ecrire un programme en langage ASSEMBLEURrevient donc â détailler au PIC ce qu'il doit faire, en ledisant exclusivement au moyen de ces 37 mots de sonvocabulaire: les seul mots qu'il est capable decomprendre.

III-3-5) Les outils nécessaires pourprogramme en langage assembleur:

Pour programmer en langage ASSEMBLEUR il faut:

1) Un PC et une imprimante, pour écrire les instructionspermettant de confectionner le fichier â extension. asm

2) Un logiciel MPLAB, fournit gratuitement par micro-chip,permet d’éditer le fichier à extension asm et de faire la

Page 34: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

compilation de ce fichier en fichier hexadécimal. Celogiciel doit s’installer sur le Pc.

3) Un programmateur de PIC.

Relativement simple à réaliser. Il existe de modèles surport série et des modèles sur port parallèle.

4) Un logiciel adapté â votre programmateur de PIC. Celogiciel s'appelle ICPROG qui doit être installé sur le Pc. Ilpermet de Transférer le fichier hex directement dans lamémoire flash du PIC.

III-3-6) Quelques étapes pour la constructiond’un programme:

a)Les commentaires:

Pour la compréhension d’un programme, il est utile,voir primordial, d'ajouter des commentaires qui faciliterontla mise au point ainsi que les éventuelles modifications. Laplupart des compilateurs ignorent, donc considèrentcomme commentaires, tout ce qui suit un point virgule (;).

Au début de programme, quelques lignes decommentaires nous permettent de comprendre lefonctionnement sommaire du programme.

Exemple: application avec un PIC:

; Titre : Télécommande IR ; Date : 26/05/2010 ; PIC utilise: PIC 16F84

Page 35: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

b)Les directives :

Pour programmer en assembleur, on doit utiliser, en plus desinstructions assembleur, des directives ou pseudo-instructions : Une directive est une information que le programmeur fournit aucompilateur. Elle n'est pas transformée en une instruction en langagemachine. Elle n'ajoute donc aucun octet au programme compilé. Donc lesdirectives sont des déclarations qui vont guider l'assembleur.

Une directive est utilisée par exemple pour créer de l'espace mémoirepour des variables, pour définir des constantes, etc...

Pour déclarer une directive il faut utiliser la syntaxe suivante :

{Nom} Directive {opérande} { ; commentaire}

- Le champ opérande dépend de la directive

- Le champ commentaire a les mêmes propriétés vues dans leparagraphe précèdent.

- Le champ Nom indique le nom des variables : c'est un champoptionnel (selon la directive).

c) Les assignations :

Les assignations se comportent comme une simple substitution. Aumoment de l’assemblage, chaque fois que l’assembleur va trouver uneassignation, il la remplacera automatiquement par sa valeur.

Un autre avantage est que si vous remplacez la valeur d’une assignation,le changement sera effectif pour tout le programme. Vous ne risquez doncpas d’oublier des valeurs en chemin.

d)Les macros :

La macro se compose d’un nom écrit en première colonne, suivi par ladirective « macro ». Commence alors à la ligne suivant la portion de codequi constitue la macro. La fin de la macro est définie par la directiceendm) (end of macro).

Page 36: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

Une macro remplace donc un morceau de code que nous utilisonssouvent. La macro fonctionne également uniquement comme un simpletraitement de texte.

e)Les étiquettes:

Les étiquettes permettent de remplacer.Avantageusement une adresse en format numérique.

Exemple:

Tempo Inst 1

Inst 2

.

.

.

GOTO tempo

Dés que le programme rencontre l'instruction GOTOtempo, il va brancher à l'adresse mémoire que représentel'étiquette tempo pour exécuter les instructions qui setrouvent derrière cette étiquette.

f) Les équivalences:

Dans un premier temps, il est souhaitable, pour lacompréhension du programme et éventuellement pourqu'une autre personne puisse suivre ou modifier leprogramme, de définir des équivalences qui permettentd'associer une valeur a un nom il est en effet plus facile detravailler avec des noms plutôt qu'avec des nombres. Pourdéfinir des équivalences, il faut se placer au début de

Page 37: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

l'éditeur de texte qui nous permet de créer le programmesource, et saisir la syntaxe EQU comme ci-après :

Retard1

EQU 0XOC

Retard2 EQU 0XQF

Retards EQU 0X14

Tampon EQU 0X10

Rang EQU 0X11

Key EQU 0X12

Dés que le compilateur rencontrera le mot retard 1, ill'associera à l'adresse mémoire OC.

g)Fin d'un programme:

On termine toujours un programme avec l’instructionEND.

Exemple:

.programme principal.

; Début

.

.

Page 38: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute

.

END ; fin de programme

Le programme assembleur doit être précédé par unorganigramme qui nous permet de suivre lefonctionnement de la réalisation étape après étape.

Notre organigramme se base essentiellement sur laconstitution de la trame infrarouge modulée à 36KHz quiporte la clef de l'émetteur/récepteur et se base égalementsur la transmission de cette onde ainsi que sa réception,tout ça est illustré aux pages suivantes:

La figure III-7 nous montre les donnés à respecterlors de la constitution de la trame en programmant le µcpic 16F84.

La figure III-8 donne la constitution d’un bit parmi les14 bits de la trame.

Page 39: I-6) LE MICROCONTROLEUR 16F84 : I-6 -1) …d1n7iqsz6ob2ad.cloudfront.net/document/pdf/53df6ae21dee4.pdf · 2014-08-04 · (toutes les instructions, exceptées les sauts, s'exécute