久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4150|回復: 1
收起左側

大家好!c8051F的ad采樣,幫我看下程序哪里的設置有問題!

[復制鏈接]
ID:35884 發表于 2012-3-9 09:35 | 顯示全部樓層 |閱讀模式
c51F350 部分程序

#define SYSCLK       49000000             // SYSCLK frequency (Hz)
#define BAUDRATE     57600                 // UART0 Baudrate (bps)
#define MDCLK        2457600              // Modulator Clock (Hz)


void ADC_Buffered(void)
{     
   
    unsigned int i;
  float average;        
         for (i = 0; i < Sampling_times; i++)
          {
          while(!AD0INT);                     
         AD0INT = 0;                          
         ADC_OutputVal = ADC0H;
          ADC_OutputVal =ADC_OutputVal<< 16;
          ADC_OutputVal += (long)ADC0L + ((long)ADC0M << 8);
          sample_array = ADC_OutputVal;
   
        }

        for(i=0;i<Sampling_times;i++)
       {
          average=average+(float)sample_array;
        }

       average=average/(Sampling_times);
    average=average/256/256/256;
    average=average*VREF;
    average=average*2;
     average=average;
    ADC_VIN= (int)average;  
}

void ADC0_Init (void)
{
     unsigned ADC0_decimation;
      REF0CN &= ~0x01;                       // disable internal vref
       // REF0CN |= 0x01;                        // (enable if using internal vref)

      // ADC0CN = 0x00;                         // unipolar output codes, GAIN=1
   ADC0CN = 0x10;                         // Bipolar output codes, GAIN=1
       //ADC0CF = 0x00;                         // interrupts upon SINC3 filter output
                                          // and uses internal VREF
       ADC0CF = 0x04;                         // interrupts upon SINC3 filter output
                                          // and ê1ó?ía2?VREF
   
      ADC0CLK = (SYSCLK/MDCLK)-1;  // Ideally, MDCLK =2.457MHz                                   
                                          // Generate MDCLK for modulator.                       

   // program decimation rate for desired OWR
     ADC0_decimation = (unsigned long) SYSCLK/ (unsigned long) OWR /
                     (unsigned long) (ADC0CLK+1)/(unsigned long)128;
     ADC0_decimation--;

       ADC0DEC = ADC0_decimation;

       ADC0BUF = 0x00;                        // 1?±?ê?è??o3?

     ADC0MUX = 0x0b;                       // 2?·?ê?è?
                                          // AIN+ => AIN0.0
         ADC0DAC = 0x00;
      
         ADC0STA = 0x00;                                 // AIN- => AIN0.1
                                          

//   ADC0MUX = 0x08;      
          ADC0MD |= 0x80;                      // ê1?ü(IDLE Mode)
}
輸入信號進行采樣調制器在頻率的MDCLK / 128.
ADC0CLK 是調制器時鐘分頻系數
為獲得最佳性能,應選擇使調制器時鐘等于2.4576 MHz(調制器采樣速率= 19.2千赫)的分頻系數
系統時鐘分按照公式:
MDCLK=系統時鐘/ (ADC0CLK + 1)


這樣的話 速度應該很快啊 ~  怎么 程序打出來的ADC_VIN 很慢???
知道大神解釋下  為什么呢???
怎么設置才能最快@!@

回復

使用道具 舉報

ID:35884 發表于 2012-3-9 09:37 | 顯示全部樓層

Sampling_times=128的話 采樣速率應該是  19200 Hz啊  實驗結果目測還不到1Hz~  啊啊啊 啊啊啊

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: h免费观看 | 国产一区二区三区色淫影院 | 国产精品视频999 | 三级视频国产 | 一级毛片免费完整视频 | 一级片在线免费看 | 国产一区二区三区在线看 | www.男人天堂.com | 日韩久久久久久 | 成人动慢| 玖玖久久 | 国产精品揄拍一区二区 | 国产区第一页 | 久久久久国产一区二区 | 国产视频一区在线 | 国产日韩一区二区三区 | 天天干天天干 | 午夜av成人 | 日韩中文字幕免费在线 | 美女一区二区在线观看 | 国产精品日日做人人爱 | 欧美九九 | 国产亚洲一区在线 | 久久网亚洲 | 99精彩视频 | 亚洲一区自拍 | 日韩一级二级片 | 日韩欧美手机在线 | xx性欧美肥妇精品久久久久久 | 四虎首页| 国产69久久精品成人看动漫 | 久久九九网站 | 成人免费一区二区三区视频网站 | 久久夜色精品国产 | 一区欧美| 91传媒在线观看 | 九九久久这里只有精品 | 91精品国产91久久久久游泳池 | 午夜国产精品视频 | 国产一级视频免费播放 | 成人精品国产一区二区4080 |