访问电脑版页面

导航:老古开发网手机版其他

AD-ARM-2132-003

导读:
关键字:


void GetAdc(unsigned char Chnum)
{
        uint8 i,j;
        uint32 AdcValue[250];
        uint32 AdcSum;
        uint32 AdcTemp;
        AdcSum=0;
        AdcData=0;
        Chnum &= 0x07;                    
        AD0CR = (1 << Chnum)            
        ((Fpclk / 1000000 - 1) << 8)         // CLKDIV=Fpclk/1000000-1,转换时钟为1MHz
        (0 << 16)                             // BURST=0,软件控制转换操作
        (0 << 17)                             // CLKS=0, 使用11clock转换
        (1 << 21)                               // PDN=1,正常工作模式
        (0 << 22)                               // TEST1:0=00,正常工作模式
        (1 << 24)                             // START=1,直接启动ADC转换
        (0 << 27);                             // 直接启动ADC转换时,此位无效
        DelayNS(5);
        AdcData = AD0DR;        // 读取ADC结果,并清除DONE标志位
        AdcData = 0;
        for(i=0;i<250;i++)
        {
            AD0CR = 1 << 24;                    // 进行第一次转换
            while ((ADDR & 0x80000000) == 0);
            AdcValue[i] = (AD0DR &(0x3ff<<6))>>1;

            if(AdcValue[i]>AdcMax)   //保留下最大值
             {
              AdcMax=AdcValue[i];
             }
            if(AdcValue[i]<AdcMin)  //保留下最小值
             {
              AdcMin=AdcValue[i];
             }
           AdcSum+=AdcValue[i];
        }
        AdcResult=(AdcSum-AdcMax-AdcMin)/(250-2);
}

 

来源:   作者:  2006/9/25 16:50:53
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!