TLC1543的AD转换问题
时间:10-02
整理:3721RD
点击:
TLC1543的十位AD转换结果通过51单片机怎么传给电脑?
附上AD转换数据的程序:
uint ADC(uchar chn1)
{
uchar i;
uchar m;
uchar addr8; //通道地址
uint ADresult;
AD_eoc=1;
AD_cs=0;
_nop_();
addr8=chn1;
addr8<<=4;
for(i=0;i<4;i++)//通道地址输入至DATAINPUT
{
AD_add=(bit)(addr8&0x80);
AD_clk=1;
AD_clk=0;
addr8<<=1;
}
for(i=0;i<6;i++)
{
AD_clk=1;
AD_clk=0;
}
AD_cs=1;
while(!AD_eoc); //查询到转换结束
_nop_();
ADresult=0;
AD_cs=0; //cs下降沿开始传数据
for(i=0;i<10;i++)
{
AD_clk=1;
ADresult<<=1;
m=AD_dat;
ADresult+=m;
AD_clk=0;
}
AD_cs=1;
return ADresult;
}
附上AD转换数据的程序:
uint ADC(uchar chn1)
{
uchar i;
uchar m;
uchar addr8; //通道地址
uint ADresult;
AD_eoc=1;
AD_cs=0;
_nop_();
addr8=chn1;
addr8<<=4;
for(i=0;i<4;i++)//通道地址输入至DATAINPUT
{
AD_add=(bit)(addr8&0x80);
AD_clk=1;
AD_clk=0;
addr8<<=1;
}
for(i=0;i<6;i++)
{
AD_clk=1;
AD_clk=0;
}
AD_cs=1;
while(!AD_eoc); //查询到转换结束
_nop_();
ADresult=0;
AD_cs=0; //cs下降沿开始传数据
for(i=0;i<10;i++)
{
AD_clk=1;
ADresult<<=1;
m=AD_dat;
ADresult+=m;
AD_clk=0;
}
AD_cs=1;
return ADresult;
}
帮顶
好贴好贴。