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: 27/08/2011
Posté le 27/08/2011 00: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
Tunisia.png Technologuepro
Administrator



Messages : 447
Inscrit(e) le: 15/11/2007
Posté le 28/08/2011 02: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: 27/08/2011
Posté le 28/08/2011 23:36  
RE : pic 16f84
merci pour votre réponse

Revenir en haut | Permalien
Tunisia.png moussamed
Newbie



Messages : 4
Inscrit(e) le: 27/08/2011
Posté le 04/09/2011 14: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: 27/08/2011
Posté le 15/09/2011 01: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

Haut de page

© 2019 Technologue pro, cours électricité électronique informatique · © 2007 - 2019 Technologue pro - Ressources pédagogiques pour l'enseignement technologique en Tunisie
Usage dans un cadre strictement académique

Technologue: cours en ligne gratuit en électricité, électronique, informatique industrielle et mécanique pour l'enseignement technologique en Tunisie et offre des cours en ligne en génie électrique, informatique, mécanique, une base de données de TP, projets fin d'études et un annuaire de ressources pédagogiques
Licence - Sitemap - Qui somme nous ? - confidentialité- Tunisie Index
J'accepte
Ce site web utilise des cookies. Nous utilisons des cookies pour vous offrir la meilleure expérience sur notre site Web. Plus d'infos