📄 main.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 + -