8
u point de vue de la structure, le PIC16F876 pourrait être considéré comme une évolution du PIC16F84, dont il se dif- férencie essentiellement par les aspects suivants : il dispose d’une mémoire de programme de 8 kbytes (de 14 bits), d’une RAM de 368 x 8 bits, et d’une petite EEPROM de 256 x 8 bits dispo- nible pour mémoriser des données de caractérisation (par exemple : des codes d’accès, des informa- tions pour l’utilisateur, etc.) dans les applications qui le demandent. Les registres d’E/S sont au nombre de 3, leurs sigles sont RA, RB et RC, le premier de 6 lignes et les deux autres de 8. L’oscilla- ELECTRONIQUE magazine - n° 18 76 teur d’horloge interne peut tra- vailler avec des quartz de 4 à 20 MHz, alors que sa construction soignée permet de limiter la consommation de courant à 1 μA en standby et à moins de 2 mil- liampères à une fréquence d’hor- loge de 4 MHz (5 volts d’alimen- tation). La structure déjà avenante du microcontrôleur, comprend trois timers (TMR0 de 8 bits avec pré- diviseur, TMR1 de 16 bits avec prédiviseur et TMR2 de 8 bits avec “prescaler”, “postscaler” et “period register” à 8 bits) et un watch-dog. Le 16F876 dispose également d’un convertisseur A/D à 10 bits Une carte de test pour les PIC 16F876 de la théorie à la réalisation • CHAPITRE I • Cela fait déjà quelques mois que nous utilisons, pour certains de nos projets les plus évolués, les microcontrôleurs PIC de la famille 16F87x de Microchip. Nous avons eu, à chaque nouvelle réalisation, l’occasion d’en vérifier et d’en apprécier les prestations : il s’agit d’un composant basé sur un CPU RISC (à 35 instructions seulement), programmable également en Pic Basic (en effet la Flash Eprom, réservée à l’écriture des programmes, a une structure à 14 bits…). Par rapport à ses aînés, ce PIC est pourvu d’une Flash Eprom de grande capacité, d’une RAM plus étendue et dispose de ports E/S supplémentaires, ce qui le rend pratiquement irremplaçable dans de nombreuses applications. COURS DE PROGRAMMATION

Cours de Programmation - Chap 01 - Carte de Test PIC16F876

Embed Size (px)

Citation preview

Page 1: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

u point de vue de lastructure, le PIC16F876pourrait être considérécomme une évolution duPIC16F84, dont il se dif-

férencie essentiellement par lesaspects suivants: il dispose d’unemémoire de programme de 8kbytes (de 14 bits), d’une RAM de368 x 8 bits, et d’une petiteEEPROM de 256 x 8 bits dispo-nible pour mémoriser des donnéesde caractérisation (par exemple :des codes d’accès, des informa-tions pour l’utilisateur, etc.) dansles applications qui le demandent.

Les registres d’E/S sont aunombre de 3, leurs sigles sont RA,RB et RC, le premier de 6 ligneset les deux autres de 8. L’oscilla-

ELECTRONIQUE magazine - n° 1876

teur d’horloge interne peut tra-vailler avec des quar tz de 4 à20 MHz, alors que sa constructionsoignée permet de limiter laconsommation de courant à 1 µAen standby et à moins de 2 mil-liampères à une fréquence d’hor-loge de 4 MHz (5 volts d’alimen-tation).

La structure déjà avenante dumicrocontrôleur, comprend troistimers (TMR0 de 8 bits avec pré-diviseur, TMR1 de 16 bits avecprédiviseur et TMR2 de 8 bitsavec “prescaler”, “postscaler” et“period register” à 8 bits) et unwatch-dog.

Le 16F876 dispose égalementd’un convertisseur A/D à 10 bits

Cours deprogrammation

• CHAPITRE I •

Une carte de testpour les PIC 16F876

de la théorie à la réalisation

Cours deprogrammation

• CHAPITRE I •

Une carte de testpour les PIC 16F876

de la théorie à la réalisation

Cela fait déjà quelques mois que nous utilisons, pour certains de nos projets lesplus évolués, les microcontrôleurs PIC de la famille 16F87x de Microchip. Nousavons eu, à chaque nouvelle réalisation, l’occasion d’en vérifier et d’en apprécierles prestations : il s’agit d’un composant basé sur un CPU RISC (à 35 instructionsseulement), programmable également en Pic Basic (en effet la Flash Eprom, réservéeà l’écriture des programmes, a une structure à 14 bits…). Par rapport à ses aînés,ce PIC est pourvu d’une Flash Eprom de grande capacité, d’une RAM plus étendueet dispose de ports E/S supplémentaires, ce qui le rend pratiquement irremplaçabledans de nombreuses applications.

