sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
void main()
{
int i,v10,v20,v30; float v11,v21,v31,max1,max2,max3 ;
float v1[15],v2[15],v3[15];
char T1[3],T2[3],T3[3];
PORTA = 0xff;
LCD_Init (); // Initialize LCD ADC_Init ();
LCD_Cmd(_LCD_CURSOR_OFF);//
Clear display LCD_Cmd (_LCD_CLEAR) ; //
Cursor off LCD_Out (1, 3, "voltmetre");
delay_ms (500);
for(; {
for (i=0 ; i<15 ; i++) { v10= ADC_Read (0);
delay_us(500);
v11=0.0048*v10;
v11=75*v11 ;
v1=v11;
}
max1=v1[0]; for (i=0;i<15;i++) {if (max1
// 2eme phase
for (i=0 ; i<15 ;
i++) { v20= ADC_Read (1);
delay_us(500);
v21=0.0048*v20;
v21=75*v21 ;
v2=v21;
}
max2=v2[0];
for (i=0;i<15;i++) {if (max2
//3eme phase
for (i=0 ; i<15 ;
i++) { v30= ADC_Read (2);
delay_us(10);
v31=0.0048*v30;
v31=75*v31 ;
v3=v31;
}
max3=v3[0];
for (i=0;i<15;i++) {if (max3
LCD_out(2,1,"v1=");
LCD_out_cp(T1);
LCD_chr_cp('v');
delay_ms(1000);
LCD_out(3,1,"v2=");
LCD_out_cp(T2);
LCD_chr_cp('v');
delay_ms(1000);
LCD_out(4,1,"v3=");
LCD_out_cp(T3);
LCD_chr_cp('v');
delay_ms(1000);
LCD_Cmd(_LCD_CURSOR_OFF);
LCD_Cmd (_LCD_CLEAR) ;
}
}