Computing">
TP4 Pic16f877
TP4 Pic16f877
TP4 Pic16f877
TP 4: PIC16F877/876
Objectifs :
▪ Utiliser les ports d'E/S du PIC16F877 pour le contrôle des
périphériques tel que : LED, LCD, ...
▪ Programmer le CAN du PIC 16F877/16F876/16F877A
Trinôme N° …………
⁃ ………………………………..
⁃ ………………………………..
⁃ ………………………………..
Travaux Pratiques.
Année scolaire_________________________________________________2022/2023
1BTS –SE/Prof : L. EL OUSSOUL
1. Manipulation 1
Le PIC est cadencé par un quartz de 16Mhz. On
désire programmer ce microcontrôleur pour
convertir la tension appliquée à RA0 (POT-HG sur
ISIS) et afficher les résultats sur PORTB et
PORTC. Voir le schéma ci-contre.
▪ Configurer le registre INTCON afin d’activer
l’interruption ADI.
L’afficheur LCD est spécialement fabriqué pour être utilisé avec les microcontrôleurs. Il peut afficher des
messages sur un écran à cristaux liquides miniature de deux lignes de 16 caractères chacune. Il permet d'afficher
toutes les lettres de l'alphabet, les lettres grecques, des signes de ponctuation, des symboles mathématiques, etc.
Il est également possible d'afficher des symboles construits par l'utilisateur. Autres fonctions utiles
comprennent déplacement automatique des messages (gauche et droite) et l'apparence du curseur etc.
Grâce à la commande par un microcontrôleur ces afficheurs permettent de réaliser un affichage de messages
aisés.
Voilà ci-dessous un bout de programme qui contient l’accordement des broches, les configurations nécessaires
et l’appellation des fonctions de commandes et d’affichage.
1
sbit LCD_RS_Direction at TRISD2_bit;
sbit LCD_EN_Direction at TRISD3_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;
//unsigned int vn;
float Va,vn;
unsigned char V[12];
void main() {
ADC_Init(); // initialisation de la conversion analogique numérique
TRISD = 0; // configuration du port D en sortie
lcd_init(); // initialisation du lcd
lcd_cmd(_lcd_clear); // effacement du LCD
lcd_cmd(_lcd_cursor_off); // n'affiche pas le curseur
lcd_out (1,2,"Premiere annee "); // en commençant de la colonne 2 et la ligne 1,
// affiche la phrase "Première année ".
lcd_out (2,6,"BTS/SE"); // En commençant de la colonne 6 et la ligne 2, affiche "BTS/SE".
delay_ms(3000); // attente de 3s
lcd_cmd(_lcd_clear); // effacement du LCD
lcd_out (1,1,"Test du CAN");
lcd_out (2,1,"Tension: V");
▪ Après avoir complété le programme, faire la simulation sur ISIS et vérifier le bon fonctionnement du
montage.
▪ Appeler votre enseignant afin de valider travail.
▪ En utilisant le matériel nécessaire réaliser ce système et appeler votre enseignant avant de mettre le circuit
sous-tension.
Bon courage