chpitre 01

Embed Size (px)

Citation preview

Chapitre 01

Voltmtre numrique

5

Chapitre 011 LES PICS: 1.1 INTRODUCTION:

Voltmtre numrique

Les PICs sont des microcontrleurs architecture RISC (Reduce Instructions Construction Set), ou encore composant jeu dinstructions rduit. L'avantage est que plus on rduit le nombre dinstructions, plus leur dcodage sera rapide ce qui augmente la vitesse de fonctionnement du microcontrleur. La famille des PICs est subdivise en 3 grandes familles : La famille Base-Line, qui utilise des mots dinstructions de 12 bits, la famille MidRange, qui utilise des mots de 14 bits (et dont font partie la 16F87X), et la famille High-End, qui utilise des mots de 16 bits . Les PICs sont des composants STATIQUES, Ils peuvent fonctionner avec des frquences dhorloge allant du continu jusqu une frquence max spcifique chaque circuit. Un PIC16F87x peut fonctionner avec une horloge allant du continu jusqu 20 MHz. Nous nous limiterons dans ce chapitre la famille Mid-Range et particulirement au PIC 16F877 . On a choisi ce microcontrleur pour les raisons suivantes : Il dispose dune mmoire flash pour stocker le programme (donc il est possible de le reprogrammer en cas de bug ou dvolution). La mmoire flash peut tre programme par le programme lui-mme. Il est facile de fabriquer un programmateur et de nombreux outils sont disponibles. La mmoire RAM est de taille suffisante.

.

5

Chapitre 01

Voltmtre numrique

FIG.III.1 Branchage de PIC 16F877

1.2 CARACTERISTIQUES GENERALES DU PIC 16F877 :Les lments essentiels du PIC 16F876 sont [15]: Une mmoire programme de type EEPROM flash de 8K mots de 14 bits. Une RAM donne de 368 octets. Une mmoire EEPROM de 256 octets. cinq ports d'entre sortie, A (6 bits), B (8 bits), C (8 bits), D (8bits), E(3bits) Convertisseur Analogiques numriques 10 bits 8 canaux. USART, Port srie universel, mode asynchrone (RS232) et mode synchrone. SSP, Port srie synchrone supportant I2C. Trois TIMERS avec leurs Prescalers, TMR0, TMR1, TMR2. Deux modules de comparaison et Capture CCP1 et CCP2. Un chien de garde. 14 sources d'interruption. Gnrateur d'horloge, quartz (jusqu 20 MHz) ou Oscillateur RC..

5

Chapitre 01 Fonctionnement consommation. Programmation par en

Voltmtre numriquemode sleep pour (In rduction Circuit de la

mode

ICSP

Serial

Programming) 12V ou 5V. Possibilit aux applications utilisateur daccder la mmoire programme. Tension de fonctionnement de 2 5V. Jeux de 35 instructions.

Tableau; caractristique du PIC 16f87x MSSP : Master Synchronous Serial Port.

USART : Universal Synchronous Asynchronous Receiver Transmitter

1.3 Architecture du PIC 16F87X:

5

Chapitre 01

Voltmtre numrique

Architecture interne du PIC 16F87X

1.3.1 MmoireLes mmoires du PIC 16F877 sont divises en trois parties [15] :

Mmoire Programmable Une mmoire contenant le programme excuter par le microcontrleur. Cette mmoire la particularit de sauvegarder en permanence les informations quelle contient mme en absence de tension. La mmoire programme de notre PIC 16F876 est de type flash quon peut effacer lectriquement, alors on peut la reprogrammer plusieurs fois. La capacit de cette mmoire est de 8 KO. EEPROM La mmoire EEPROM (Electrical Erasable Programmable Read Only Memory) est constitue de 256 octets, quon peut lire et crire depuis notre programme. Ces octets sont Conserves aprs une coupure de courant et sont trs utiles pour conserver des paramtres semipermanents. Leur utilisation implique une procdure spciale, car ce nest

5

Chapitre 01

Voltmtre numrique