C O U R S D E P R O G R A M M A T I O N

Page 2: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

ELECTRONIQUE magazine - n° 1877

d’une carte de test permettant de tes-ter les programmes avant de les char-ger définitivement dans les microcon-trôleurs destinés à des applicationsspécifiques.

La carte de test est décrite dans cespages, où vous trouverez également leschéma électrique ainsi que les des-sins et photos nécessaires pour vousfaciliter le montage.

Cette car te de test est prévue pourfonctionner en interconnexion avec leprogrammateur de PIC décrit dans ELMnuméro 5, page 67 et suivantes. Elleconviendra donc parfaitement à tousceux qui veulent réaliser la program-mation de PIC16F876, en exploitantn’importe quel PC sur lequel tourne leprogramme EPIC.

En somme, vous pouvez programmerun microcontrôleur directement sur lacarte de test, sans avoir besoin de ledéplacer physiquement dans le sup-port du programmateur de PIC, ce quinécessiterait, d’ailleurs, un adaptateurpuisque le PIC16F876 est un 28broches, alors que le support du pro-grammateur n’en a que 18.

La programmation s’obtient simplementen interconnectant point à point leslignes de sortie de la carte de test auxlignes de sortie du programmateur parun simple câble en nappe et deuxconnecteurs adéquats.

Il suffit ensuite de relier le program-mateur au port parallèle du PC par lecâble prévu à cet effet puis de lancerle programme EPIC.

Les mémoires EPROM et EEPROM

associable à plusieurs E/S et de deuxmodules PWM à 16 bits (en mesure defonctionner en acquisition avec résolu-tion de 12,5 nanosecondes et en com-paraison avec résolution de 200 ns). Ilcontient également un UART, configu-rable de façon opportune via software.

Les potentialités du PIC16F876 sontdonc telles et si nombreuses, qu’ellesle rendent, sans aucun doute, inté-ressant. Nous sommes convaincus quede nombreux concepteurs d’appareilsà microcontrôleurs lui consacreronttoute leur attention. C’est pour eux,mais aussi pour les étudiants et lesexpérimentateurs en électronique quicommencent à s’intéresser à cettefamille de PIC, que nous avons penséà réaliser et à proposer dans notrerevue un cours simple, accompagné

Dans un processeur “single-chip” leprogramme se situe normalementdans une mémoire de type EPROM ouEEPROM (appelée aussi E2PROM),située à l’intérieur du processeurmême. Dans le premier cas, ils’agit d’une “Erasable Program-mable Read Only Memory” ce quise traduit par mémoire à lectureseule programmable et effaçable.Une mémoire de ce type est pro-grammée électriquement à traversun programmateur spécial qui esthabituellement géré par un PC(c’est le cas du programmateurPic StartPlus qui sera utilisé dansnotre cours).

Le programme NE s’efface PASlorsque l’on coupe l’alimentationet cela est absolument obligatoirepour un processeur “single chip”.Nous ne pouvons pas imaginer lais-ser indéfiniment allumée l’applicationà laquelle travaillera le microcontrô-leur.

La possibilité d’effacer le programmedoit cependant exister. Dans le cascontraire, les corrections d’éven-tuelles erreurs, les modifications oules indispensables ajouts à un pro-gramme ne seraient possibles qu’enjetant le microcontrôleur et le rem-plaçant par un autre, vierge.

Les mémoires EPROM peuvent êtreeffacées en soumettant le chip à unrayonnement ultraviolet. Il existe, dansle commerce, des lampes à UV spé-ciales dotées de temporisateurs qui

De nombreux processeurs avecmémoire EPROM se reconnaissent faci-lement par la présence d’une petitefenêtre à travers laquelle passe la radia-tion UV. Cer tains processeurs ontcependant une EPROM mais pas lapetite fenêtre d’effacement. On ne peutévidemment pas les effacer mais ilssont quand même utiles. On a recoursà eux lorsque le programme a déjà étédéveloppé et vérifié sur un processeureffaçable analogue. Le coût des pro-cesseurs non ef façables est sansaucun doute inférieur et c’est un para-mètre très important pour ceux qui doi-vent réaliser plusieurs exemplaires d’unmême circuit. L’amateur n’a pas cegenre de problème et, donc, si vous

utilisez des processeurs avec EPROMnous vous conseillons vivement derecourir à la version effaçable et devous procurer une lampe UV. La ver-

