Bonjour à tous,
J'aimerais, en utilisant le timer1 et son interruption, faire clignoter une LED (environ 1S On /1S Off) afin d’avoir un control visuel du fonctionnement normal de la carte final.
Pour le moment j’utilise sur la maquette une horloge RC et la LED se trouve en C7
Voici mon programme (main.c):
#include <16F872.h> //Définition des spécifications du PIC
#include "fusibles.h" //Définition des fusibles
#include "param.h" //Définition des ports
#int_TIMER1
TIMER1_isr()
{
if (get_timer1()>200)
{
output_toggle(LED);
set_timer1(0);
}
}
void main()
{
Init:
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RT CC_DIV_1);
setup_wdt(WDT_18MS);
setup_timer_1(T1_INTERNAL|T1_D IV_BY_1);
setup_timer_2(T2_DIV_BY_1,0,1) ;
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
Set_tris_A(11111) ;
Set_tris_B(0000000) ;
Set_tris_C(1111110) ;
output_low(RL1);
output_low(RL2);
output_low(RL3);
output_low(RL4);
output_low(RL5);
output_low(RL6);
output_low(RL7);
output_low(RL8);
output_high(Led);
set_timer1(0);
Prog:
while(1)
{
Tempo_Sec(1);
Output_bit(RL1,1);
…
Output_bit(RL8,1);
}
goto Prog;
Stop:
goto Init;
}
Le programme principal fonctionne mais je n’arrive pas au clignotement voulu de la led.
Je vous remercie d’avance de votre aide
-----