pas de la RAM, mais bien une ROM de type spciale. Il est donc plus rapide de la lire que dy crire. RAM Une mmoire vive galement appele RAM (Randon Access Memory). Cette mmoire permet de sauvegarder temporairement des informations. Il est noter que le contenu dune RAM nest sauvegard que pendant la phase dalimentation du circuit. La mmoire RAM disponible du PIC 16F876 et de 368 octets. Elle est organise en 4 banques, dans chacune des banques nous allons trouver des cases mmoires spciales appels registres spciaux et des cases mmoires libres.

1.3.2 RegistreIl existe plusieurs types de registres. Parmi les registres les plus utiliss on peut citer : Registre OPTION. Registre STATUS. Registre INTCON.

1.3 .3 CONVERTISSEUR ANALOGIQUE- NUMERIQUENotre 16F877A travaille avec un convertisseur analogique/numrique qui permet un chantillonnage sur 10 bits. Il est compos de : Un multiplexeur analogique 5 voies PIC 16F877A . Un chantillonneur bloqueur. Un convertisseur analogique numrique de 10 bits.

5

Chapitre 01

Voltmtre numrique

a. Les registres ADRESL et ADRESH Il est important de savoir que le convertisseur donne un rsultat sur 10 bits, et donc que ce rsultat devra donc obligatoirement tre sauvegard dans 2 registres. Ces registres sont tout simplement les registres ADRESL et ADRESH. Comme 2 registres contiennent 16 bits, et que nous nen utilisons que 10, Micro chip nous a laiss le choix sur la faon dont est sauvegard le rsultat, nous pouvons soit justifier le rsultat gauche, soit droite. La justification droite complte la partie gauche du rsultat par des 0 . Le rsultat sera donc de la forme :

5

Chapitre 01

Voltmtre numrique

La justification gauche procde bien videmment de la mthode inverse :

b. Le registre ADCON1 Ce registre permet de dterminer le rle de chacune des pins AN0 AN7. Il permet donc de choisir si un pin sera utilis comme entre analogique, comme entre/sortie standard, ou comme tension de rfrence. Il permet galement de dcider de la justification du rsultat. Pour pouvoir utiliser un pin en mode analogique, il faudra que ce pin soit configur galement en entre par TRISA. Le registre ADCON1 dispose, comme tout registre accessible de notre PIC, de 8 bits, dont seulement 5 sont utiliss :

c. Le registre ADCON0 Ce registre est le dernier utilis par le convertisseur analogique/numrique. Il contient les bits que nous allons manipuler lors de notre conversion. Sur les 8 bits de notre registre, 7 seront utiliss.

5

Chapitre 01

Voltmtre numrique

1.4 DESCRIPTION DES BROCHESPORTA (6 lignes) : Le port A peut tre configur comme une Entre/Sortie numrique bidirectionnelle ou bien : Comme des canaux dentres analogiques (AN0 AN4). Comme entres des tensions de rfrences (RA2/AN2/VREF-, RA3/AN3/VREF+). Comme un slecteur de port srie synchrone (SS). PORTB (8 lignes) : Le port B peut tre configur comme une Entre/Sortie numrique bidirectionnelle ou bien : Comme une broche dalimentation de programmateur (PGM). Comme une broche dhorloge de programmation (PGC). Comme une broche des donnes de programmateur (PGD). Les lignes PGM, PGC, PGD permettent de programmer le PIC avec basse tension (5V). PORTC (8 lignes) :

5

Chapitre 01

Voltmtre numrique

Le port C peut tre configur comme une Entre/Sortie numrique bidirectionnelle ou bien : Comme sortie doscillateur, entre dhorloge de TIMER1

(RC0/T10S0/T1CKI). Comme entre oscillateur de TIMER1 ou entre de capture 2 / sortie de comparateur 2 / sortie de PWM2 (RC1/T1OSI/CCP2). Comme entre/sortie de lhorloge de synchronisation srie de module MSSP (SDA/SDO). Comme entres/sortie de module de transmission srie des donnes (RC6/TX/CK), (RC7/RX/DT). PORTD (8 lignes) : Le port D peut tre configur comme une Entre/Sortie numrique bidirectionnelle PORTE (3 lignes) : Le port E peut tre configur comme une Entre/Sortie numrique bidirectionnelle ou bien Comme des canaux dentres analogiques (AN5 AN7).

