1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| // LCD module connections
sbit LCD_RS at LATD0_bit;
sbit LCD_EN at LATD1_bit;
sbit LCD_D4 at LATB0_bit;
sbit LCD_D5 at LATB1_bit;
sbit LCD_D6 at LATB2_bit;
sbit LCD_D7 at LATB3_bit;
sbit LCD_RS_Direction at TRISD0_bit;
sbit LCD_EN_Direction at TRISD1_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;
// End LCD module connections
int i,cnt=0,indx,j,k,rot,cnt1=0,cnt3=0;
char ch;
unsigned char txtt[20];
long efg[100];
int ncl,npr;
int gr1=0,fgr=0;
long adc_rd;
double abc_rd1=0;
char txt1[] = "SENSOR TEST";
char txt2[] = "Taking Samples";
char txt3[] = " Sample Values";
void main() {
ADPCFG = 0x00ff;
ADC1_Init();
//ADC1_Init_Advanced(_ADC_INTERNAL_REF);
Lcd_Init();
LCD_Cmd(_LCD_CURSOR_OFF);
LCD_Cmd(_LCD_CLEAR);
LCD_out(1,3,txt1);
delay_ms(3000);
while(1)
{
for(cnt=0; cnt<100; cnt++)
{
efg[cnt] =0 ;
}
LCD_out(1,2,txt2);
delay_ms(3000);
for(cnt=0; cnt<100; cnt++)
{
adc_rd = ADC1_Get_Sample(4) ;
efg[cnt]= adc_rd;
adc_rd= 0;
}
for (cnt=0; cnt<100; cnt++)
{ LCD_Cmd(_LCD_CLEAR);
LCD_out(1,2,txt3);
ch = efg[cnt]/1000;
LCD_Chr(2,6,ch+48);
LCD_Chr_CP('.');
ch = (efg[cnt]/100)%10;
LCD_Chr_CP(48+ch);
//LCD_Chr(1,5,ch+48);
ch = (efg[cnt]/10)%10;
LCD_Chr_CP(48+ch);
ch = efg[cnt]%10;
LCD_Chr_CP(48+ch);
LCD_Chr_CP('m');
LCD_Chr_CP('V');
delay_ms(2000);
}
}
} |