Microcontrôleurs & Microprocesseurs
COMPTE RENDU TP2 :
Programmation en mikroC du PIC 16F877
ÉLABORÉ PAR :
EL MINIANI Mohamed & MOUBAKIR Aya & KHATTAB Zineb
2024 - 2025
Objectifs :
Se familiariser avec l’environnement de développement MikroC. Dans ce TP on
s’intéresse à la programmation de microcontrôleur PIC de MICROSHIP (PIC16F877) et
aux environnements de conception et de simulation (MikroC et Proteus ISIS) .
Savoir utiliser l module de conversion Analogique/Numérique du PIC.
Materiels :
Ce TP utilise le microcontrôleur 16F877A, mais n’import quel autre microcontrôleur d la
famille Mid-Range convient .
Logiciels :
MikroC PRO for PIC et Proteus ISIS .
1
Manip. 1 :
1. Réaliser un programme faisant clignoter une LED. L’état bas durera toujours une
seconde. L’état haut sera variable.
• Créer une variable t = 100 ms qui servira pour la temporisation.
• Dans la boucle infinie, après chaque clignotement, ajouter 100 ms à la temporisation de
l’état haut jusqu’à atteindre une seconde, puis recommencer
Après avoir compilé le code, nous avons importé le fichier .HEX dans Proteus ISIS, connecté
la LED au microcontrôleur, puis lancé la simulation. Le clignotement variable de la LED a été
observé avec succès
2
2. Réaliser un chenillard avec huit LED reliées au port
B du microcontrôleur.
Chaque LED doit s’allumer l’une après l’autre de RB0
à RB7 avec une temporisation visible. Une fois RB7
atteinte, le cycle recommence à RB0.
Dans cette deuxième question, nous avons programmé
un chenillard sur les 8 broches du port B du
microcontrôleur PIC16F877A avec une temporisation
de 500 ms entre chaque allumage. Le fichier HEX a été
importé dans Proteus pour la simulation. Le
fonctionnement du chenillard a été confirmé par
l’allumage en séquence des LED, de gauche à droite,
dans un cycle continu.
3
2. Modifier le programme du chenillard pour qu’il avance d’un pas uniquement
lorsqu’on appuie sur un bouton poussoir.
Dans cette question, nous avons modifié le chenillard pour qu’il avance uniquement
lorsqu’on appuie sur un bouton poussoir connecté à RD0. Le programme allume
une LED à la fois sur le port B, en suivant l’ordre de RB0 à RB7. À chaque appui, la
LED suivante s’allume, puis le cycle recommence. Le code a été écrit simplement en
MikroC, avec gestion du bouton par une condition if. La simulation dans Proteus ISIS
a confirmé le bon fonctionnement du chenillard contrôlé manuellement.
2. Réalisez un programme qui permet d’afficher les chiffres de 0 à 9 sur un afficheur 7 segments
avec une cadence de 500 ms.
Dans cette question, nous avons programmé un afficheur 7 segments pour qu’il affiche
successivement les chiffres 2, 0, 1, 1 avec un délai de 500 ms entre chaque. Nous avons
déclaré un tableau contenant les codes binaires pour les chiffres de 0 à 9, puis utilisé une
boucle for pour afficher les quatre chiffres souhaités.
4
Le code a été compilé dans MikroC, puis simulé dans Proteus ISIS avec succès, où la séquence 0
à 9 s’affiche en boucle sur l’afficheur .
Manip. 2 :
Un programme utilise deux boutons poussoirs pour contrôler un afficheur 7 segments :
Le premier bouton permet d’incrémenter la valeur affichée sur l’afficheur, de 0 jusqu’à 9.
Le deuxième bouton permet de décrémenter la valeur affichée, de 9 jusqu’à 0.
5
6