ad.c
来自「多点烟雾,温度探测报警程序 基于MSP430F247,485总线.」· C语言 代码 · 共 55 行
C
55 行
#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 + =
减小字号Ctrl + -
显示快捷键?