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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

用于STC單片機內置10位AD轉換的代碼+【軟件濾波】

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年07月30日   【字體:

上面這段GetADCResult()是原來的AD采集,沒什么變化,看看就行了
GetResult()這個是軟件濾波的,10位AD的之前弄濾波總出錯,今天剛弄好。
關鍵在于(unsigned long)(),不加這個就總出錯!計算過程中溢出,感覺好像是計算時自動降位了
 

ulong GetADCResult(uchar ch)
{
ulong AD_result;
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
    _nop_();                        //Must wait before inquiry
    _nop_();
    _nop_();
    _nop_();
    while (!(ADC_CONTR & ADC_FLAG));//Wait complete flag
    ADC_CONTR &= ~ADC_FLAG;         //Close ADC
AD_result=ADC_RES*4+ADC_RESL; 

    return   AD_result;             //Return ADC result 10bit
}
ulong GetResult(uchar ch)  //濾波段
{
ulong AD_result=0,AD_result1=0;
ulong AD_max,AD_min,AD_temp;
char AD_i,AD_o;

for(AD_i=0;AD_i<4;AD_i++)
{
AD_min=AD_max=GetADCResult(ch);
AD_result=0;
for(AD_o=0;AD_o<8;AD_o++)
{
AD_temp=GetADCResult(ch);
if(AD_temp<AD_min){AD_result =(unsigned long)(AD_result + (unsigned long)AD_min); AD_min=AD_temp;}
  else
   if(AD_temp>AD_max){AD_result =(unsigned long)(AD_result + (unsigned long)AD_max); AD_max=AD_temp;}
      else 
    AD_result =(unsigned long)(AD_result + (unsigned long)AD_temp);
  }
AD_result=(unsigned long)(AD_result/8);

AD_result1=AD_result1+ (unsigned long)(AD_result); 
}
AD_result1=(unsigned long)(AD_result1/4);

return   AD_result;             //Return ADC result 10bit
}

方法是基于:去除最大最小值后平均。共采樣了33次去掉9個后的結果平均值,我自己做電壓表,速度足夠!如果嫌慢的話可以把AD_i<4中的這個4改小點或者把這個循環去掉。

關閉窗口

相關文章

主站蜘蛛池模板: 国产韩国精品一区二区三区 | 在线观看亚洲专区 | 日韩精品一区二区三区免费视频 | 国产精品久久二区 | 手机看片1 | 欧美日韩在线一区 | 久久午夜精品福利一区二区 | 久久精品欧美一区二区三区不卡 | 成人18亚洲xxoo | 欧产日产国产精品视频 | 91精品国产91久久久久久密臀 | 亚洲第一中文字幕 | 人妖一区 | 国产精品免费在线 | 久久久久久久久久久国产 | 国产在线视频在线观看 | 91www在线观看| 国产一区在线免费 | 草久久久 | 久久综合久久自在自线精品自 | 日韩欧美在线视频 | 欧美另类视频 | 九一精品 | 天天干视频 | 午夜成人免费视频 | av片免费| 国产精品毛片久久久久久 | 中文字幕日韩一区 | 欧美不卡一区二区三区 | 国产97碰免费视频 | 国产精品一区二区免费看 | 黄色免费av| 久久免费精品视频 | 欧美成年人网站 | 欧美视频 亚洲视频 | 国产婷婷色综合av蜜臀av | 欧美日韩三级视频 | 婷婷狠狠 | av大片 | 国产黄色小视频在线观看 | 国产欧美精品区一区二区三区 |