微孔雾化片单片机自动调整中心频率原理图和软件

更新时间:2023-09-23 07:19:01 阅读量: 人文社科 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

/****************扫频函数************* FileName:Frepuecy_Sweep.c ProjectName: FunctionDesc: CreateDate: Version: Author:

ModifyHistory: Remark:

5ms执行一次

*****************包含头文件**********************/ #include \#include \

#include \#include \

/*****************定义全局变量*******************/

/*****************声明全局变量*******************/ extern bit B_Moistrue;

extern u8 r_adc1,r_adc2,r_adc3; bit B_SF_OK;//是否已经扫过频标志

/*******************定义常量*********************/ #define PWM1_DUTY_MIN 3u #define PWM1_DUTY_MAX 253u #define PWM1_CURRENT_MIN 10u //#define M1_Stop_500ms_Set_Value 100u

/*****************IO口重定义*********************/ /*******************函数定义*********************/ /*******************Frepuecy_Sweep function******/

//扫频思路:求取AD值最大的5的占空比的值取最小值做为中心频率可抗四次大的干扰 void Frequency_Sweep(void) {

static uint8_t PWM1_Duty,Temp1,Temp2,Temp3; static uint8_t PWM1_Duty_OK; if(B_Moistrue) { if(B_SF_OK == 0) //扫频位完成 { if (PWM1_Duty < PWM1_DUTY_MAX) //加暂空比 { PWM1_Duty++; PWM1_Duty_Update(PWM1_Duty); Temp3 = Temp2;

电流

}

Temp2 = Temp1; if(r_adc1 < r_adc2) { Temp1 = r_adc1; r_adc1 = r_adc2; r_adc2 = Temp1; }

if(r_adc2 < r_adc3) { Temp1 = r_adc2; r_adc2 = r_adc3; r_adc3 = Temp1; }

if(r_adc1 < r_adc2) { Temp1 = r_adc1; r_adc1 = r_adc2; r_adc2 = Temp1; //三个数排大小,r_adc2为中间值

}

Temp1 = r_adc2; if(Temp3 >= Temp2) { if(Temp2 >= Temp1) //连续递减

{ if(Temp1 < Temp3) // 并且第1次比第3次大

{

if( Temp1 >= PWM1_CURRENT_MIN ) //并且都有一定

{

PWM1_Duty_OK = (PWM1_Duty-2); B_SF_OK = 1; } } } } } else { if(B_SF_OK == 0) //没扫到重来 { PWM1_Duty = 3; } }

}

else { static uint8_t Tempa; Tempa++; if(Tempa == 1) PWM1_Duty_Update(PWM1_Duty_OK+1); else if(Tempa == 2) PWM1_Duty_Update(PWM1_Duty_OK+2); else { Tempa = 0; PWM1_Duty_Update(PWM1_Duty_OK); } } } else { B_SF_OK = 0; PWM1_Duty_OK = PWM1_DUTY_MIN; PWM1_Duty_Update(PWM1_DUTY_MIN); PWM1_Duty = PWM1_DUTY_MIN; Temp1 = 0; Temp2 = 0; Temp3 = 0; }

本文来源:https://www.bwwdw.com/article/pq9d.html

Top