Test Capteurs
•
•
•
•
•

#include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,put,NOlVP
#use delay(clock=4000000)
#include "LCD.c"
#use fast_io(E)

•
•
•
•
•
•
•

void bip()
{bit_set(*9,0);
bit_clear (*9,1);delay_ms (250);
bit_set (*9,1);delay_ms (250);
bit_clear (*9,1);delay_ms (250);
bit_set (*9,1);delay_ms (250);
}
• //#include <stdlib.h>
• //#include <string.h>
• main ()
• {float value1;float value2;
• lcd_init();
•
•
•
•
•

lcd_putc("f**test capteur**");delay_ms(1000);
lcd_putc("f*carte de cde*");
setup_adc_ports(AN0_AN1_AN2_AN3_AN4);
setup_adc(adc_clock_internal);
set_tris_e(0);output_e(0);

• while(1){
•

set_adc_channel( 4);delay_ms(2);

•

value1=read_adc();

•

value1= 1.2*value1*(100.0/255);printf (lcd_putc,"ndis2=%3.1fCm",value1);

•
•

if (value1>100) {bip();}
else {printf (lcd_putc,"ndis2=%3.1fCm",value1);output_e(0);}

•

set_adc_channel( 0 );delay_ms(2);

•

value2=read_adc();

•
•

if (value2>100) {bip();}
else {printf (lcd_putc,"ndis1=%3.1fCm",value2);output_e(0);}

•

lcd_gotoxy(1,1);value2= 1.2*value2*(100.0/255);printf (lcd_putc,"dis1=%3.1fCm ",value2);

•
•

}
}
Commande moteur
•
•
•
•
•
•

#include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,put,NOlVP
#use delay(clock=20000000)
#include <LCD.c>
#include <stdlib.h>
#include <string.h>

•

#include <math.h>

•
•
•
•

#define SM1 pin_C4
#define M1 pin_C5
#define SM2 pin_C6
#define M2 pin_C7

•
•

//_____________________________________________________________
void DEPM1 ()
•

{

•
•
•
•
•
•
•
•

int value1;
lcd_init();
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_4,255,1);
setup_port_a(ALL_ANALOG);
setup_adc(adc_clock_internal);
set_adc_channel( 2 );
value1=read_adc();Set_pwm1_DUTY(value1);

•

value1= value1*(100.0/255);printf (lcd_putc,"v1:%3u%%",value1);

•

//}

•

•
•

//_________________________________________________________________
_
}
}

Programmation pic 16F877