void delay(void)
{
UCHAR i;

	for ( i=0;i<DELAY;i++) _nop_();
}


bit e_check(void)
{
bit t2, temp;	
		temp = SCL_EE; // save SCL state
		SCL_EE=1;		// make it input
		delay();
		t2= SCL_EE;
		SCL_EE = temp;
		return t2;
}
/***************************************************

 Produce Start bit for communication with ADC

****************************************************/

void start(void)
{
	SCK=0;
	delay();
	MOSI=1;
	SCK=1;
	
}


/******************************************************

Send 3 comand bits 1st is 1 always / single ended mode/

*******************************************************/
void send_comand_bits(bit ch, bit mode)

{


	delay();
	SCK=0;
	delay();
	MOSI=1;
	delay();
	SCK=1;
	delay();
	SCK=0;
	delay();
	MOSI=ch;
	delay();
	SCK=1;
	delay();
	SCK=0;
	delay();
	MOSI= mode;
	delay();
	SCK=1;
	delay();
	SCK=0;
}

/******************************************************

Read measured 10 bits 

*******************************************************/

UINT Read_value(void)
{
UCHAR i;
register UINT Data=0;


	
	SCK=0;
	delay();
	SCK=1;
	delay();
	SCK=0;
	delay();
	for(i=0;i<10;i++)
	{
		SCK=1;
		delay();
		if(MISO==1) Data |=0x0001;
		else Data &= 0xFFFE;
		Data<<=1;
		SCK=0;
		delay();
	 }
	 Data>>=1;
return(Data);
}


/************************************************************

		Read value from ADC

  c - ch1/ch2 m - MSB, LSB 
**************************************************************/

UINT Read_ADC(bit c,bit m)
{
		
		UINT V;	
		ADC_ON;
		start();
 		send_comand_bits(c,m);
 
		V= Read_value();
		ADC_OFF;
			
		return (V);
}	