基于51单片机烟雾温度检测报警系统设计

这篇具有很好参考价值的文章主要介绍了基于51单片机烟雾温度检测报警系统设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、系统方案
本设计采用52单片机作为主控器,液晶1602显示,DS18B20采集温度,MQ2采集烟雾值,火焰传感器,按键设置报警,声光报警。
基于51单片机烟雾温度检测报警系统设计,单片机,嵌入式硬件

二、硬件设计
原理图如下:
基于51单片机烟雾温度检测报警系统设计,单片机,嵌入式硬件

三、单片机软件设计
1、首先是系统初始化
//
// 1602液晶初始化函数
/
/
void LcdInit()
{
LcdWriteCmd(0x38); // 162显示,57点阵,8位数据口
LcdWriteCmd(0x0C); // 开显示,不显示光标
LcdWriteCmd(0x06); // 地址加1,当写入数据后光标右移
LcdWriteCmd(0x01); // 清屏
}
2、液晶显示程序
//
// 1602液晶写命令函数,cmd就是要写入的命令
/
/
void LcdWriteCmd(uchar cmd)
{
LcdRs_P = 0;
LcdRw_P = 0;
LcdEn_P = 0;
P0=cmd;
DelayMs(2);
LcdEn_P = 1;
DelayMs(2);
LcdEn_P = 0;
}

//
// 1602液晶写数据函数,dat就是要写入的数据
/
/
void LcdWriteData(uchar dat)
{
LcdRs_P = 1;
LcdRw_P = 0;
LcdEn_P = 0;
P0=dat;
DelayMs(2);
LcdEn_P = 1;
DelayMs(2);
LcdEn_P = 0;
}

3、按键程序
//
// 按键扫描
/
/
void KeyScanf()
{
if(Key1_P==0)
{
LcdGotoXY(0,13);
LcdWriteCmd(0x0f); // 显示光标,并闪烁

	/*****烟雾报警值的设置******************************************
	------------------------------------------------------------*/
	DelayMs(10);					// 延时去除按键按下的抖动
	while(!Key1_P);				// 等待按键释放
	DelayMs(10);		   		// 延时去除按键松开的抖动
	
	while(Key1_P!=0)									// 如果按键1按下,那么跳到下一级设置,否则是烟雾报警值的大小设置
	{
		if(Key2_P==0)										// 如果减按键被按下	
		{
			if(gMqAlarm>1)								// 只有gMqAlarm大于1才能减1								
				gMqAlarm--;				
			LcdGotoXY(0,11);							// 液晶光标定位到第0行第11列
			LcdPrintNum1(gMqAlarm);				// 刷新改变后的报警值
			LcdGotoXY(0,13);
			DelayMs(250);									// 延时一下
		}
		
		if(Key3_P==0)										// 如果加按键被按下	
		{
			if(gMqAlarm<100)							// 只有gMqAlarm小于100才能加1
				gMqAlarm++;				
			LcdGotoXY(0,11);							// 液晶光标定位到第0行第11列
			LcdPrintNum1(gMqAlarm);				// 刷新改变后的报警值
			LcdGotoXY(0,13);
			DelayMs(250);									// 延时一下
		}
	}
	
	/*****温度报警值设置******************************************
	------------------------------------------------------------*/
	LcdGotoXY(1,13);			// 光标定位
	DelayMs(10);					// 延时去除按键按下的抖动
	while(!Key1_P);				// 等待按键释放
	DelayMs(10);		   		// 延时去除按键松开的抖动
						
	while(Key1_P!=0)						// 如果按键1按下,则退出设置模式,否则是温度报警值的大小设置
	{
		if(Key2_P==0)										// 如果减按键被按下	
		{
			if(gTempAlarm>-54)						// 只有gTempAlarm大于-54才能减1								
				gTempAlarm--;				
			LcdGotoXY(1,11);							// 液晶光标定位到第1行第11列
			LcdPrintNum2(gTempAlarm);			// 刷新改变后的报警值
			LcdGotoXY(1,13);
			DelayMs(250);									// 延时一下
		}
		
		if(Key3_P==0)										// 如果加按键被按下	
		{
			if(gTempAlarm<125)						// 只有gTempAlarm小于125才能加1
				gTempAlarm++;				
			LcdGotoXY(1,11);							// 液晶光标定位到第0行第11列
			LcdPrintNum2(gTempAlarm);			// 刷新改变后的报警值
			LcdGotoXY(1,13);
			DelayMs(250);									// 延时一下
		}				
	}
	
	/*****退出报警值的设置******************************************
	------------------------------------------------------------*/
	DelayMs(10);					// 延时去除按键按下的抖动
	while(!Key1_P);				// 等待按键释放
	DelayMs(10);		   		// 延时去除按键松开的抖动
	
	
	
	LcdWriteCmd(0x0c);											// 关闭光标
}

}

4、核心算法程序

//
// 报警判断
/
/
void AlarmJudge(uchar dat1, int dat2)
{
/火焰报警判断/
if(Fire_P0)
{
DelayMs(50);
if(Fire_P
0)
{
Led1_P=0;
}
}
else
{
Led1_P=1;
}

/*烟雾报警判断*/
if(dat1>gMqAlarm)
{
	Led3_P=0;
}
else
{
	Led3_P=1;
}

/*温度报警判断*/
if(dat2>gTempAlarm)
{	
	Led2_P=0;
}
else
{
	Led2_P=1;
}

/*蜂鸣器报警判断*/
if((Led1_P==0)||(Led2_P==0)||(Led3_P==0))
	Buzzer_P=0;
else
	Buzzer_P=1;

}