sion non ef façable est connuesous le sigle OTP (One Time Pro-grammable) c’est-à-dire “pro-grammable une seule fois”.

Cependant, la technologie a faitun bond en avant avec l’intro-duction de l’EEPROM, abrévia-tion de Electrically Erasable Pro-grammable Read Only Memory.C’est-à-dire, une EPROM qui peutêtre effacée grâce à une tensionélectrique appliquée sur une ouplusieurs de ses broches. Sesavantages sont faciles à imagi-ner. Une EEPROM peut êtrereprogrammée sans avoirrecours au rayonnement UV. Nor-

malement, un programmateur prévupour les EPROM fonctionne égale-ment avec les EEPROM en s’occu-pant, en plus, du “blanking”, c’est-à-dire de l’effacement de la mémoirepréalable à une nouvelle program-mation. De nombreux processeursPIC, comme les 16C84, 16F84 et lenouveau 16F876, protagoniste denotre cours, utilisent une EEPROM.Cette mémoire les rend encore plusintéressants et pratiques d’emploi.Aucune crainte à avoir, en outre,pour le maintien de la mémoire :Microchip garantit une période de“data rétention” (sauvegarde desdonnées) supérieure à 30 ans pourles EEPROM de ses microcontrô-leurs !

assurent la bonne durée d’expositiondu chip. Un système de ce type (timer+ lampe) est appelé “eraser” enanglais, c’est-à-dire “effaceur”.

Page 3: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

ELECTRONIQUE magazine - n° 1878

L’étude du schéma

La figure 1 brille par sa simplicité. Lesuppor t pour le microcontrôleur estrelié :- à un afficheur à cristaux liquides du

type intelligent standard (ex :CDL4161, CDL4162, etc.) aveccontrôleur HD44780, à une ligne 16caractères ou 2 lignes 16 caractères,

- à un afficheur 7 segments à LED,- à un buzzer,- à un amplificateur opérationnel uti-

lisé pour la lecture du convertisseurA/D,

- à deux boutons-poussoir.

L’afficheur LCDProcédons par ordre et observons lebloc concernant l’afficheur LCD. Ce der-nier est utile lorsqu’il faut tester desroutines de pilotage pour des disposi-tifs d’affichage : la gestion est confiéeau por t RB, au moins pour ce quiconcerne le Data Bus, alors que RA1et RA2 s’occupent du contrôle deslignes RS et Enable.

Pour comprendre un peu mieux, nousdevons remonter à la théorie de fonc-tionnement des afficheurs intelligentsavec contrôleur HD44780: ceux-ci com-muniquent en exploitant un bus de 4ou de 8 bits (selon la sélection) et ont3 lignes de commandes qui sont R/W,RS et E.

La ligne R/W (Read/Write - Lecture/Ecri-ture), reliée à la masse dans notreapplication, décide si l’afficheur doitseulement recevoir les données, oubien les envoyer au dispositif qui lepilote. Dans notre cas, comme nousne prévoyons que le test de la routinede visualisation, nous ne gérons pasla broche 7 mais nous la laissons àmasse, ce qui correspond à la condi-tion logique 0, donc au mode Write : ledispositif reçoit seulement, ou bien ilest toujours écrit.

La ligne RS, broche 6, indique à l’affi-cheur si les données qui arrivent doi-vent être interprétées comme des com-mandes ou comme des informations à

visualiser. Elle est mise à niveau hautpar le PIC quand il envoie aux pattesdu bus les impulsions correspondantà des instructions que l’afficheur doitaccomplir (ex : Curseur Avant). Parcontre, elle est forcée à niveau logique0 si le micro envoie des informationsou des caractères à visualiser.

Enfin, la ligne E, broche 8, correspondà l’Enable de l’afficheur: quand on veutmettre à jour le contenu de l’afficheur(ou permettre l’interprétation d’unecommande), il suf fit de donner uneimpulsion sur la broche Enable.

Afin de mieux comprendre comment segère DS1, l’afficheur LCD, nous allonsimaginer devoir écrire la lettre “P” dansla deuxième colonne de la premièreligne.

Tout d’abord, le microcontrôleur effacel’afficheur en envoyant l’instruction de“Clear Display” (00000000b) sur les8 bits correspondant aux broches DB0à DB7. Il met au 1 logique le signal RS

Figure 1 : Schéma électrique de la carte de test pour PIC16F876.

Page 4: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

ELECTRONIQUE magazine - n° 1879

