#include <AT89X55.H>
sbit sdo=P2^0;
sbit addr=P2^1;
sbit cs=P2^2;
sbit clk=P2^3;
sbit eoc=P2^4;
void adc1543_ini(void);
unsigned char adc1543(void);
void main()
{unsigned char odata;
adc1543_ini();
while(1)
{odata=adc1543();
P1=odata;
}
}
void adc1543_ini(void)
{
int i;
cs=1;
clk=0;
addr=0;
eoc=0;;;;
eoc=1;;;;
cs=0;;;;;;;;;
for(i=0;i<10;i++)
{clk=1;;;;;clk=0;;;;;
}
eoc=0;cs=1;;;;;;;;;;;
}
unsigned char adc1543(void)
{unsigned char temp;
int i=0;
cs=1;
clk=0;
addr=0;
eoc=0;;;;
eoc=1;;;;
cs=0;;;;;;;;;
for(i=0;i<8;i++)
{
temp<<=1;
temp=temp|sdo;
clk=1;;;;;clk=0;;;;;
}
eoc=0;cs=1;;;;;;;;;;;
return temp;
}