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

📄 operation.c

📁 STM32实现定时加热
💻 C
字号:
#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"		
#include "delay.h"	
#include "exti.h"
#include "timer.h"
#include "lcd.h"	   
#include "wkup.h"
#include "24cxx.h"
#include "flash.h"
#include "remote.h"
#include "ds18b20.h"
#include "switch.h"
#include "operation.h"
//#include"settimer.h"
//#include"temperature.h"
int Start=0;
short t[10];
void pause_temp()
{	 
     u8 key;
	 Remote_Rdy=0;	
     LCD_Fill(0,100,240,320,WHITE);
	
	 SWITCH1=0;
      while(1)
	{	 
	    
	   if(Remote_Rdy)
	   {	 
	       key=Remote_Process();
		   if(key==24)
		   {
		   LCD_Fill(0,160,240,320,WHITE);
		   LCD_ShowString(80,160,"starting");
		   SWITCH1=1;
		    delay_1s(2);
			break;
		   }
		   else 
		   {
		   		LCD_ShowString(60,180,"unuseful operation!");
				delay_1s(2);
				LCD_Fill(0,180,240,320,WHITE);						    
		   }
		}
	     else
	       LCD_ShowString(80,160,"Pausing");
	}
}
//开始加温
void start_temp()
{	 
     
    // LCD_Fill(0,100,240,320,WHITE);//加上总闪屏,原因参数不对
	 SWITCH1=1;
	 Start=1;
     LCD_ShowString(80,300,"starting");	
    delay_ms(200);
  //  delay_ms(100);  
}  
//停止加温
void stop_temp()
{	 
    // LCD_Fill(0,300,240,320,WHITE);
	 SWITCH1=0;
     LCD_ShowString(80,300,"stopping");
	 delay_ms(200);	
	 //delay_ms(100);  
}  
//高温警告
void warn_temp()
{	 
     
     //LCD_Fill(0,100,240,320,WHITE);
	 WARN=1;
     LCD_ShowString(80,300,"WARNING ");
	// delay_ms(100); 	  
} 
void temp_filter_init() //	 temp_filter_init()定义为被系统认为与temp_filter()重复
{
	int i;
	delay_ms(500);	
    for(i=0;i<10;i++)  //滤波初始化
	{
		t[i]=DS18B20_Get_Temp();
	}	
}
//完成滤波功能
//主要利用限幅减少偶然误差,平均值减少系统误差
short temp_filter()
{	
	int i;
	long sum=0;
	for(i=0;i<10;)
	{
 	t[i]=DS18B20_Get_Temp();
	if(i==0&&(t[0]+N>t[9])&&(t[0]-N<t[9]))
	{
		sum+=t[i];
		i++;
	}
	if((i!=0)&&(t[i]+N>t[i-1])&&(t[i]-N<t[i-1])) //  在+-5度认为是正常范围
		{
		sum+=t[i];
		i++;
		}
	}
	return (sum/10);
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -