Bonjour,
j'ai une entrée analogique à l'aide d'un potentiomètre et un signal externe de freq 50hz. par rapport à cette valeur je dois réquperer en sortie à chaque front montant un signal nul pendant une durée relative à l’entrée analogique , puis à 1 pendant 1ms puis il revient à 0 jusq'à 10ms.
cad pour 5v-->retard=9ms
0v-->retard=0ms
voici mon programme mais ca na pas marcher. il ne se compile pas sur microc.
merci d'avance pour votre aideCode:#include<16F877.h> #define out1 PIN_B1 #define out2 PIN_B2 //#define in PIN_BO int retard_amorcage(); int interruption(); int16 tr=0; int16 retard; #INT_EXT void interruption() { retard=retard_amorcage(); delay_us(retard); output_high(out1); delay_ms(1); output_low(out1); delay_us(10000-1000); output_high(out2); delay_ms(1); output_low(out2); } int retard_amorcage() { int8 value; int16 val; value= read_adc(); delay_us(10); val= value*9000; retard=val/255; return retard; } void main () { int8 retard,value; setup_adc_ports(RA0_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); ext_int_edge(L_TO_H); // init interrupt triggering for button press enable_interrupts(INT_EXT);// turn on interrupts e[PHP]nable_interrupts(GLOBAL); while(1) {} }
younessrf
-----