|
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; ////輸入開始信號(構(gòu)成一個正脈沖),時鐘上升沿,輸入開始信號 //單通道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; } |
|