Configuration des portx, les registres PORTX et TRISX Tous les ports sont pilots par deux registres : Le registre PORTx, si le PORTx ou certaines lignes de PORTx sont configurs en sortie, ce registre dtermine l'tat logique des sorties. Le registre TRISx, c'est le registre de direction. Il dtermine si le PORTx ou

5

Chapitre 01

Voltmtre numrique

certaines lignes de port sont en entre ou en sortie. L'criture d'un 1 logique correspond une entre 1 comme Input et l'criture d'un 0 logique correspond une sortie 0 comme Output . Au RESET toutes les lignes de ports sont configures en sorties. PRESENTATION DE LAFFICHEUR LCD : Les afficheurs cristaux liquides sont des modules compacts intelligents et ncessitent peu de composants externes. Ils sont utiliss avec beaucoup de facilit. Ils sont pratiquement les seuls tre utiliss sur les appareils alimentation par pile. Plusieurs afficheurs sont disponibles sur le march et ne se diffrent pas les unes des autres, seulement par leurs dimensions,( 1 4 lignes de 6 80 caractres ), mais aussi par leurs caractristiques techniques et leurs tension de services. Certains sont dots dun rtro clairage de laffichage. Cette fonction fait appel des LED montes derrire lcran du module, cependant, cet clairage est gourmand en intensit ( 250mA max ). PRESENTATION DUN ECRAN LCD : Quil soit une ou deux lignes, un afficheur LCD se prsente sous la forme suivante :

Au-dessus de lcran cristaux liquides proprement dit, on trouve une srie

5

Chapitre 01de 14 broches aux rles Suivantes : Broche 1 : masse ; Broche 2 : Vcc ; Broche 3 : luminosit ;

Voltmtre numrique

Broche 5, R/W : slection du mode lecture ou criture : 0 ecriture 1 lecture Broche 6, E : Commande des oprations dcriture ou de lecture ; Broche 7 14 : utilises pour le transfert des donnes ou des instructions. Le transfert peut se faire sur 8 bits, toutes les broches sont alors utilises, ou sur 4 bits, dans ce cas, seules les broches 11 14 sont utilises.

FONCTIONNEMENT : Un afficheur LCD est capable dafficher tous les caractres alphanumriques usuels et quelques Symboles supplmentaires. Pour certains afficheurs, il est mme possible de crer ses propres Caractres. Chaque caractre est identifi par son code ASCII quil faut envoyer sur les lignes D0 D7 broches 7 A 14. Ces lignes sont aussi utilises pour la gestion de laffichage avec lenvoi dinstructions telles Que leffacement de lcran, lcriture en ligne 1 ou

5

Chapitre 01

Voltmtre numrique

en ligne 2, le sens de dfilement du curseur. PRINCIPALES INSTRUCTIONS : Effacement de lcran en remplissant du caractre espace

Retour en dbut de premire ligne

Aller en dbut de seconde ligne

Mode daffichage

Si I\D = 1 : le dplacement du curseur vers la droite ; Si I\D = 0 : le dplacement vers la gauche. Si S = 1 : le dplacement du texte affich vers la droite Si I\D = 1 vers la gauche. Si I\D=0 Si S=0 : aucun dplacement du texte.

Contrle daffichage

Si D = 1 : affichage visible. Si C = 1 : curseur visible. Si B = 1 : inversion. Dplacement affichage et curseur, sans opration dcriture

5

Chapitre 01

Voltmtre numrique

Fonction

Si DL = 1 : donne sur 8 bits, sur 4 bits si DL = 0. Si N = 0 : affichage sur 1 ligne, sur 2 ligne si N = 1. Si F = 0 : taille des caractres 5x 8,5 x 10 si F= 1.

