8051C226 A/D 初始化采样问题
各位高手,我想要写一个程序来激发A/D从ADC0H里面拿数据出来。所以我在AIN1和GND中间加了电压从而测试它的准确性。这个是用8051C226.但是,我拿到的数据不准确。大家可以帮我看下哪里出错了吗?
提前先谢了各位高手了。
#include<c8051f200.h>
#define SYSCLK 2000000
void PORT_Init (void)
{
P0MODE = 0xfd; //选择 P0.1为模拟输入
}
void ADC_Init(void)
{
AMX0SL = 0x21; //选择 P0.1(AIN1)输入端
REF0CN = 0x03; // VDD 参考电压
ADC0CF = 0x00; //SAR = 1 system clock, gain = 1
ADC0CN = 0xe0; //采用ADBUSY=1后的3个SAR开转换
}
void main (void) {
//关看门狗
WDTCN = 0xde;
WDTCN = 0xad;
PORT_Init (); //端口初始化
ADC_Init(); //A/D初始化
ADBUSY = 1;
ADCINT = 0;
do{
}while (ADC0CN^5 == 0); //直到ADCINT = 1后停止转换
}