Vous êtes sur la page 1sur 6

Leçon N° 4

Annexes
1- Le pic 16F628A

N° de Désignation N° de Désignation
broche broche
1 E/S RA2, CAN 2, tension de référence 10 E/S RB4, programmation basse tension
2 E/S RA3, CAN 3, Sortie du comparateur 1 11 E/S RB5
3 E/S RA4, entrée Timer 0 TOCKI, Sortie 12 E/S RB6, T1OSC0 , entrée d’horloge pour le
comparateur 2 timer 1
4 E, RA5, reset externe, 13 E/S RB7, T1OSC1
5 masse 14 Alimentation positive (5V typique)
6 E/S RB0, source d’interruption 15 E/S RA6, OSC2 entrée horloge
7 E/S RB1, Rx (réception asynchrone, série), 16 E/S RA7, OSC1 ,CLKIN entrée horloge
externe (type GBF, ou autre)
8 E/S RB2, Tx (transmission asynchrone, 17 E/S RA0, CAN 0
série),
9 E/S RB3, Capture avec le timer 1, 18 E/S RA1, CAN 1
Comparaison avec le timer 1, PWM avec
le timer 2

2- Le registre CMCON et Les comparateurs analogiques : le registre CMCON sert à configurer les
comparateur et définir le mode numérique ou analogique des E/S du portA ( RA0 à RA3)

C2OUT : image de sortie du comparateur 2


C1OUT : image de sortie du comparateur 1
C2INV : inversion de la sortie du comparateur 2
C1INV : inversion de la sortie du comparateur 1
CIS : multiplexage d’entrées
CM2, CM1, CM0 : permettent de définir un mode de fonctionnement des comparateurs

Important : quand les comparateurs C1 et C2 ne sont pas utilisés , il faut spécifier le mode 07 pour libérer
totalement les lignes RA0 à RA3
CMCON := 7 ou CMCON := %00000111 ou CMCON := $07
Cours d’électricité - 4SCT- Page 1
Leçon N° 4

3- OPTION registre :

NOTRBPU : ce bit permet de renseigner le mode de fonctionnement concernant la présence de résistances


de rappel sur le portB. 0 :

INTEDG : ce bit indique le sens de déclenchement sur l'interruption RB0.

TOCS : permet de choisir le mode de fonctionnement du timer0, 0 permet de sélectionner l'horloge


interne du pic, 1 permet de sélectionner les impulsions sur la pin RA4.

TOSE : fonctionne en relation avec TOCS, si TOCS est à 1, cela permet de choisir le sens de
déclenchement sur la pin RA4.

PSA : permet de choisir entre le prédiviseur et le watchdog. 0: timer, 1 : watchdog.

PS2 :
PS1 : choix du prédiviseur PS2 PS1 PS0 Prédiviseur
PS0 : 0 0 0 2
0 0 1 4
0 1 0 8
0 1 1 16
1 0 0 32
1 0 1 64
1 1 0 128
1 1 1 256

Cours d’électricité - 4SCT- Page 2


Leçon N° 4

4- Registre ADCON1

ADFM - A / D Résultat Format Sélectionnez bits


 1 - résultat de la conversion justifié à droite. Six bits de poids fort de la ADRESLH ne sont pas
utilisés;
 0 - résultat de la conversion justifié à gauche. Six bits de poids faible de la ADRESL sont pas
utilisés.

Bit6, Bit5, Bit4 : bit non implémentés.


Bit3, Bit2 , Bit1, Bit0 : PCGF3, PCGF2, PCGF1 et PCGF0 pour le choix du mode analogique ou
digital

5- L’Afficheur LCD :
LCD est l'acronyme de Liquid Crystal Display (en anglais), ce qui signifie en français écran à cristaux
liquides.
Un afficheur LCD contient :
 une entrée de contrôle RS (Register Select)
 une entrée de validation E (Enable)
 8 entrées de données D0 à D7
 3 entrées d’alimentation : Vss,VDD, VEE
L’afficheur LCD peut fonctionner suivant deux modes :
 le mode 8 bits : le code est envoyé en une seule fois
à l’afficheur, mais il faut 8 sorties du PIC qui correspondent
aux entrées de D0 à D7.

Cours d’électricité - 4SCT- Page 3


Leçon N° 4

 le mode 4 bits : le code est envoyé en deux fois


à l’afficheur (demi octet par demi octet)c’est plus long, mais il n’a besoin que de 4 sorties du PIC
qui correspondent aux entrées de D4 à D7.

Bibliothèque LCD
1- Lcd_Init
Prototype procédure Lcd_Init ();//initialisation de l’afficheur et
définir le module de connexions

Exemple // Lcd module connections


var LCD_RS : sbit at RB4_bit;
var LCD_EN : sbit at RB5_bit;
var LCD_D4 : sbit at RB3_bit;
var LCD_D5 : sbit at RB2_bit;
var LCD_D6 : sbit at RB1_bit;
var LCD_D7 : sbit at RB0_bit;