(afin d’indiquer à l’afficheur que ladonnée présente sur le bus corres-pond à une commande et non à uncaractère à visualiser) et envoie uneimpulsion sur Enable. Il suffit alorsde remplacer les données présentessur le BUS par celles correspondantà l’instruction “Cursor Right” (demanière à positionner le curseur surla deuxième colonne de la premièreligne) et d’envoyer une autre impul-sion à Enable. Une fois le curseurpositionné, il faut communiquer àl’afficheur qu’au prochain signal surEnable, les données contenues dansle BUS ne seront plus des com-mandes mais représenteront le codedu caractère à visualiser. Pour cela,il suffit de mettre à 0 le signal RSde l’afficheur. Nous pouvons main-tenant envoyer sur le canal donnéesle code correspondant à la lettre “P”et envoyer l’habituelle impulsion surEnable. De cette façon, l’afficheurvisualisera effectivement la lettre“P” dans la deuxième colonne de lapremière ligne.

Le trimmer R3 ser t à régler lecontraste des caractères de l’affi-cheur en agissant sur la broche 5(Vo) qui est l’entrée de contrôle dudriver de polarisation LCD.

L’afficheur 7 segments à LEDLe port RC du microcontrôleur, dontles 8 bits (RC0 à RC7) servent pourla commande de l’afficheur 7 seg-ments à LED à cathode commune.Plus précisément, RC0, gère le pointdécimal (DP), alors que RC1 à RC7, pilo-tent chacun un segment parmi ceux illus-trés dans le schéma électrique (A à F).

Notez que le courant fourni par cha-cune des lignes du port RC est suffi-sant pour allumer un segment sansnécessiter de driver extérieur. Nousaurions, également, pu obtenir la com-mande au moyen de 4 lignes et d’undécodeur BCD traditionnel (CD4511).Cependant, disposant de ports à cou-rant élevé, nous avons préféré l’inter-face directe.

Le buzzerLa ligne RA3 est utilisée comme sortiepour le contrôle d’un buzzer piézo sansoscillateur. En effet, BZ1 est une simplepastille piézo ou un buzzer sans élec-tronique, que nous pouvons piloter enfaisant générer au PIC16F876 une fré-quence fixe, une fréquence modulée,ou bien encore un signal en PWM.

Le convertisseur A/DLa ligne RA0 est utilisée comme entréepour le convertisseur A/D.

Pour l’acquisition de tensions analo-giques, il a été prévu un étage consti-tué d’un amplificateur opérationnelconfiguré en mode “suiveur”, dont l’en-trée peut prélever un signal des bornes“EXT”.

Ce signal peut être une source externede BF mais peut également provenir ducurseur d’un trimmer alimenté en 5volts.

En associant le convertisseur A/D à laligne RA0, vous pouvez essayer desroutines de conversion analogique/digi-tale, ou encore tester la précision duconvertisseur ou sa résolution: le trim-mer R11 est pour cela très utile, étantdonné qu’il permet le calibrage del’échelle de lecture de 0 à +5 volts.

Les poussoirsRA4 et RA5 permettent le test de rou-tine pour la lecture de l’état des bou-tons-poussoir NO (NormalementOuvert). A ce propos, notez que P1 etP2 sont reliés vers la masse et queleurs résistances (R8 et R9) se char-gent du pull-up des lignes RA4 et RA5.

Figure 2 : Schéma d’implantation des composants de la carte de test.

Le raccordementde la carte de testau programmateuruniversel

Sur le connecteur d’interface, on trouveles sorties Vpp, SCK, SDT, +5 V, Vddet GND. Elles doivent être reliées, parun câble en nappe, directement à lacar te du programmateur universel.Nous vous rappelons que cette cartea été décrite dans le numéro 5 d’ELM,page 67 et suivantes.

Voici donc l’occasion de voir employé,pour la première fois, ce connecteurque nous avions laissé de côté, aumoment de la publication du program-mateur de PIC. Ce port dispose dessignaux et tensions nécessaires à laprogrammation de dispositifs externes.

Le signal Vpp est celui qui reçoit duprogrammateur l’impulsion de pro-grammation et il est normalement main-tenu à +5 volts par la résistance depull-up R10. La diode D2 sert à éviterque les impulsions (dont le potentiel

Page 5: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

ELECTRONIQUE magazine - n° 1880

est supérieur à 5 V) se déchargent lelong de la ligne positive et, de celle-ci,sur la sortie du régulateur U1.

Le signal SCK est l’horloge de la com-munication sérielle (Serial ClocK).

