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

📄 main.c

📁 本程序主要实现控制单片机对晶体硅的实时控制
💻 C
字号:
//**********************************************************************
//功能		: 电热壶烧水程序
//作者		: lihj
//创建日期	: 2004-06-12
//版本		: V1.0
//修改记录	:
//***********************************************************************
#include "REG51.h"

//系统参数配置
#define  DELTA_T			-20						//沸点偏移量
#define  T_UNIT				10						//温度单位,10表示1摄氏度
#define  BOIL_POINT			1000					//1标准大气压下的沸点
#define  ON					1						//打开电源或者电源处于开状态
#define  OFF				0						//关闭电源或者电源处于关状态

//硬件配置
sbit  POWER_CONTROL=P1^0;							//P1.0口控制电源通断

//外部函数声明
int  GetTemperature(void);							//获取当前温度值

//内部函数声明
void ControlPwr(unsigned char);						//控制电源通断
unsigned char ReadPwrStatus(void);					//读取当前电源状态

//主程序
void main(void)
{
	int i;
	int t;											//测量得到的当前水温

	while(1)
	{
		t = DELTA_T+GetTemperature();				//获取当前测量温度
		if(t >= BOIL_POINT + DELTA_T)				//水已沸腾
		{
			if(ReadPwrStatus() == OFF)				//电源已经关闭
			{
				break;								//跳出while循环
			}
			else
			{
				ControlPwr(OFF);					//关闭电源
				break;								//跳出while循环
			}
		}
		else										//水还没有开
		{
			if(ReadPwrStatus() == OFF)				//电源还没有开
			{
				ControlPwr(ON);						//打开电源
			}
			
			for(i=0; i<20000; i++);					//等待一段时间后开始下一周期
		}
	}

	//完成烧水过程
	while(1);										//待机
}

//获取当前水温
int  GetTemperature(void)
{
	return(800);
}

//控制电源通断
void ControlPwr(unsigned char status)
{
	if(status == ON)
	{
		POWER_CONTROL = 0;							//低电平打开电源
	}
	else
	{
		POWER_CONTROL = 1;							//高电平关闭电源
	}
}

//读取电源通断状态
unsigned char ReadPwrStatus(void)
{
	if(POWER_CONTROL == 0)							//电源处于打开状态
	{
		return ON;
	}
	else											//电源处于关闭状态
	{
		return OFF;
	}
}

⌨️ 快捷键说明

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