Vous êtes sur la page 1sur 8

Hamza ZENZANI INF Groupe 6

Tp 5 :commande d’afficheur 7 segments par le


PIC16F84

-objectifs  :
 Etre capable de réaliser un projet sous mikroC PRO for PIC.
 Mettre au point un programme en langage C actionnant le comptage ou
décomptage sur un afficheur 7 segments par le PIC16F84A.
 Etre apte à établir des schémas d’application à base des PIC16F84 et les
simuler grâce le logiciel ISIS.

-Matériels utilisés  :
 Micro-ordinateur de type PC sous windows.
 Outil de développement MIKROC PRO for PIC version 6.5 ou 6.6 .
 Outil de développement proteus intégrant le logiciel ISIS.

-Programme n1  :
void main()
{
unsigned char SEG[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
int k = 0;
TRISA = 0xFF;
TRISB = 0;
PORTB = 0;
for(;;){
if (PORTA.F0 == 1){
PORTB = SEG[k];
delay_ms(500);
k ++;
Hamza ZENZANI INF Groupe 6

if ( k > 9){
k = 0;
}
} //Comptage
else{
PORTB = SEG[k];
delay_ms(500);
k --;
if (k < 0){
k = 9;
}
}
} //Decomptage
}
Hamza ZENZANI INF Groupe 6

Schema prg n1:

-Programme n2  :
void main()
{
unsigned char SEG[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
int k = 0;
TRISA = 0xFF;
TRISB = 0;
PORTB = 0;
for(;;){
Hamza ZENZANI INF Groupe 6

if (PORTA.F0 == 1){
PORTB = SEG[k];
delay_ms(500);
k ++;
if ( k > 9){
k = 0;
}
} //Comptage
else{
PORTB = SEG[k];
delay_ms(500);
k --;
if (k < 0){
k = 9;
}
}
} //Decomptage
}
Hamza ZENZANI INF Groupe 6

Schema prg n2:

-Programme n3  :

void main()
{
unsigned char SEG[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
int k = 0;
TRISA = 0xFF;
TRISB = 0;
PORTB = 0;
for(;;){
if (PORTA.F0 == 1){
Hamza ZENZANI INF Groupe 6

PORTB = ~SEG[k];
delay_ms(500);
k ++;
if ( k > 9){
k = 0;
}
} //Comptage
else{
PORTB = ~SEG[k];
delay_ms(500);
k --;
if (k < 0){
k = 9;
}
}
} //Decomptage
}
Hamza ZENZANI INF Groupe 6

Schema prg n3:


Hamza ZENZANI INF Groupe 6

Vous aimerez peut-être aussi