thanks friends...ADCON1 = 0b00001111 statement was missing...so its doing well now..thanks..
- - - Updated - - -
guys...please help..the following program is not working..if you guys finding some error..let me know plz..we have made that code by our own..so there is a possiblity of getting more error...plzzzzzzzz help.
according to program, if any one sensor is dry, or couple of sensors or 3 or 4 sensors are dry, the motor should be on and the solenoid valve corresponding to that sensor should on..eg.if sensor 1 and 2 are dry, then solenoid 1 and 2 should on and all other should off.....so plz check out and let me know if there is any error...
for this i m using MikroC software and trying to run it on Proteus simulator.....thankss
/* PIC 18F4520
Internal Oscillator Initialized
Solenoid Status > 0 = ON
All LEDs Common Anode
Sensor Dry > Output 0
Sensor Wet > Output 1
TRIS Initialization Important
*/
#define s0 PORTA.F0 /* Level Sensor */
#define s1 PORTA.F1 /* Sensor 1 */
#define s2 PORTA.F2 /* Sensor 2 */
#define s3 PORTA.F3 /* Sensor 3 */
#define s4 PORTA.F4 /* Sensor 4 */
#define motor LATB.F0 /* Motor */
#define motor_s LATB.F1 /* Motor Status */
#define sol_1 LATC.F1 /* Solenoid 1 */
#define sol_2 LATC.F2 /* Solenoid 2 */
#define sol_3 LATC.F3 /* Solenoid 3 */
#define sol_4 LATC.F4 /* Solenoid 4 */
void main(){
TRISA = 0xff; /* PORTA Input */
TRISB = 0x00; /* PORTB Output */
TRISC = 0x00; /* PORTC Output */
PORTA = 0x00;
PORTB = 0x00;
PORTC = 0x00;
CMCON = 0x07; /* Disable Comparator */
ADCON0 = 0b00000000; /* Configure all I/O Ports as Digital */
ADCON1 = 0b00001111; /* Configure all I/O Ports as Digital */
while (1) /* Continuous Loop */
{
if (s0==1) /* Sufficient Water In Tank */
{
if ((s1||s2||s3||s4)==0) /* Either Sensor 1, Sensor 2, Sensor 3 or Sensor 4 Dry */
{
motor = 1; /* Motor ON */
motor_s = 0; /* Motor Status ON */
}
else if (s1==0) /* Sensor 1 Dry */
{
sol_1=0; /* Solenoid 1 ON */
sol_2=1; /* Solenoid 2 OFF */
sol_3=1; /* Solenoid 3 OFF */
sol_4=1; /* Solenoid 4 OFF */
}
else if (s2==0) /* Sensor 2 Dry */
{
sol_1=1; /* Solenoid 1 OFF */
sol_2=0; /* Solenoid 2 ON */
sol_3=1; /* Solenoid 3 OFF */
sol_4=1; /* Solenoid 4 OFF */
}
else if (s3==0) /* Sensor 3 Dry */
{
sol_1=1; /* Solenoid 1 OFF */
sol_2=1; /* Solenoid 2 OFF */
sol_3=0; /* Solenoid 3 ON */
sol_4=1; /* Solenoid 4 OFF */
}
else if (s4==0) /* Sensor 4 Dry */
{
sol_1=1; /* Solenoid 1 OFF */
sol_2=1; /* Solenoid 2 OFF */
sol_3=1; /* Solenoid 3 OFF */
sol_4=0; /* Solenoid 4 ON */
}
else if ((s1&&s2)==0) /* Sensor 1 And Sensor 2 Dry */
{
sol_1=0; /* Solenoid 1 ON */
sol_2=0; /* Solenoid 2 ON */
sol_3=1; /* Solenoid 3 OFF */
sol_4=1; /* Solenoid 4 OFF */
}
else if ((s2&&s3)==0) /* Sensor 2 And Sensor 3 Dry */
{
sol_1=1; /* Solenoid 1 OFF */
sol_2=0; /* Solenoid 2 ON */
sol_3=0; /* Solenoid 3 ON */
sol_4=1; /* Solenoid 4 OFF */
}
else if ((s3&&s4)==0) /* Sensor 3 And Sensor 4 Dry */
{
sol_1=1; /* Solenoid 1 OFF */
sol_2=1; /* Solenoid 2 OFF */
sol_3=0; /* Solenoid 3 ON */
sol_4=0; /* Solenoid 4 ON */
}
else if ((s1&&s3)==0) /* Sensor 1 And Sensor 3 Dry */
{
sol_1=0; /* Solenoid 1 ON */
sol_2=1; /* Solenoid 2 OFF */
sol_3=0; /* Solenoid 3 ON */
sol_4=1; /* Solenoid 4 OFF */
}
else if ((s1&&s4)==0) /* Sensor 1 And Sensor 4 Dry */
{
sol_1=0; /* Solenoid 1 ON */
sol_2=1; /* Solenoid 2 OFF */
sol_3=1; /* Solenoid 3 OFF */
sol_4=0; /* Solenoid 4 ON */
}
else if ((s2&&s4)==0) /* Sensor 2 And Sensor 4 Dry */
{
sol_1=1; /* Solenoid 1 OFF */
sol_2=0; /* Solenoid 2 ON */
sol_3=1; /* Solenoid 3 OFF */
sol_4=0; /* Solenoid 4 ON */
}
else if ((s1&&s2&&s3)==0) /* Sensor 1, Sensor 2 And Sensor 3 Dry */
{
sol_1=0; /* Solenoid 1 ON */
sol_2=0; /* Solenoid 2 ON */
sol_3=0; /* Solenoid 3 ON */
sol_4=1; /* Solenoid 4 OFF */
}
else if ((s2&&s3&&s4)==0) /* Sensor 2, Sensor 3 And Sensor 4 Dry */
{
sol_1=1; /* Solenoid 1 OFF */
sol_2=0; /* Solenoid 2 ON */
sol_3=0; /* Solenoid 3 ON */
sol_4=0; /* Solenoid 4 ON */
}
else if ((s1&&s3&&s4)==0) /* Sensor 1, Sensor 3 And Sensor 4 Dry */
{
sol_1=0; /* Solenoid 1 ON */
sol_2=1; /* Solenoid 2 OFF */
sol_3=0; /* Solenoid 3 ON */
sol_4=0; /* Solenoid 4 ON */
}
else if ((s1&&s2&&s3&&s4)==0) /* Sensor 1, Sensor 2, Sensor 3 And Sensor 4 Dry */
{
sol_1=0; /* Solenoid 1 ON */
sol_2=0; /* Solenoid 2 ON */
sol_3=0; /* Solenoid 3 ON */
sol_4=0; /* Solenoid 4 ON */
}
else if ((s1&&s2&&s3&&s4)==1) /* Sensor 1, Sensor 2, Sensor 3 And Sensor 4 Wet */
{
sol_1=1; /* Solenoid 1 ON */
sol_2=1; /* Solenoid 2 ON */
sol_3=1; /* Solenoid 3 ON */
sol_4=1; /* Solenoid 4 ON */
motor=0; /* Motor OFF */
motor_s=1; /* Motor Status OFF */
}
else
{
motor=0; /* Motor OFF */
motor_s=1; /* Motor Status OFF */
}
}
else
{
motor=0; /* Motor OFF */
motor_s=1; /* Motor Status OFF */
}
}
}