5

Chapitre 01Afficheur 7 segments :

Voltmtre numrique

Les afficheurs 7 segments sont un type d'afficheur trs prsent sur les calculatrices et les montres affichage numrique : les caractres (des chiffres, bien que quelques lettres soient utilises pour l'affichage hexadcimal) s'crivent en allumant ou en teignant des segments, au nombre de sept. Quand les 7 segments sont allums, on obtient le chiffre 8.

Caractres reprsentsAnimation montrant successivement les 16 caractres pouvant tre reprsents par un afficheur 7 segments Voici les 10 chiffres reprsents avec l'affichage 7 segments :

Dsignation et commande des segmentsSchma montrant la dsignation de chacun des segments Dans un afficheur 7 segments, les segments sont gnralement dsigns par les lettres allant de A G. Dans le cas o l'afficheur comporte un point, servant de sparateur dcimal, celui-ci est dsign DP (de l'anglais decimal point) ; certains parlent dans ce cas d'un afficheur 8 segments . Dans le cas d'afficheurs DEL, deux cas de figures sont prsents : Afficheur anode commune : toutes les anodes sont relies et connectes au potentiel haut. La commande du segment se fait par sa cathode mise au potentiel bas. Afficheur cathode commune : toutes les

5

Chapitre 01

Voltmtre numrique

cathodes sont relies et connectes au potentiel bas. La commande du segment se fait par son anode mise au potentiel haut.

5

Chapitre 01

Voltmtre numrique

Partie pratique :Dans ce partie, la programmation de pic est fait laide de deux logiciels MPLAB et CCS COMPILER se sont des programme de programmation des pics le plus utiliser dans ce domaine, Et la simulation est fait laide dune logiciel PROTEUS PRO ce dernier est un logiciel de simulation pour les lectroniciens.

Manip 01 : voltmtre numrique Prsentation :Ce travail est un lecture dune tension partir dun potentiomtre et affiche se valeur dans un afficheur numrique

*Principe :Le principe de ce travail est le conversion et le traitement et aprs sa laffichage Le lecture est fait dans lentre A0 du pic, et le pic convertir se valeur a une valeur nmatique Et aprs sa calculer sa valeur rel (valeur de tension ),aprs sa ils dcompos se valeur (en millivolt) a des chiffres (mille, cent ,) et affiche ses chiffre lun aprs lautre a laide dune chip select dans lafficheur

*Matriel utilis :*Pic 16f877. *potentiomtre. *afficheur 7 segment. *afficheur lcd *un voltmtre.

5

Chapitre 01

Voltmtre numrique

*La circuit :LCD1LM032L

VSS VDD VEE

RS RW E 4 5 6

1 2 3

VCC 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7

RV10%

19 20 21 22 27 28 29 30

U1PIC16F877

1k

+88.8 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THVVolts

VCC 13 14 1 2 3 4 5 6 7 8 9 10

Le rle du potentiomtre est de augmente et abaiss la tension dentre Le convertisseur est convertir la valeur de tension a une valeur numrique En recalculons la valeur rel de tension V=valeur numrique*v rf /1024 1024 est le pas max de la convertisseur de pic (10 bits = 210 =1024) Laffichage se font laide dun afficheur de type 7 segment a 4 chiffre a affich laide dune chip select

5

7 8 9 10 11 12 13 14

D0 D1 D2 D3 D4 D5 D6 D7

Chapitre 01

Voltmtre numrique

*Le programme ://////*********Voltmetter******************//////////////////////////////////////////////////// #include "C:\ex01\manip1.h" #include #include "C:\ex01\lcd.c" int32 a,b,m,c,d; void codage(int32 num) //******fonction de la conversion des chiffres de BCD a 7 SEGMENT****// { switch (num) { case 0 : num=0x3F;break; case 1 : num=0x06;break; case 2 : num=0x5B;break; case 3 : num=0x4F;break; case 4 : num=0x66;break; case 5 : num=0x6D;break; case 6 : num=0x7D;break; case 7 : num=0x07;break; case 8 : num=0x7F;break; case 9 : num=0x6F;break; } output_b(num);//envoyer le code via la port B de la pic a l'afficheur }//***********************************************************************************// void main() { setup_adc_ports(AN0_AN1_VSS_VREF);//parametter de la convertisseur du pic setup_adc(ADC_CLOCK_INTERNAL);//reglage de l'horloge setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED);// fermer le SPI setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);//fermer le times 0 setup_timer_1(T1_DISABLED);//fermer le times 1

