//0 = OBJETO 1 = NADA
#include <16F877A.h>
#use delay (clock=4000000)
#include <lcd.c>
#fuses XT, NOWDT, NOPROTECT
#byte PORTB = 0x06
#byte TRISB = 0x86
/////////////////////////////////////////////////////////////
int SENSOR[];
int32 TAPADO[];
int32 LIBRE[];
int DY[];
int PIN[] = (PIN_B0, PIN_B1, PIN_B2, PIN_B3, PIN_B4, PIN_B5, PIN_B6, PIN_B7);
int s = 1;
/////////////////////////////////////////////////////////////
VOID main(VOID){
TRISB = 1;
PORTB = 0;
SENSOR, LIBRE, TAPADO = 0;
lcd_init();
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
WHILE (1){
IF(input(PIN[s])==0){
IF(SENSOR[s]==0){
++TAPADO[s];
SENSOR[s] = 0;
}
IF(SENSOR[s]==1){
TAPADO[s], LIBRE[s] = 0;
SENSOR[s] = 0;
}
}
///////////////////////////////////////////////////////////////////////////
IF(input(PIN[s])==1){
IF(SENSOR[s]==0){
LIBRE[s],TAPADO[s] = 0;
SENSOR[s] = 1;
}
IF(SENSOR[s]==1){
++LIBRE[s];
SENSOR[s] = 1;
}
}
///////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
IF(LIBRE[s]>=5000){
lcd_gotoxy(1,1);
printf(lcd_putc, "SIN SEMILLAS");
lcd_putc('\n');
printf(lcd_putc, "BOCA:%u",s);
DY[0]=0;
}
IF(LIBRE[s]<5000){
IF(DY[0]==0){
lcd_putc('\f');
lcd_gotoxy(1,1);
printf(lcd_putc, "OK");
DY[0]=1;
}
}
//////////////////////////////////////////////////////////////////////////
IF(TAPADO[s]>=5000){
lcd_gotoxy(1,1);
printf(lcd_putc, "TAPADO");
lcd_putc('\n');
printf(lcd_putc, "BOCA:%u",s);
DY[1]=0;
}
IF(TAPADO[s]<5000){
IF(DY[1]==0){
lcd_putc('\f');
lcd_gotoxy(1,1);
printf(lcd_putc, "OK");
DY[1]=1;
}
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
}