//¶¨ÒåÈ«¾ÖÊý×é±äÁ¿´æ·Å²É¼¯Êý¾Ý
static uchar idata ad[16];
uint count=0;
void tran() /*¿´ÃŹ··¢ËÍÒ»×Ö½ÚÊý¾Ý×Óº¯Êý*/
{
unsigned char i;
for(i=0; i <8; i++)
{ ACC=com; /*½«Êý¾Ý·ÅÈëaÖÐ*/
si=c;
sck=0; /*sck²úÉúÒ»¸öÉÏÌø±ä*/
sck=1;
com=com < <1; /*×óÒÆÒ»Î»*/
}
return;
}
//ÑÓʱ1msº¯Êý
void delay(uchar a)
{
uchar i;
uchar j;
for(i=0;i <a;i++)
{ for(j=0;j <162;j++);
}
}
//Êý¾Ý²É¼¯º¯Êý
void ad0816(uchar idata *x)
{
uchar i;
uchar xdata *ad_adr;
ad_adr=&IN0;
for(i=0;i <16;i++)
{
*ad_adr=0;
//ÑÓʱת»»
delay(10);
while(ad_busy==0);
x[i]=*ad_adr;
ad_adr++;
}
}
//zhu han shu
void main(void)
{
uchar i;
//¿´ÃŹ·
com=0x06; /*·¢Ð´¶ÁʹÄÜÃüÁî*/
cs=0;
tran();
cs=1;
com=0x01; /*·¢Ð´×´Ì¬×ÖÃüÁî*/
cs=0;
tran();
com=0x00; /*¶¨Ê±1.4s*/
tran();
cs=1;
//T1£¬T0ÉèÖÃ
TMOD=0X20;
TH1=0xF3;
TL1=0xF3;
//´®¿Ú
SCON=0x58;PCON=0x80;
TR1=1;
do
{
ad0816(ad);
SBUF=0xCC;
while(TI==0);
TI=0;
SBUF=0xa3;
while(TI==0);
TI=0;
//ÖÐÖµÂ˲¨
for(i=0;i <16;i++)
{
SBUF=i+1;
while(TI==0);
TI=0;
SBUF=ad[i];
while(TI==0);
TI=0;
}
SBUF=0xFE;
while(TI==0);
TI=0;
SBUF=0xfe;
while(TI==0);
TI=0;
cs=0; /*²úÉúcsÂö³å*/
cs=1;
delay(200);
delay(200);
delay(200);
delay(200);
} while(1);
}