Le signal SDT est le canal de données(Serial DaTa) à travers lequel transitentles informations lues par la mémoire

du microcontrôleur, celles à écrire danssa Flash Eprom.

Notez que, disposant d’une alimenta-tion sur la carte de test, nous ne pré-levons ni les 5 volts ni Vdd de laconnexion avec le programmateur. Eneffet notre carte de test dispose d’unbloc qui prévoit une alimentation prin-cipale continue de 9 à 15 volts (à appli-

quer aux bornes + et – Val) stabiliséeà 5 V par le régulateur intégré U1 (l’ha-bituel 7805) qui alimente toute lalogique. La LED LD1 indique la pré-sence de la tension sur la carte.

La réalisation pratique

Laissons maintenant le schéma élec-trique de côté et passons à la construc-tion et à l’utilisation de la carte de test.

Figure 3 : La carte de test montée, équipée de son afficheur LCD.

Liste des composantsR1 = 1 kΩR2 = 100 ΩR3 = 10 kΩ trimmerR4 = 2,2 kΩR5 = 2,2 kΩR6 = 47 kΩR7 = 4,7 kΩR8 = 22 kΩR9 = 22 kΩR10 = 10 kΩR11 = 10 kΩ trimmerR12 = 220 kΩR13 = 1 kΩR14-R21 = 470 ΩC1 = 470 µF 25 V

électrolytiqueC2 = 220 µF 16 V

électrolytiqueC3 = 1 µF 100 V

électrolytiqueC4 = 22 pF céramiqueC5 = 22 pF céramiqueC6 = 100 nF multicoucheC7 = 100 nF multicoucheC8 = 100 nF multicoucheD1 = Diode 1N4007D2 = Diode 1N4148U1 = Régulateur 7805U2 = Intégré CA3140U3 = µC PIC16F876LD1 = Diode LED verte 5 mmT1 = Transistor NPN

BC547BQ1 = Quartz 4 MHzBZ = Buzzer pour ciP1-P2 = Poussoirs NO pour ciDS1 = Afficheur LCD

16 caractères x 2DS2 = Afficheur 7 segments

Divers :1 Bornier 2 pôles1 Support 2 x 4 broches1 Support 2 x 14 broches

pas étroit1 Prise alimentation pour ci25 Picots en bande1 Cavalier informatique1 Circuit imprimé réf. S333.

Toutes les résistances sont des 1/4W à 5 %.Figure 4 : Dessin du circuit imprimé à l’échelle 1 de la carte de test.

Page 6: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

ELECTRONIQUE magazine - n° 1881

Comme d’habitude, vous devez vousprocurer le circuit imprimé ou le réali-ser à l’aide du dessin donné en figure4. Il s’agit d’un simple face.

Vous pouvez alors commencer parmettre en place et souder les compo-sants les plus bas, c’est-à-dire les résis-tances et les diodes au silicium, en

vous rappelant que, pour ces dernières,la cathode est mise en évidence parune bague. Installez ensuite les sup-ports pour l’amplificateur opérationnel

Pour la programmation d’un PIC, vousdevez raccorder le programmateuruniversel (ELM numéro 5, page 67 etsuivantes), à la car te de test. Celasera réalisé par un câble en nappe à6 conducteurs en respectant letableau 1.

Une fois le raccordement entre lacar te de test et le programmateureffectué et après avoir relié, par uncâble idoine, le connecteur DB25 duprogrammateur au port parallèle de

l’ordinateur, vous pou-vez allumer ce dernier.N’oubliez pas d’ali-menter les deuxcartes.

Lorsque Windows 95/98est activé, lancez le programmeEPIC et essayez de charger unprogramme dans le microcontrô-leur monté sur la carte de test. Unefois la programmation terminée, vouspouvez procéder au test de vérification.

La carte et le programmateur

Figure 5: La carte detest est raccordée auprogrammateur.

Tableau 1 : interconnexion des deux cartes

Rappelez-vous qu’avant d’exécutertout type d’opération, vous devezsélectionner le microcontrôleur à par-tir de l’écran principal du software :dans ce but, cliquez sur l’icône du PIC(celui de défaut est le PIC16C84) etsélectionnez, dans la liste, le modèlePIC16F876.

PROGRAMMATEUR CARTE DE TEST1 (+5 V) +5 V (1) non raccordé (voir texte)2 (Vdd) Vdd (2) non raccordé (voir texte)3 (Vpp) Vpp (3) impulsion de programmation4 (GND) GND (4) masse5 (SDT) SDT (5) données6 (SCK) SCK (6) horloge

