⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad.c

📁 多点烟雾,温度探测报警程序 基于MSP430F247,485总线.
💻 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 + -