1.算數平均值濾波
void interrupt
ad(void)
wreg=wreg_temp;
status=stauts_temp; //還原現場
}ad轉換的主程式:
void main(void)
2.滑動平均值濾波
void interrupt
ad(void)
else
wreg=wreg_temp;
status=stauts_temp; //還原現場
}
3.防脈衝干擾平均值濾波
void interrupt
ad(void)
else if(ad_temp=8) //取樣次數是否達到8次?
wreg=wreg_temp;
status=stauts_temp; //還原現場
}
4.中值濾波
void interrupt
ad(void)
ad_result=adgot[2]; //把最中間的取樣結果作為最後ad轉換結果
//即5個數當中的第3個,從0到4的下標號為2
count=0; //計數器清零
}wreg=wreg_temp;
status=stauts_temp; //還原現場
}
5.一階滯後濾波
void interrupt
ad(void)
滑動平均濾波c語言 基本C語言濾波演算法
11種軟體濾波方法的示例程式 假定從8位ad中讀取資料 如果是更高位的ad可定義資料型別為int 子程式為get ad 1 限副濾波 a值可根據實際情況調整 value為有效值,new value為當前取樣值 濾波程式返回有效的實際值 define a 10 char value char filt...
C語言 結構體定義的幾種方式
c語言 結構體定義的幾種方式 若struct後面接的是名字,則其為該結構體的名稱。第一種是最基本的結構體定義,其定義了乙個結構體a。struct a 第一種 第二種則是在定義了乙個結構體b的同時定義了乙個結構體b的變數m。struct b 第二種 m 第三種結構體定義沒有給出該結構體的名稱,但是定義...
幾種簡單的C語言排序方式(2)
原理 取排序數的其中乙個元素 哨兵 從左右兩邊開始遍歷,左邊找到大於 或小於 哨兵元素的記錄,右邊找到小於 或大於 哨兵元素的記錄,將他倆進行交換。每次得到左邊全都小於 或大於 哨兵元素的序列,右邊得到全都大於 或小於 哨兵元素的序列,遞迴之後得到最後排序 void quick sort int a...