MICROCONTRÔLEURS PIC : CARTE DE TEST POUR PIC

ZI des Paluds - BP 1241 - 13783 AUBAGNE CedexTél. : 04 42 82 96 38 - Fax 04 42 82 96 51

Internet : http://www.comelec.fr

… SPÉCIAL PIC… SPÉCIAL PIC… SPÉCIAL PIC…… SPÉCIAL PIC… SPÉCIAL PIC… SPÉCIAL PIC…

SRC

pub

02

99

42 5

2 73

10

/200

0

FT284 (Kit complet + câble PC + SFW 284) ......455 F

PROGRAMMATEUR UNIVERSEL POUR PIC.

Permet de programmer tous lesmicrocontrôleurs MICROCHIP,à l’exception des PIC16C5x etdes PIC17Cxx. Livré avec sonprogramme : éditeur (exa) +assembleur + programmateur.

PIC BASIC COMPILATEUR : Permet d'utiliser des fonctions deprogrammation avancées, commandes de saut (GOTO, GOSUB), deboucle (FOR… NEXT), de condition (IF… THEN…), d'écriture et de lectured'une mémoire (POKE, PEEK) de gestion du bus I2E (I2CIN, I2COUT),de contrôle des liaisons séries (SERIN, SEROUT) et naturellement detoutes les commandes classiques du BASIC. La compilation se fait trèsrapidement, sans se préoccuper du langage machine.

PBC (Pic Basic Compiler) ...................... 932,00 F

PIC BASIC PRO COMPILATEUR : Ajoute de nombreuses autresfonctions à la version standard, comme la gestion des interruptions, la possibilitéd’utiliser un tableau, la possibilité d’allouer une zone mémoire pour les variables,la gestion plus souple des routines et sauts conditionnels (IF… THEN…ELSE…). La compilation et la rapidité d’exécution du programme compilé sontbien meilleures que dans la version standard. Ce compilateur est adapté auxutilisateurs qui souhaitent profiter au maximum de la puissance des PIC.

Un compilateur sérieux est enfin disponible (endeux versions) pour la famille des microcontrôleurs8 bits. Avec ces softwares il est possible "d'écrire" un quelconqueprogramme en utilisant des instructions Basic que le compilateurtransformera en codes machine, ou en instructions prêtes pour êtresimulées par MPLAB ou en instructions transférables directement dansla mémoire du micro. Les avantages de l'utilisation d'un compilateur

Basic par rapport au langage assembleur sontévidents : l'apprentissage des commandes est

immédiat ; le temps de développement est considérablement réduit ; onpeut réaliser des programmes complexes avec peu de lignesd'instructions ; on peut immédiatement réaliser des fonctions que seulun expert programmateur pourrait réaliser en assembleur. (pour la listecomplète des instructions basic : www.melabs.com)

COMPILATEUR BASIC POUR PIC

PBC PRO ............................................ 2070,00 F

Pour apprendre de manière simple la technique de programmation desmicrocontrôleurs PIC. Interfaçable avec le programmateur pour PIC16C84,(Réf. : FT201K). Le demoboard possède les options suivantes : 8 LED, 1display LCD, 1 clavier matriciel, 1 display 7 segments, 2 poussoirs, 2 relais,1 buzzer piézo ; toutes ces options vous permettent de contrôlerimmédiatement votre programme. Le kitcomprend tous les composants, un microPIC16C84, un afficheur LCD, le claviermatriciel et une disquette contenant desprogrammes de démonstrations.

FT215/K (Kit complet) ....468 F FT215/M (Livré monté)..668 F

DEMANDEZ NOTRE NOUVEAU CATALOGUE 32 PAGES ILLUSTRÉES AVEC LES CARACTÉRISTIQUES DE TOUS LES KITS NUOVA ELETTRONICA ET COMELECExpéditions dans toute la France. Moins de 5 kg : Port 55 F. Règlement à la commande par chèque, mandat ou carte bancaire. Bons administratifs acceptés.Le port est en supplément. De nombreux kits sont disponibles, envoyez votre adresse et cinq timbres, nous vous ferons parvenir notre catalogue général.

Page 7: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

ELECTRONIQUE magazine - n° 1882

U2 et le microcontrôleur (28 broches) :vous devez les positionner tous les deuxcomme le montre le schéma d’implan-tation de la figure 2, de sorte à avoirtoujours une référence sûre lorsquevous insérerez les circuits intégrés.

Si vous le désirez, vous pouvez aussiprévoir un support pour l’afficheur à 7segments.

