为什么51单片机用tlc549做的AD转换只有5v才有显示,其它都为0,呢
部分程序如下ucharTLC549ADC(void){uchari;ADCdata=0;CS=1;CLK=0;CS=0;_nop_();for(i=0;i<8;i++){...
部分程序如下
uchar TLC549ADC(void)
{
uchar i;
ADCdata=0;
CS=1;
CLK=0;
CS=0;
_nop_();
for(i=0;i<8;i++)
{
CLK=0;
_nop_();
_nop_();
ADCdata<<=1;
ADbit=DAT;
CLK=1;
_nop_();
}
CS=1;
return (ADCdata);
}
void Get_ADC(void)
{
uchar i;
uchar AD_DATA;
for(i=0xff;i>0;i--){_nop_();}
AD_DATA=TLC549ADC();
dis[2]=AD_DATA/100;
dis[1]=(AD_DATA%100)/10;
dis[0]=AD_DATA%10;
}
void display(void)
{
uchar k;
for(k=0;k<3;k++)
{
led_data=table[dis[k]];
led_bit=scan_con[k];
delay1ms(1);
P2=0xff;
}
}
void main()
{
while(1)
{TLC549ADC();
Get_ADC();
display();
}
} 展开
uchar TLC549ADC(void)
{
uchar i;
ADCdata=0;
CS=1;
CLK=0;
CS=0;
_nop_();
for(i=0;i<8;i++)
{
CLK=0;
_nop_();
_nop_();
ADCdata<<=1;
ADbit=DAT;
CLK=1;
_nop_();
}
CS=1;
return (ADCdata);
}
void Get_ADC(void)
{
uchar i;
uchar AD_DATA;
for(i=0xff;i>0;i--){_nop_();}
AD_DATA=TLC549ADC();
dis[2]=AD_DATA/100;
dis[1]=(AD_DATA%100)/10;
dis[0]=AD_DATA%10;
}
void display(void)
{
uchar k;
for(k=0;k<3;k++)
{
led_data=table[dis[k]];
led_bit=scan_con[k];
delay1ms(1);
P2=0xff;
}
}
void main()
{
while(1)
{TLC549ADC();
Get_ADC();
display();
}
} 展开
3个回答
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询