×
单片机 > 单片机程序设计 > 详情

滑动窗口均值滤波用于avr单片机AD转换

发布时间:2020-05-27 发布时间:
|

 

 程序代码:

/*

程序功能:用单片机内部AD实现外部电压转换为数字信号

作者:朱波

时间:2012年1月14日

AD工作流程:1.配置引脚为不带上拉电阻的输入

   2.进行ADC多工选择寄存器(ADMUX)的设置(参考电压的选择和输入通道、增益的选择)

3.进行ADC控制和状态寄存器A(ADCSRA) 的设置(使能AD)

4.进行ADC控制和状态寄存器A(ADCSRA) 的设置(启动AD)

5.进行查询设置(转换完成后跳出循环)

6.进行ADC数据寄存器(ADCL、ADCH)的设置

7.返回AD转换结果

完整程序源代码下载:http://www.51hei.com/f/hdjz.rar

滑动窗口均值滤波函数应用的注意事项: Aver_Voltage(mega16_ad())函数的应用和

#define ADC_BUFF_SIZE_BIT_COUNT 5

    #define ADC_BUFF_SIZE (1<

#include

#define uchar unsigned char

#define uint unsigned int

#define ADC_BUFF_SIZE_BIT_COUNT 6

#define ADC_BUFF_SIZE (1<>ADC_BUFF_SIZE_BIT_COUNT;//用移位的方式做除法,计算平均值

s_cBufferCounter++;

if(s_cBufferCounter==ADC_BUFF_SIZE)

  s_cBufferCounter=0;

return Aver_Volt;

}

void main()

{

  uint ada,i,ad[4];

while(1)

{

   //ada=mega16_ad();

  Aver_Voltage(mega16_ad());

  for(i=0;i<4;i++)

  {

    ad[3-i]=Aver_Volt%10;

Aver_Volt=Aver_Volt/10;

  }

  for(i=0;i<4;i++)

  {

   show(ad[i],i);

 delay(2);

  

  }

   } 

}
关键字:滑动窗口  均值滤波  avr单片机  AD转换

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向