请帮忙看一下这个ADC0832程序有什么问题
目前ch0和ch1转换数值一样,都是ch1的,ch0没有转换?请帮我看一下,谢谢大家!
#include <reg51f.h>
#include <INTRINS.H>
/*ADC0832*/
sbit ADCS =P2^3; //ADC0832 chip seclect
sbit ADDI =P2^4; //ADC0832 data in
sbit ADDO =P2^4; //ADC0832 data out
sbit ADCL =P1^6; //ADC0832 clock signal
//采集并返回
unsigned int Adc0832(unsigned char channel) small //测试油压
{
unsigned int u=0;
unsigned char i;
//ADCS=1;
//ADCL=0;
//ADDO=1;
ADCS=0;
_nop_();
ADCL=0;
for(i=0;i <3;i++)
{
ADCL=0;
ADDI=channel> > 1;
ADCL=1;
}
_nop_();
//ADDI=1;
ADCL=0;
_nop_();
//_nop_();
//_nop_();
ADCL=1;
for(i=0;i <8;i++) //read data
{
ADCL=0;
u=(u < <1)|ADDO;
ADCL=1;
_nop_();
}
for(i=0;i <8;i++)
{
ADCL=1;
_nop_();
ADCL=0;
}
ADCS=1;
return(u); //return ad data
}
void main() small
{
unsigned int i;
unsigned int k;
unsigned int l;
for(i=0;i <10000;i++)
{
k=Adc0832(3); //转换ch0
for(l=0;l <6000;l++)
{
}
k=Adc0832(7); ////转换ch1
for(l=0;l <6000;l++)
{
}
}
}
发表时间:2004年10月26日15:51:08