STC2C2052AD,AD采样有问题,附程序
本帖最后由 5袋苹果 于 2012-7-25 09:24 编辑void Init_ADC(void)
{
P1M0=0x10;
P1M1=0x10;
ADC_DATA=0;
ADC_CONTR=ADC_POWER|ADC_SPEEDHH|0x04;
Delay(2);
ADC_CONTR|=ADC_START; //启动AD转换
_nop_();
_nop_();
_nop_();
_nop_();
}
void GetADCResult(void)
{
if(!(ADC_CONTR & ADC_FLAG)) //AD转换是否完成
{
ADC_CONTR &= ~ADC_FLAG; //清除 AD 转换结束标志位
ADC_CONTR &= ~ADC_START; //Close ADC
if(ch==0) //p14
{
// ch=1;
DataAdcResult0+=ADC_DATA;
if(ADC_DATA>=1)
{
LED2=0;
}
}
// ADC_CONTR|=ch; //0-7 路任意一路
// _nop_(); //Must wait before inquiry //延时4个时钟重要
// _nop_();
// _nop_();
// _nop_();
ADC_CONTR|=ADC_START; //启动AD转换
}
}
main (void)
{
WDT_CONTR=0x3c;
Init_ADC();
while(1)
{
WDT_CONTR=0x3c;
LED1=0;
GetADCResult();
}
}这里只测试P14通道,AD数据寄存器ADC_DATA一直为0,不知道怎么回事,请大家给我找找问题 自己顶到第一页,请指教哪里有问题啊{:dizzy:} STC AD 采集还是比较简单的,而且官方提供程序。 可以下载一个官方,直接修改。。
另外,你的程序应该也是官网的,但是我发现给你改的复杂了。CH 好像对应也不对。。你改得太复杂了。 lyg407 发表于 2012-7-25 18:33 static/image/common/back.gif
STC AD 采集还是比较简单的,而且官方提供程序。 可以下载一个官方,直接修改。。
另外,你的程序应该也是 ...
官方提供的程序开启AD后,一直等待的,太费效率了,我这个是循环检测的,我只测试了p14口,CH不用理会
页:
[1]