我用STC12C5628AD带8路AD的单片机,用两个端口采样,我是采完一路,第二路用
uchar adpro1() //AD转化函数
{
ADC_DATA = 0; //清A/D转换结果寄存器
ADC_CONTR = ADC_CONTR|0x08; //0000,1000ADCS = 1,启动转换
delay1(100);
do{
;
}
while((ADC_CONTR&0x10)==0); //0001,0000等待A/D转换结束当adc_flag=0时即在AD转换,条件成立,等于1时不成立,转换结束
if(ADC_FLAG==1)
{
flag_ADC1=1; //设定转化结束标志位
}
ADC_CONTR = ADC_CONTR&0xE7; //1110,0111清ADC_FLAG位,停止A/D转换
return ADC_DATA; //返回数值
}
if(flag_ADC1==1) //一路AD结束标志
{
flag_ADC1=0;,判断一路结束,进行第二路其他采样,这样第二路采样好像没有显示,这里标志位是flag_ADC1,设置的有问题吗? |