10087-基于单片机的智能燃气灶控制系统设计(仿真+原理图+源代码工程+详细介绍说明书)

10087-基于单片机的智能燃气灶控制系统设计(仿真+原理图+源代码工程+详细介绍说明书)

功能描述:

本次设计的题目是智能燃气灶控制系统。系统需要实现的功能有:防干烧、温度监测、火力调节、语音播报等功能。使用的到的主控制芯片是51单片机;液晶显示器作为系统的显示单元展示控制信息;按键控制气阀大小与防干烧的定时设置;语音播报当前智能燃气灶的火力大小信息;温度传感器检测燃气灶运行时的温度大小,如果温度超过设定温度将关闭气阀保证燃气灶的使用安全,实现智能化。系统完成硬件、软件设计,并通过仿真的方式实现系统的功能测试,完成系统设计。

资料摘要:

燃气灶是家里常用的设备,家里常用的是传统的通过机械阀门控制燃气灶的开关。机械方式开关容易出现老化的问题。在燃气灶使用的时候还会容易忘记燃气灶开着会导致一系列的问题,甚至是火灾的发生。当前的科技已经融入到了生活中的方方面面,已经可以实现智能燃气灶控制系统,保证家庭使用的安全。
本次设计的题目是智能燃气灶控制系统。系统需要实现的功能有:防干烧、温度监测、火力调节、语音播报等功能。使用的到的主控制芯片是51单片机;液晶显示器作为系统的显示单元展示控制信息;按键控制气阀大小与防干烧的定时设置;语音播报当前智能燃气灶的火力大小信息;温度传感器检测燃气灶运行时的温度大小,如果温度超过设定温度将关闭气阀保证燃气灶的使用安全,实现智能化。系统完成硬件、软件设计,并通过仿真的方式实现系统的功能测试,完成系统设计。
在设计中考虑到了系统的定位精度、稳定性、抗干扰能力等,保证设计是一个可以经历市场验证的控制系统。

资料包含:

1、详细设计说明书-17684字
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 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 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--);
}

unsigned char Ds18b20Init()			//温度传感器初始化
{
	unsigned int i;
	DSPORT=0;			 
	i=70;	
	while(i--);
	DSPORT=1;			
	i=0;
	while(DSPORT)	
	{
		i++;
		if(i>5000)
			return 0;
	}
	return 1;
}

void Ds18b20WriteByte(unsigned char dat)	//温度传感器写字节函数
{
	unsigned int i,j;
	for(j=0;j<8;j++)
	{
		DSPORT=0;		
		i++;
		DSPORT=dat&0x01;
		i=6;
		while(i--); 
		DSPORT=1;	
		dat>>=1;
	}
}
unsigned char Ds18b20ReadByte()		  //温度传感器读字节函数
{
	unsigned char byte,bi;
	unsigned int i,j;	
	for(j=8;j>0;j--)
	{
		DSPORT=0;
		i++;
		DSPORT=1;
		i++;
		i++;
		bi=DSPORT;	 

		byte=(byte>>1)|(bi<<7);						  
		i=4;		
		while(i--);
	}				
	return byte;
}


void  Ds18b20ChangTemp()			 //温度传感器获取温度并转换函数
{
	Ds18b20Init();
	delay(1);
	Ds18b20WriteByte(0xcc);		
	Ds18b20WriteByte(0x44);	   

   
}


void  Ds18b20ReadTempCom()			  //读取温度命令
{	

	Ds18b20Init();
	delay(1);
	Ds18b20WriteByte(0xcc);	 
	Ds18b20WriteByte(0xbe);	
}
![请添加图片描述](https://i-blog.csdnimg.cn/direct/16126a4354cc40a990db5d9595f7695d.png)
![请添加图片描述](https://i-blog.csdnimg.cn/direct/5ee830b4d6fd42fdadc1fa86303c748d.png)
![请添加图片描述](https://i-blog.csdnimg.cn/direct/85be89d9bedf4bf4a0cd8d424bfb2f14.png)
![请添加图片描述](https://i-blog.csdnimg.cn/direct/41ab4b505539489580cb6d2c784882a9.png)
![请添加图片描述](https://i-blog.csdnimg.cn/direct/529138f929b840b190508d680e1d57af.png)
![请添加图片描述](https://i-blog.csdnimg.cn/direct/ebc1270482d14b618a19564030d3f9da.png)
![请添加图片描述](https://i-blog.csdnimg.cn/direct/1aed0388d5254f78b8a310b7daecfec3.png)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cqtianxingkeji

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值