uchar AD(bit Channel) { unsigned char i; unsigned char ad0,ad1; ad0 = 0x00; ad1 = 0x00; AD_cs = 0; _nop_(); AD_clk=0; _nop_(); AD_di=1; _nop_(); AD_clk=1; ////输入开始信号(构成一个正脉冲),时钟上升沿,输入开始信号 //单通道0~10. 1~11 双通道 0+~00 。0—~01 AD_clk=0; AD_di=1; //选择单通道 AD_clk=1; _nop_(); AD_clk=0; AD_di=Channel; //选择通道 //通道选择完毕 AD_clk=1; _nop_(); AD_clk=0; _nop_(); AD_di=1; for(i=8;i>0;i--) { AD_clk=1; ad0<<=1; AD_clk=0; if(AD_do) ad0 |= 0x01; else ad0 |= 0x00; } for(i=8;i>0;i--) { ad1>>=1; ////从低位向高位读取八位AD值 AD_clk=0; if(AD_do) ad1 |= 0x80; else ad1 |= 0x00; AD_clk=1; } AD_cs = 1; AD_do = 1; AD_clk = 1; if(ad0 == ad1) //判断是否采集正确 { return ad1; } return -1; } |