关于MAX1148的数据采集程序

2019-03-24 19:34发布

最近在调一个程序,用max1148做程序采集!可是怎么调读出的数据都是不对,程序如下,帮我看看程序有什么问题吗? 

  //定义与MAX1148BEUP的接口 
 sbit  DOUT = P1^4; 
 sbit  SSTRB  = P1^3; 
 sbit  DIN     = P1^2; 
 sbit  nCS   = P1^1; 
 sbit  CLK  = P1^0; 


//MAX1148采样程序 
unsigned int MAX1148AD_Sample(unsigned char Ctrl_Cmd) 

unsigned char i,tmp_data; 
unsigned int adc_value = 0; 
tmp_data = Ctrl_Cmd;

nCS = 0; //写控制字 
for(i=0; i<8; i++) 
    
DIN = tmp_data & 0x80;              
CLK=1; 
     tmp_data <<= 1; 
         CLK=0; 

// _nop_(); 
// _nop_();  
while(!SSTRB);    //等待SSTRB为高 

for(i=0;i<16;i++) 

adc_value <<= 1; 
CLK = 1; 
adc_value |= DOUT; 
CLK = 0; 

nCS = 1; 

return(adc_value & 0x3FFF); 


我用的是ch2通道,采取单通道采样,控制字是0x9E!
此帖出自小平头技术问答
0条回答

一周热门 更多>