四、 proteus仿真设计
Proteus软件是一款应用比较广泛的工具,它可以在没有硬件平台的基础上通过自身的软件仿真出硬件平台的运行情况,这样就可以通过软件仿真来验证我们设计的方案有没有问题,如果有问题,可以重新选择器件,连接器件,直到达到我们设定的目的,避免我们搭建实物的时候,如果当初选择的方案有问题,我们器件都已经焊接好了,再去卸载下去,再去焊接新的方案的器件,测试,这样会浪费人力和物力,也给开发者带来一定困惑,Proteus仿真软件就很好的解决这个问题,我们在设计之初,就使用该软件进行模拟仿真,测试,选择满足我们设计的最优方案。最后根据测试没问题的仿真图纸,焊接实物,调试,最终完成本设计的作品。
基于51单片机烟雾温度检测报警系统设计,单片机,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-705422.html

到了这里,关于基于51单片机烟雾温度检测报警系统设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 110、基于51单片机智能浇花浇水系统土壤湿度检测温度自动灌溉报警设计(程序+原理图+PCB源文件+原理图讲解+参考论文+开题报告+程序流程图+元器件清单等)

    选题背景及意义 在中国广大面积的农村,没有发达的工商业,有的只是大量闲置的田地。如果利用这些闲置的田地,种植美丽的花卉、树苗,能给当地带来一笔可观的收入。而这些花卉及树苗的种植对土壤湿度,温度有着极高的要求。在植物的成长过程中,土壤的湿度起着一

    2024年02月13日
    浏览(48)
  • 基于51单片机的烟雾温度火灾报警器 LCD1602显示proteus仿真

    设计要求 设计一个简单、实用的基于单片机室内火灾报警系统(模拟机),对火灾的实时、准确监测,快速、自动报警,该系统能自动完成对布测点的火情检测即气体温度、浓度,设定一个温度,由液晶显示屏会看到温度变化,如果超过设定温度就会自动报警,报警形式有声

    2023年04月20日
    浏览(44)
  • 122、仿真-基于51单片机的电量监测电压电流和温度报警系统设计(Proteus仿真+程序+流程图+配套资料等)

    方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字

    2024年02月16日
    浏览(40)
  • 实物设计|基于51单片机的温湿度检测报警系统

    目录 具体实现功能: 设计介绍 51单片机简介 设计方案 资料内容 原理图和PCB(AD19) 仿真实现(protues8.7) 程序(Keil5) 全部资料(压缩文件) 由STC89C51/52单片机+DHT11温湿度传感器+LCD1602液晶显示屏+按键模块+报警模块构成。 具体功能: 1、LCD1602液晶显示,第一行显示当前的

    2024年02月11日
    浏览(48)
  • 【Proteus仿真】【51单片机】温度报警控制系统设计

    本项目使用Proteus8仿真51单片机控制器,使用继电器模块、DS18B20温度传感器模块、LCD1602模块、蜂鸣器、按键模块等。 主要功能: 系统运行后,LCD1602显示DS18B20采集温度值、温度上下限阈值。可通过K1、K2键对温度上限设置,可通过K3、K4键对温度下限设置,若检测温度大于或小

    2024年02月09日
    浏览(40)
  • 33、基于51单片机老人防跌倒蜂鸣器报警系统加速度检测

    背景技术 老年人出门由于身体不灵活、视力较差,容易发生跌倒,现用的老年人跌倒报警装置是通过无线对讲系统研发的,它外观精美,自动化程度高,有很强的专业性,但是,设计者忽略了一个问题,因为大多数老年人使用现代化产品不熟练,随着视力、操作能力的下降,

    2023年04月08日
    浏览(77)
  • 16、基于51单片机智能浇花自动浇水灌溉土壤湿度检测报警系统设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图   五、PCB图 六、Proteus仿真 七、程序源码 八、资料包括 本次盆栽植物自动浇灌系统,系统是用AT89C51单片机作为控制中心,使用YL-69作为土壤湿度传感模块,LC

    2024年02月06日
    浏览(31)
  • 单片机温度检测高温报警系统 汇编语言

    单片机温度检测高温报警系统 实验目的 1 ) 掌握 51 单片机定时器/计数器工作原理与应用; 2 ) 掌握 51 单片机中断系统工作原理与应用; 3 ) 掌握 Keil μ Vision 软件开发环境,汇编语言源程序的编制与调试; 4 )掌握ds18b20温度检测传感器使用方法 5 )掌握单片机拓展总线的

    2024年02月12日
    浏览(39)
  • 0535-基于单片机的温度报警系统设计

    1、采用51/52单片机作为主控; 2、采用18B20传感器检测温度,范围0~99度; 3、采用数码管显示:当前温度值及报警阈值设置; 4、按键可设置温度报警上下限值; 5、当温度低于下限或高于上限温度时,蜂鸣器和LED灯同时报警。 采用Altium Designer作为电路设计工具。Altium Design

    2024年01月24日
    浏览(87)
  • 基于AT89C51单片机的温度检测报警设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87777752?spm=1001.2014.3001.5503 源码获取 主要内容: 基于51单片机设计一个温度检测报警器,至少具有以下功能:温度的检测和超过设定值时的报警功能 基本要求: 1、功能齐全,要配有功能说明;

    2024年02月03日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包