合泰單片機AD采集濾波程序


/************************************************************** 函數名稱:NtcAD_Testing() 函數功能:溫度傳感器采樣函數 入口參數: 出口參數:Flag_Ntc_OneAd,AdResult 備 注:采樣NTC的AD值,采樣6次,去掉最大及最小求算術平均值 **************************************************************/ void NtcAD_Testing(unsigned char i) { //static volatile unsigned char admin,admax,adtimes; //static volatile unsigned int adsum; //static volatile bit Flag_ADFrist; if(Flag_AD&&ADIF) { Flag_AD=0; if(!Flag_ADFrist) { admax = ADRESH; admin = ADRESH; Flag_ADFrist=1; } else if(ADRESH > admax) admax = ADRESH; //AD采樣最大值 else if(ADRESH < admin) admin = ADRESH; //AD采樣最小值 adsum += ADRESH; if(++adtimes >= 6) { adsum -= admax; adsum -= admin; AdResult = adsum >> 2; //8次平均值作為最終結果 Flag_ADFrist=0; if(admax>(admin+20)) { //最大值及最小值差20個8BITAD則當前采樣數據作廢 adsum = 0; admin = 0; admax = 0; adtimes = 0; } else { adsum = 0; admin = 0; admax = 0; adtimes = 0; ADnex++; Flag_Ntc_OneAd=1; } } } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM