📄 4.1.2 滑动平均值滤波.txt
字号:
void interrupt
AD(void)
{
WREG_temp=WREG; //现场保护
STATUS_temp=STAUTS;
ADIF=0; //清除中断标志
if(AD_enable=1) //AD转换次数超过4次?
{
if(count>=8) count=0;
AD_total+=ADgot[count++]; //是,输出滤波结果
AD_result=AD_total/8; //存放在AD_result中
if(count>=8) count=0;
AD_total-=ADgot[count]; //去掉最早AD结果
}
else
{
if(count>=7) AD_enable=1; //最初的8次AD结果
ADgot[count]=ADRESH; //保存AD转换结果
AD_total+=ADgot[count++]; //累加AD转换结果
AD_result=AD_total/8; //计算8次采样AD转换平均结果
AD_total-=ADgot[0]; //去掉最早AD转换结果
}
WREG=WREG_temp;
STATUS=STAUTS_temp; //还原现场
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -