ADS1230的驅動程序,自己編寫測試,基于51單片機,包括ad的初始化和ad的讀取
下載:
ad1230驅動.docx
(11.55 KB, 下載次數: 83)
2017-9-11 16:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
初始化ADS1230
void ad_init()
{
//ad_pdwn=1;
//delayus(5);
ad_pdwn=0;
delayus(5);
ad_pdwn=1;
delayus(5);
ad_sclk=0;
}
/*void ad_init()
{
uchar i;
ad_sclk=0;
ad_pdwn=0;
_nop_();_nop_();
ad_pdwn=1;
_nop_();_nop_();
while(ad_dout);
_nop_();_nop_();
for (i=0;i<26;i++)
{
ad_sclk=1;
_nop_();_nop_();
ad_sclk=0;
_nop_();_nop_();
}
}*/
讀取AD轉換后的值
ulong get_ad()
{
ulong zhi=0;
uchar i;
ulong result=0;
while(ad_dout);
_nop_();
_nop_();
_nop_();
_nop_();
for(i=0;i<20;i++) //在時鐘的上升沿和下降沿都可以輸出轉換的數據 {
{ zhi<<=1;
ad_sclk=1;
_nop_();
ad_sclk=0;
if(ad_dout==1)
zhi+=1;
_nop_();
}
ad_sclk=1;//注意必須要加一個額外的時鐘周期去強制拉高ad_dout
_nop_();
ad_sclk=0;
_nop_();
result=zhi;
/*if(result>524287)//result是負數
result=1048576-result;
//result=(float)result*0.0308166;
//result=(ulong)result;*/
return result;
}
|