Académique Documents
Professionnel Documents
Culture Documents
Travaux pratiques
PIC16F877
1
TP1
Exercice1 :
On veut faire clignoter une diode led sur le port A pin A0 du microcontrôleur 16F877
pendant une seconde.
Figure 1.
1
- Ensuite taper sur le bouton create project
#include <clign_led.h>
void main()
While(TRUE)
#include <test.h>
#byte PORTA = 6
void main()
set_tris_a(0x00);
while(TRUE)
output_high(LED);
delay_ms(1000);
output_low(LED);
delay_ms(1000);
1
- Appuier sur l’onget compile puis sur le bouton Build et vérifier qu’il n’y a pas
d’erreur.
Exercice 2 :
1- Dans le même contexte réaliser un circuit qui permet d’allumer une led parmis 8
durant 0.5 seconde.
3- Vérifier le montage.
Figure 2.
1
TP2
Exercice 1 :
Figure 3
#include <bouton.h>
#byte PORTA=6
#byte portb=8
void main()
set_tris_a(0x00) ;
set_tris_b(0b00000000) ;
while(true)
if(bit_test(portb,0)==1)
porta = !PORTA ;
1
3- Commenter le résultat.
Exercice 2 :
#include <interuption_RB0.h>
#byte PORTA = 5
#byte PORTB = 6
void cligne(void)
PORTA = !PORTA;
#int_ext
void rb_ext(void)
cligne();
void main(void)
set_tris_a(0x00);
ext_int_edge(H_TO_L);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
while(TRUE)
1
Exercice 3 :
Figue 4.
1
TP3
Exercice 1 :
Figure5
2- Ecrire, compiler et télé verser le code hexadécimal suivant dans schéma précédent.
1
#include <afficheur lcd.h>
// http://ccspicc.blogspot.com/
// electronnote@gmail.com
#use delay(clock=8000000)
#include <lcd.c>
char i;
void main()
while(TRUE)
1
lcd_putc("PIC16F877A");
lcd_putc("LCD example");
delay_ms(5000);
lcd_putc("Hello world!");
delay_ms(5000);
lcd_putc("Hello world!");
delay_ms(100);}
Exercice 2 :
Ecrire un programme qui affiche sue l’écran LCD, « vous avez appuier » sur la
première ligne et sur la deuxième ligne le nombre de fois d’appuis sur l’interruption INT.
1
TP4