📄 ad.c
字号:
#include<msp430x24x.h>
#include"AD.h"
/************************************
函数名称:
功 能:AD初始化
参 数:
返 回 值 :
*************************************/
void AD_Init(void)
{
P6SEL = 0x01; //使能P6为ADC
ADC12CTL0= ADC12ON+SHT0_8+MSC; //打开ADC,设置采样时间
ADC12CTL1 = SHP+CONSEQ_2; //单通道多次循环模式
ADC12IE = 0x01; //使能ADC12IFG.0
ADC12CTL0 |=ENC; //使能转换
}
/************************************
函数名称:Filter
功 能:中值滤波
参 数:整型数组
返 回 值 :无符号整型
*************************************/
unsigned int AD_Filter(unsigned int results[Num_of_results])
{
int i,j;
unsigned long int SUM=0;
unsigned int t;
float AVERAGE;
for(i=0;i<Num_of_results;i++)
{
t=results[i]; // 冒泡法
for(j=(i+1);j<Num_of_results;j++)
{
if(t<results[j])
{
results[i]=results[j]; // 交换位置
results[j]=t;
}
t=results[i]; //
}
}
for(i=1;i<(Num_of_results-1);i++)
{
SUM=SUM+results[i];
}
AVERAGE=SUM/(Num_of_results-2); // 取平均值
t=(unsigned int)AVERAGE;
return (t);
}
//----------------------滤波处理取均值------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -