注册 登录
编程论坛 单片机编程

8051C226 A/D 初始化采样问题

qllqllqll 发布于 2011-06-23 10:32, 522 次点击
各位高手,

我想要写一个程序来激发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后停止转换
}
0 回复
1