Placez ensuite les trimmers R3 et R11puis tous les condensateurs, par ordrede grandeur et en veillant à la polaritédes électrolytiques.

Montez alors les poussoirs P1 et P2.Ils doivent être tous deux du type pourcircuit imprimé, au pas de 5,08 mm,et normalement ouverts, c’est-à-direouverts au repos et en contact lorsquel’on presse sur leur touche.

Note :On dit souvent au pas de 5 mm au lieude 5,08 mm. Par esprit de simplifica-tion ou par pure flemmardise ! En fait,le pas de 5,08 est le double du pas dela plupart des circuits intégrés, ou duVeroboard, ou des plaquettes à trous,etc. : 2,54 mm soit 1 pouce !

Insérez et soudez le régulateur 7805en vous rappelant qu’il faut l’orienter

Le microcontrôleur PIC16F876

Si vous êtes un lecteur assidu de larevue, l’emploi des microcontrôleursde la série PIC de chez Microchip nevous aura pas échappé. En particulierles PIC16C84 et PIC16F84 qui ont étéutilisés dans le cours, qui vient de seterminer, et dans de nombreux pro-jets. Leurs caractéristiques de rapi-dité, de simplicité d’utilisation, de flexi-bilité, en ont fait des “best-sellers”dans le domaine des “single chip”,c’est-à-dire dans cette catégorie demicrocontrôleurs qui comprennent, surune même puce, une mémoire RAMpour les données, une mémoireEPROM ou bien EEPROM pour le pro-gramme et quelques ports pour s’in-terfacer avec le monde extérieur.

Un processeur “single chip” requiertvraiment peu de composants externespour pouvoir fonctionner. Beaucoupde microcontrôleurs de la série PIC nenécessitent qu’un circuit d’horlogeexterne, c’est-à-dire un quartz ou unréseau RC tout simple. Certains PICont même un oscillateur interne ! Lemicrocontrôleur PIC16F876, qui sera

utilisé dans notre cours, estdisponible depuis peu dansle commerce. Il s’agit de“l’évolution” des PIC16C84et 16F84. Nous n’allons vousdonner ici que ses caracté-ristiques principales. Nous neprétendons pas que toutesles possibilités de fonction-nement du PIC16F876 vousapparaissent clairement dèsmaintenant. Nous décrironsses fonctions spécifiques aufur et à mesure qu’ellesseront nécessaires.

Figure 6a :Brochage et fonction

des broches du PIC16F876.

Tableau 2 : Les principales caractéristiques des PIC16F876.

Figure 6b : Schéma synoptique interne du PIC16F876.

Boîtier DIP28Mémoire programme 8 k EEPROMMémoire utilisateur 368 bytes RAM + 256 bytes EEPROMTension d’alimentation Simple de 2 à 5,5 voltsConsommation Typique <2 mA pour 5 V d’alim.

et 4 MHz de fréq. d’horlogeFréquence d’horloge Du continu à 20 MHz (4 MHz pour le 16F876-4)Circuit d’horloge Quartz ou réseau RC ou oscillateur externeSet d’instructions assembleur 35Nombre de ports E/S 22 configurables en entrées ou en sortiesPériphériques USART, I2C, convertisseur A/D 10 bits

Page 8: Cours de Programmation - Chap 01 - Carte de Test PIC16F876

ELECTRONIQUE magazine - n° 1883

de façon à ce que sa partie métallique soit tournée versl’extérieur de la platine. Montez la LED LD1 en plaçantsa par tie plane tournée vers le bord droit du circuitimprimé.

Complétez le montage en mettant les 3 straps en place(vous pouvez les réaliser avec des chutes de pattes de résis-tances). Soudez ensuite, dans les trous marqués “EXT”, unbornier à deux pôles au pas de 5 mm. Dans les trous mar-qués “Val”, montez une prise alimentation pour circuitimprimé. Le support pour le cavalier JP1 peut être obtenuen montant 3 picots en bande sécable au pas de 2,54 mmdans les trous correspondants (entre le bornier EXT et lecondensateur C4). JP1, lui-même, est un cavalier type infor-matique.

Pour la mise en place de l’af ficheur LCD, nous vousconseillons d’insérer et de souder, sur le circuit imprimé,une rangée de 16 picots en bande sécable. Pour assurerla liaison, ces picots seront également soudés sur DS1, ducôté des composants, comme le montre la figure 3.

Placez ensuite l’amplificateur opérationnel en faisant coïn-cider son encoche-détrompeur avec celle de son support etl’afficheur 7 segments, en l’orientant de façon à ce que sonpetit point-détrompeur soit tourné vers la rangée de résis-tances adjacentes.

