|
请教大侠两个问题:
1.cc2530里面的8051单片机,数据手册里面写的是14位ad采样精度,但是我用单片机才回来的数据,怎么只有12位的精度,如果按照14位算的话正好相差4倍,我的配置检查了几遍应该是正确的。
2.如下面一段程序所示,应该是执行到最后一句,读取ADCH寄存器的时候,ADCCON1.EOC才清零,但是为什么我只运行到了倒数第二步,ADCCON1.EOC 就被清零了。
ADCH &= 0X00; //清EOC标志 清零就是读取
ADCCFG |= 0X80; //通道7采样
ADCCON3=0x37; //0011,0111单次转换,参考电压为内部电压,对P07进行采样,512采样率12位EOB,14位分辨率
ADCCON1 = 0X30; //停止A/D,选择st位置1开始采集。
ADCCON1 |= 0X40; //启动A/D,配合ADCCON1.STSEL使用
while(!(ADCCON1 & 0x80));
temp[1] = ADCL;
temp[0] = ADCH;
上面两个问题,希望各位大侠给予回复,在这里小弟不胜感激。我把主程序列在附件里了,希望有大侠帮忙研究研究。十分感谢。
|
|