10086-基于单片机的智能燃气灶控制系统设计热电偶/煤气泄露/防干烧(仿真+原理图+源代码工程+详细介绍说明书)
10086-基于单片机的智能燃气灶控制系统设计热电偶/煤气泄露/防干烧(仿真+原理图+源代码工程+详细介绍说明书)
功能描述:
本次设计的题目是智能燃气灶控制系统。系统需要实现的功能有:煤气泄露监测,防干烧、温度监测、火力调节、语音播报等功能。使用的到的主控制芯片是51单片机;液晶显示器作为系统的显示单元展示控制信息;按键控制气阀大小与防干烧的定时设置;语音播报当前智能燃气灶的火力大小信息;温度传感器检测燃气灶运行时的温度大小,如果温度超过设定温度将关闭气阀保证燃气灶的使用安全,实现智能化。系统完成硬件、软件设计,并通过仿真的方式实现系统的功能测试,完成系统设计。
资料摘要:
燃气灶是家里常用的设备,家里常用的是传统的通过机械阀门控制燃气灶的开关。机械方式开关容易出现老化的问题。在燃气灶使用的时候还会容易忘记燃气灶开着会导致一系列的问题,甚至是火灾的发生。当前的科技已经融入到了生活中的方方面面,已经可以实现智能燃气灶控制系统,保证家庭使用的安全。
本次设计的题目是智能燃气灶控制系统。系统需要实现的功能有:防干烧、温度监测、火力调节、语音播报等功能。使用的到的主控制芯片是51单片机;液晶显示器作为系统的显示单元展示控制信息;按键控制气阀大小与防干烧的定时设置;语音播报当前智能燃气灶的火力大小信息;温度传感器检测燃气灶运行时的温度大小,如果温度超过设定温度将关闭气阀保证燃气灶的使用安全,实现智能化。系统完成硬件、软件设计,并通过仿真的方式实现系统的功能测试,完成系统设计。
在设计中考虑到了系统的定位精度、稳定性、抗干扰能力等,保证设计是一个可以经历市场验证的控制系统。
资料包含:
1、详细设计说明书-18959字
2、仿真工程文件
3、原理图工程文件
4、源代码工程文件
5、流程图
6、任务书
#include<reg52.h> //头文件
#include<intrins.h>//头文件
#include <stdlib.h> //包含产生随机数用到的rand()函数。
#include <stdio.h> // 为使用KEIL自带的库函数printf而加入
#define FOSC 11892396L //System frequency
#define BAUD 9600 //UART baudrate
void UART_init(void);
void printf_char_int_long(void);
void printf_float(void);
void printf_String(void);
#define uint unsigned int //宏定义
#define uchar unsigned char//宏定义
#define datlcd P0
sbit lcdrs = P2^0; //液晶读
sbit lcdrw = P2^1; //液晶写
sbit lcden = P2^2;//液晶选择
sbit k1=P1^1; //设置
sbit k2=P1^2; //加
sbit k3=P1^3; //减
sbit k4=P1^4; //开关
sbit k5=P1^5; //火力强
sbit k6=P1^6; //火力弱
sbit led1=P2^3; //火力大小
sbit led2=P2^4;
sbit led3=P2^5;
sbit led4=P2^6; //工作指示灯
sbit max_so =P1^1;//ADC引脚
sbit max_sck=P1^2;
sbit max_cs =P1^3;
uchar time=0;
uint limit=100;//阀值
float wendu=0;//温度
//-20,0 60,33c
//最高位是符号 TCN
uint max_read()
{
uchar i;
uint k=0;
float wen=0;
max_sck=0;
k=0;
_nop_();
max_cs=0;
for(i=0;i<16;i++)
{
max_sck=1;
_nop_();
if(max_so)
k++;
max_sck=0;
k<<=1;
_nop_();
}
max_cs=1;
k>>=3;
return k;
}
//延时
void delay2(uint i)
{
while(i--);
}
sbit DSPORT=P1^0;
int Ds18b20ReadTemp();
int DS_temp;
float tp;
char shi,fen=1,miao=10,num1;
char shi1,fen1=1,miao1=10;
uchar flag,gqflag; //关气标志位
uchar yushe_meiqi = 100; //yushezhi
sbit BUZZER = P3^4;
uchar meiqi; // adc read
uchar i,j,ii,jj;
uchar khflag; //开火标志位
void Delay1(uint j)
{
uchar i;
for(;j>0;j--)
{
for(i=0;i<27;i++);
}
}
void Delay_10us(void)
{
uchar i;
i--;
i--;
i--;
i--;
i--;
i--;
}
void delay(uint xms) //延时
{
uint xx,yy;
for (xx=xms;xx>0;xx--)
for(yy=110;yy>0;yy--);
}






作者:叫我Eric