Rechercher

pic 16f84

< Sujet précédent  Sujet suivant >
Index du Forum -> Forum des Projets fin d'études, mini-projets et des réalisations electroniques -> Mini-projets
AuteurMessage
Tunisia.png moussamed
Newbie



Messages : 4
Inscrit(e) le: 26/08/2011
Posté le 26/08/2011 23:54  
pic 16f84
salem je suis debutant en programmation des pic en c mon min projrt et de faire allumer un led vert si jappuis sur le bouton reste apuiyé 5s et d'allumer un led rouge si l'appui reste 7 s
mon programme est le suivant avec compilateur pic c:

#int_TIMER0
int comp=0;

TIMER0_isr()
{

if(input(pin_a0)==1)
{ comp++;
}
else {
comp=0;}
set_timer0(0);


}



void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);

while(true){



if(comp==72)
{
output_high(pin_b1);
output_low(pin_b0);
comp=0;
}

else
{
output_low(pin_b1);
output_high(pin_b0);
comp=0;
}
}
}


Revenir en haut | Permalien
Google
Annonces
Tunisia.png Technologuepro
Administrator



Messages : 417
Inscrit(e) le: 15/11/2007
Posté le 28/08/2011 01:13  
RE : pic 16f84
Bonjour,
voila comment faire :

Code :


while (input(pin_a0)==1)
{
delay_ms(1000);
comp++;
}
if(comp < 5) {comp=0;}
if((comp >= 5) && (comp < 7))
{
output_high(pin_b1);
output_low(pin_b0);
comp=0;
}
if(comp >= 7)
{
output_low(pin_b1);
output_high(pin_b0);
comp=0;
}

@+

Le savoir est une chose qu'on peut pas cacher, la connaissance existe pour être transmise aux autres...
Revenir en haut | Permalien
Tunisia.png moussamed
Newbie



Messages : 4
Inscrit(e) le: 26/08/2011
Posté le 28/08/2011 22:36  
RE : pic 16f84
merci pour votre réponse

Revenir en haut | Permalien
Tunisia.png moussamed
Newbie



Messages : 4
Inscrit(e) le: 26/08/2011
Posté le 04/09/2011 13:39  
1315139966.DSN (90 Ko)
RE : pic 16f84
bonjour j'ai essayé ce code mais dans la simulation rien ne fonctionne les leds reste toujours alumés
voila le code et le fichier de simulation ci-joint merci de me repondre
#include <16F84a.h>
#use delay(clock=4000000)
void main()
{
int comp=0;
set_tris_b(0x00);
set_tris_a(0x0f);
while (input(pin_a0)==1)
{
delay_ms(1000);
comp++;
}
if(comp < 5) {comp=0;}
if((comp >= 5) && (comp < 7))
{
output_high(pin_b1);
output_low(pin_b0);
comp=0;
}
if(comp >= 7)
{
output_low(pin_b1);
output_high(pin_b0);
comp=0;
}
}

Edité par moussamed le 04/09/2011 14:11
Revenir en haut | Permalien
Tunisia.png moussamed
Newbie



Messages : 4
Inscrit(e) le: 26/08/2011
Posté le 15/09/2011 00:53  
RE : pic 16f84
volila c'est le programme il fonctione bien
#include <16f84a.h>
#fuses XT,NOWDT,PUT,NOPROTECT
#use delay(CLOCK=4000000)
int comp=0;

#int_TIMER0
timer0_isr()
{
if(input(pin_a0)==1)
{comp++;
}
else comp=0;
}
void main(void)
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256|RTCC_8_BIT);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
set_tris_a(0x0f);
set_tris_b(0x00);
while(1)
{
if((comp >= 76) && (comp <106))
{
output_high(pin_b1);
output_low(pin_b0);

}
if(comp >= 106)
{
output_low(pin_b1);
output_high(pin_b0);
comp=0;
}

}
}


Revenir en haut | Permalien
Google
Annonces
Technologue pro: Cours en électricité, électronique, informatique industrielle et mécanique pour l'enseignement technologique en Tunisie et offre des cours en génie électrique, informatique, mécanique, une base de données de plusieurs TP, projets fin d'études et un annuaire de ressources pédagogiques.