salut tous le monde ,je suis entrain de programmer un 16F877 pour générer 2 PWM sur ccp1 et ccp2 ,et contrôler la fréquence du signal par 2 boutons poussoir sur le port b afin d’augmenter et diminuer la fréquence ,j'ai trouver un code j'ai essayé de le modifier mais sa ne marche pas pouvez vous m'aider SVP
Code:#include <16F877.h> #device adc=8 #FUSES NOWDT,XT,NOPUT,NOPROTECT,BROWNOUT,NOLVP,NOCPD,NOWRT,NODEBUG #use delay(clock=4000000) #use fast_io(b) #define ileri pin_b6 #define geri pin_b7 const int adim[5]={0,1,2,4,8}; int i=0; #int_RB void RB_isr(void) { if(input(ileri)) { delay_ms(10); i++; if(i==5) {i=1;} } if(input(geri)) { delay_ms(10); i–; if(i==-1||i==0) {i=4;} } } void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); enable_interrupts(INT_RB); enable_interrupts(GLOBAL); set_tris_b(0b11000000); output_c(0×00); while(1) { setup_ccp1(ccp_pwm); setup_ccp2(ccp_pwm); setup_timer_2(T2_DIV_BY_1,255,1); { output_b(adim[i]); } set_pwm1_duty(i); set_pwm_duty(i/2); } }
-----