5

Chapitre 01

Voltmtre numrique

setup_timer_2(T2_DISABLED,0,1);//fermer le times 2

lcd_init(); //initialisation d'afficheur lcd set_adc_channel(0);// read la valeur via le pin AN0 set_tris_b(0);//configurer le port B comme sortie set_tris_c(0);//configurer le port C comme sortie output_b(0xff); output_c(0); printf(lcd_putc,"\f Voltmetter by");

printf(lcd_putc,"\n HAFID-LAID-YACINE"); delay_ms(5000);

while(1)//boucle infinie { a=read_adc();//lecture de la valeur numrique de 0 1024(adc=10bits) b=a*5000/1024;//calculer la valeur rel de tension de 0mv 5000mv(vref=5V) printf(lcd_putc,"\f valeur: %4lu",a);//afficher la valeur a sur le LCD

printf(lcd_putc,"\n Tension en mV: %4lu",b);//afficher la valeur b sur le LCD delay_ms(60);// retard du temps pour laffichage

m=b/1000; b=b-(m*1000); c=b/100; b=b-(c*100); d=b/10; b=b-(d*10); //dcompos la valeur (mille, cent, dix) pour l'affichage output_c(0xfe); //slectionner l'afficheur 1 codage(m); //appeler la fonction "codage" pour la conversion et la affichage output_high(PIN_B7); //pour afficher le virgule delay_ms(10); //retard de temps pour l'afficheur s'affiche le chiffre

output_c(0xfd); //slectionner l'afficheur 2 codage(c); //appeler la fonction "codage" pour la conversion et la affichage

delay_ms(10); //retard de temps pour l'afficheur s'affiche le chiffre output_c(0xfb); //slectionner l'afficheur 3 codage(d); //appeler la fonction "codage" pour la conversion et la affichage

5

}

}

VCC

20%

1k

RV1

-Exemple 2 :+1.00Volts

-Exemple 1 :

Pour V=1250mv13 14 1 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV 2 3 4 5 6 7 8 9 10 RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 RB0/INT RB1 RB2 RB3/PG M RB4 RB5 RB6/PG C RB7/PG D 33 34 35 36 37 38 39 40 VCC

*La simulation :

Chapitre 01

Pour V = 1v=1000mv

output_c(0xf7); //slectionner l'afficheur 4

U1

Dans la simulation en prendre quelques exemples

delay_ms(10); //retard de temps pour l'afficheur s'affiche le chiffre

codage(b); //appeler la fonction "codage" pour la conversion et la affichage

PIC16F877

5LM032L

LCD1

1 2 3 VSS VDD VEE RS R W E D0 D1 D2 D3 D4 D5 D6 D7 4 5 6 7 8 9 10 11 12 13 14

Voltmtre numrique

VCC

25%

1k

RV1

VC C

62%

1k

RV1+1.25Volts

Chapitre 01

+3.10

Volts

13 14 1 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV

13 14 1 2 3 4 5 6 7 RA4/T0C I K RA5/AN S 4/S RC 0/T1O /T1C SO KI R 1/T1O I/C C S CP2 RC C 1 2/C P R C3/S K/SC C L RC 4/SD D I/S A R C5/S DO R C6/T K X/C R C7/R T X/D R D0/PS 0 P R D1/PS 1 P R D2/PS 2 P R D3/PS 3 P R D4/PS 4 P R D5/PS 5 P R D6/PS 6 P R D7/PS 7 P 30 27 28 29 21 22 19 20 25 26 23 24 16 17 18 15 RE 0/AN D 5/R RE 1/AN 6/WR RE 2/AN S 7/C VC C 8 9 10 RA1/AN 1 RA2/AN 2/VRE FRA3/AN 3/VRE F+ RB 5 R B6/PG C R B7/PG D RA0/AN 0 38 39 40 RB 3/PG M RB 4 36 37 OS 1/CLKIN C OS 2/CLKO T C U M CLR/Vpp/T V H 34 35 R B0/IN T RB 1 RB 2