var LCD_RS_Direction : sbit at TRISB4_bit;


var LCD_EN_Direction : sbit at TRISB5_bit;
var LCD_D4_Direction : sbit at TRISB3_bit;
var LCD_D5_Direction : sbit at TRISB2_bit;
var LCD_D6_Direction : sbit at TRISB1_bit;
var LCD_D7_Direction : sbit at TRISB0_bit;
// End Lcd module connections
...
Lcd_Init();

2- Lcd_Out

Prototype procédure : Lcd_Out (ligne: octet; colonne:


octet; var texte: chaîne );

Exemple // Ecrire texte "Bonjour!" sur l'écran LCD à


partir de la ligne 1, colonne 3:
Lcd_Out (1, 3, "Bonjour");

3- Lcd_Out_CP

Prototype procédure Lcd_Out_CP ( var texte: chaîne );

Exemple // Écriture de texte "Ici!" à la position


actuelle du curseur:
Lcd_Out_CP ("Ici!");

4- Lcd_Chr
Prototype procédure Lcd_Chr (ligne: octet; colonne: octet;
out_char: octets);

Exemple // Ecrire caractère «i» à la ligne 2, colonne 3:


Lcd_Chr (2, 3, 'i');

5- Lcd_Chr_CP
Prototype procédure Lcd_Chr_CP (out_char: octets);

Cours d’électricité - 4SCT- Page 4


Leçon N° 4

Exemple // Ecrire caractère "e" à la position actuelle du


curseur:
Lcd_Chr_CP («e»);

6- Lcd_Cmd
Prototype procédure Lcd_Cmd (out_char: octets);

Exemple // Affichage Clear LCD:


Lcd_Cmd (_LCD_CLEAR);
COMMANDES DISPONIBLES
Commande Lcd But
_LCD_FIRST_ROW Déplacez le curseur sur le 1er rang
_LCD_SECOND_ROW Déplacer le curseur à la 2e rangée
_LCD_THIRD_ROW Déplacer le curseur à la 3e rangée
_LCD_FOURTH_ROW Déplacez le curseur sur la 4ème ligne
_LCD_CLEAR Effacer affichage
_LCD_RETURN_HOME Retour du Curseur à la position initiale,
_LCD_CURSOR_OFF Éteignez curseur
_LCD_UNDERLINE_ON Souligner curseur
_LCD_BLINK_CURSOR_ON Blink curseur
_LCD_MOVE_CURSOR_LEFT Déplacer le curseur à gauche
_LCD_MOVE_CURSOR_RIGHT Déplacer le curseur à droite
_LCD_TURN_ON Activer affichage LCD
_LCD_TURN_OFF désactiver affichage LCD
_LCD_SHIFT_LEFT décalage à gauche de l’affichage
_LCD_SHIFT_RIGHT décalage à droite de l’affichage

6- Gestion du son :
Bibliothèque sound
1- Sound_Init
Prototype procédure Sound_Init ( var snd_port: octet; snd_pin:
octets);

Exemple Sound_Init (PORTC, 3); // Initialisation de son à RC3

2- Sound_Play
Prototype procédure Sound_Play (freq_in_hz, duration_ms: mot);

Exemple // Jouer le son de 1 kHz de la durée de 100ms


Sound_Play (1000, 100);

Cours d’électricité - 4SCT- Page 5


Leçon N° 4

7- Les convertisseur A/N


Bibliothèque ADC
1- ADC_Init
Prototype procédure ADC_Init ();

Exemple ADC_Init (); // Initialisation module ADC

2- ADC_Get_Sample
Prototype fonction : ADC_Get_Sample (canal: octet): mot

Exemple var adc_value: mot


...
adc_value: = ADC_Get_Sample (1); // lire la valeur
analogique du module ADC canal 1

3- ADC_Read
Prototype Fonction : ADC_Read (canal: octet): mot;

Exemple var tmp: mot;


...
tmp: = ADC_Read (2) // Lire valeur analogique du canal
2

8- gestion de l’MLI
Bibliothèque PWM
1- PWM_Init
Prototype procédure PWM1_Init ( const Freq: longint);

Exemple Initialisation module de PWM à 5KHz:


PWM1_Init (5000);

2- PWM1_Set_Duty
Prototype procédure PWM1_Set_Duty (duty_ratio: octets);

Description Définit PWM rapport cyclique. Doit avoir des valeurs de 0 à 255, où 0
est 0%, 127 est de 50%, et 255 est 100% du rapport cyclique.

Exemple PWM1_Set_Duty (192); Réglez rapport cyclique à 75%:

3- PWM1_Start
Prototype procédure : PWM1_Start ();

Exemple PWM1_Start ();Démarre PWM .

4- PWM1_Stop
Prototype procédure PWM1_Stop ();

Exemple PWM1_Stop ();Arrête PWM .

Cours d’électricité - 4SCT- Page 6

Vous aimerez peut-être aussi