Le buzzer se monte son côté “+” tourné vers l’extérieur dela carte.

Une fois toutes les vérifications d’usage effectuées, votrecarte de test est prête à l’emploi. Pour la faire fonctionner,vous aurez besoin d’une alimentation capable de fournirune tension continue, même non stabilisée, de 9 à 15 voltspouvant débiter au moins 300 milliampères. Vous devrez,de préférence, choisir un modèle pourvu d’un câble se ter-minant par une prise adaptée à celle montée sur le circuitimprimé.

Vérifiez, avant l’insertion, que cette prise ait le positif àl’intérieur. Si vous omettez cette vérification et que c’estle négatif qui est au centre de la prise, le circuit ne serapas endommagé (car la diode D1 le protège de l’inver-sion de polarité) mais, évidemment, il ne pourra pas fonc-tionner !

Pour conclure

Dans les prochains numéros vous trouverez des applica-tions et des routines, en assembleur, en Pic Basic et en C,pour commander l’afficheur LCD, l’afficheur à 7 segments,le buzzer, ainsi que pour l’acquisition de l’état des pous-soirs et des valeurs analogiques.

R. N.

Coût de la réalisation*

Tous les composants visibles sur la figure 2, y comprisle circuit imprimé percé et sérigraphié, l’afficheur LCD,un microcontrôleur PIC16F876 et une disquette conte-nant un programme de démonstration en Assembleur,en Basic et en C pour réaliser la carte de test : 450 F.Le circuit imprimé seul : 55 F.

Tous les composants visibles sur le schéma d’implan-tation de la page 70, ELM numéro 5, y compris le circuitimprimé percé et sérigraphié, le microcontrôleur prépro-grammé, le programme EPIC et un cordon pour réaliserle programmateur universel pour microcontrôleur PIC avecinter face PC : 455 F. Le circuit imprimé seul : 55 F. Lemicrocontrôleur programmé seul : 82 F. Le programmeEPIC seul : 272 F.

* Les coûts sont indicatifs et n’ont pour but que de donner une échellede valeur au lecteur. La revue ne fournit ni circuit ni composant. Voir lespublicités des annonceurs.

SRC

pub

02

99

42 5

2 73

10

/200

0

LA LIBRAIRIE

Réservés, il y a encore quelques années, aux seulsindustriels, les microcontrôleurs sont aujourd’huià la portée des amateurs et permettent des réali-sations aux possibilités étonnantes. Vous pouvezconcevoir l’utilisation des microcontrôleurs de deuxfaçons différentes. Vous pouvez considérer que cesont des circuits « comme les autres », intégrés àcertaines réalisations, et tout ignorer de leur fonc-tionnement. Mais vous pouvez aussi profiter de cecours pour exploiter leurs possibilités de pro-grammation, soit pour concevoir vos propres réa-lisations, soit pour modifier le comportement d’ap-pareils existants, soit simplement pour comprendreles circuits les utilisant. Pour ce faire, il faut évi-demment savoir les programmer mais, contraire-ment à une idée reçue qui a la vie dure, ce n’estpas difficile. C’est le but de ce Cours.

Réf. : JEA25

+ port 35 F90 FUtilisez

le bon de commandeELECTRONIQUE

Utilisezle bon de commande

ELECTRONIQUE

SRC

pub

02

99

42 5

2 73

08

/200

0

ZI des PZI des Paluds - BP 1241 - 13783 Aaluds - BP 1241 - 13783 AUBUBAAGNE CedeGNE CedexxTélTél :: 04 42 82 96 38 - F04 42 82 96 38 - Fax 04 42 82 96 51ax 04 42 82 96 51

InternetInternet :: http: / /wwwhttp: / /www.comelec.fr.comelec.fr

Caméra N&B avec micrCaméra N&B avec microoactivée par capteur PIRactivée par capteur PIR

Elément sensible : CCD 1/3’’. Système : standard CCIR.Résolution : 380 lignes TV. Sensibilité : 0,5 Lux.Alimentation : 12 VDC. BLC : automatique.Sortie vidéo composite : 1 Vpp/75Ω.Sortie audio et vidéo.Microphone incorporé.Alarme réglable (3,20 ou 60 secondes).Dimensions : 125 x 68 x 42 mm.

Micro Caméra N&B activée à l’aided’un détecteur de mouvement (PIR).

BN/PIR. ................................................................................ 1050 F

NOUVEAUTENOUVEAUTE