33

2 3 4 5 6 7 8 9 10

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26

-Exemple 4 : Pour V=5000mvRA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT VCC RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 19 20 21 22 27 28 29 30

-Exemple 3 : Pour V=3100mvU1

5U 1LM 032L

LM032L

LCD1

PIC16F877

LCD1

1 2 3 VSS VD D VEE R S R W E D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 4 5 6 7 8 9 10 11 12 13 14

1 2 3 4 5 6 7 8 9 10 11 12 13 14

PIC 16F877

VSS VDD VEE RS RW E D0 D1 D2 D3 D4 D5 D6 D7

Voltmtre numrique

Pour V=0VCC100%

VC C

0 %

1k

RV1

1k

R1 V+5.00V olts

Chapitre 01

V olts

0.00

1 3 1 4 1 M LR C /Vpp/T V H R 3/PG B M R A0/A 0 N R A1/A 1 N R A2/AN 2/VR F ER A3/AN 3/VR F E+ R A4/T K 0C I R A5/AN S 4/S R 1/T S C C 1O I/C P2 R 0/AN D E 5/R R 1/AN /W E 6 R R 2/AN S E 7/C R 5/S O C D R 6/T K C X/C R 7/R T C X/D R 0/PS 0 D P R 1/PS 1 D P R 2/PS 2 D P R 3/PS 3 D P R 4/PS 4 D P R 5/PS 5 D P R 6/PS 6 D P R 7/PS 7 D P 3 0 2 9 2 8 2 7 2 2 2 1 2 0 1 9 2 6 2 5 VC C 2 4 R 4/S I/S A C D D 2 3 R 3/S K C C C /S L 1 8 R 2/C P C C1 1 7 1 6 R 0/T S /T K C 1O O 1C I 1 5 R 7/PG B D 4 0 R 6/PG B C 3 9 R 5 B 3 8 R 4 B 3 7 3 6 R 2 B 2 3 4 5 6 7 8 9 1 0 O C LK U S 2/C O T 3 5 R 1 B O C LK S 1/C IN 3 4 R 0/IN B T

3 3

13 14 OSC1/CLK IN OSC2/CLK OUT MCLR/Vpp/T V H RA0/AN 0 1 2 3 4

RB0/INT RB 1 RB 2 RB 3/PG M RB 4

33 34 35 36 37 38 39 RB 5 RB6/PG C RB7/PG D 40

RA1/AN 1 RA2/AN2/VRE FRA3/AN3/VRE F+ RA4/T0CK I RA5/AN4/S S

5 6 7 8 9 10

15 16 RE0/AN5/RD RE1/AN 6/WR RE2/AN7/CS VC C RC0/T1O /T1CK SO I RC1/T1OS I/CCP2 RC2/CCP 1 RC3/S CK/SCL RC4/S DI/SDA RC5/SDO RC6/TX/CK RC7/RX/D T RD0/PS 0 P RD1/PS 1 P RD2/PS 2 P RD3/PS 3 P RD4/PS 4 P RD5/PS 5 P RD6/PS 6 P RD7/PS 7 P 17 18 23 24 25 26 19 20 21 22 27 28 29 30

5U 1LM 2 03 L

U1

LC 1 D

LM032L

LCD1

PIC16F877

PIC 16F877 1 2 3 VE E R S R W E D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 4 5 6 7 8 9 10 11 12 13 14 VD D VS S

1 2 3 4 5 6 7 8 9 10 11 12 13 14

VS S VD D VE E RS R W E D0 D1 D2 D3 D4 D5 D6 D7

Voltmtre numrique