加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告)

07/01 09:15
927
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
相关方案
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

本设计:
基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告)
Proteus仿真版本:proteus7.8
原理图:Altium Designer
程序编译器:keil 4
编程语言:C语言
编号C0017

腾讯文档】C0017 网盘链接
https://docs.qq.com/doc/DS3JiakhvUFJneHFL

整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。
1.烟雾采集传感器选用MQ-2,由于该传感器输出的是模拟信号,因此需要模数转换芯片ADC0832,把模拟信号转为数字信号再传给单片机;
2.温度采集使用DS18B20数字传感器,该传感器通过单总线和单片机相连;
3.火焰检测使用火焰检测模块,该模块完成了信号的检测、放大、比较等处理,最终输出高低电平信号给单片机;
4.显示设备使用1602液晶,可以在屏幕上显示实时烟雾浓度值、温度值,以及报警值等信息;
5.报警模块则采用蜂鸣器和LED灯组成,三个LED分别代表了火焰报警指示、烟雾报警指示和温度报警指示,无论哪个检测元素超标,蜂鸣器都会鸣叫报警;
6.3个按键作为操作输入设备,可以用来调节报警阈值的大小;
7.供电采用常用的USB 5V进行供电。
在这里插入图片描述

仿真图(提供源文件):
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

原理图(提供源文件):
在这里插入图片描述

源程序(提供源文件):

void main(void)		    
{
	int   temp;									// 保存温度值
	uchar num;									// 保存烟雾值
	uchar i;										// 循环变量
	
	LcdInit();				    			// 液晶功能初始化
	LcdShowInit();							// 液晶显示内容初始化
	
	gMqAlarm=EEPROM_Read(0x2000);						// 从EEPROM中读取报警值
	if((gMqAlarm==0)||(gMqAlarm>100))				// 如果读出来数据异常,则重新赋值30
		gMqAlarm=30;
	LcdGotoXY(0,11);												// 光标定位
	LcdPrintNum1(gMqAlarm);									// 显示烟雾浓度的报警值
	
	gTempAlarm=EEPROM_Read(0x2001)-55;			// 将温度报警值读取出来
	if((gTempAlarm<=-55)||(gTempAlarm>125))	// 如果读出来数据异常,则重新赋值40度
		gTempAlarm=40;
	LcdGotoXY(1,11);												// 光标定位
	LcdPrintNum2(gTempAlarm);								// 显示温度的报警值
	
	while(DS18B20_ReadTemp()==85)						// 等待传感器初始化完成
	{
		DelayMs(10);
	}
	
	while(1)
	{
		num=Get_ADC0832();				// 获取烟雾的浓度值
		num=num/2.2;							// 调整浓度值,使其在0-100之间变化
		if(num>100)
			num=100;
		LcdGotoXY(0,5);						// 液晶光标定位到第0行第5列
		LcdPrintNum1(num);				// 显示烟雾浓度的值
		
		temp=DS18B20_ReadTemp();	// 读取温度值
		LcdGotoXY(1,5);						// 液晶光标定位到第1行第5列
		LcdPrintNum2(temp);				// 显示温度值
		
		AlarmJudge(num,temp);			// 报警判断
		
		for(i=0;i<15;i++)					// 执行15次循环(延时0.15秒,并在这个时间段进行按键扫描)
		{
			KeyScanf();							// 按键扫描
			DelayMs(10);						// 延时
		}
	}
}

论文/报告:
在这里插入图片描述

资料清单如下:
在这里插入图片描述

温馨提示:
1、拿到压缩包文件之后先解压,再运行!!压缩名称带有特殊符号的,要把特殊符号删除再解压,例如⭐;

2、单片机芯片是通用的,无论51还是52、无论stc还是at都一样,引脚功能都是一样的,程序也是一样的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片;

3、仿真原理图和硬件原理图会有着些许区别,如果要做硬件请参照硬件原理图,硬件原理图中的. Sch .pcb等格式要用altium designer 打开;

4、如果没有装KEIL软件:.c .h结尾的文件即为程序,可以选择记事本、Notepad++、Source Insight 4.0、或其他C语言软件打开,打开的就是程序了。其他后缀的文件是写程序编译时自动生成的,没什么用的,不用管;

5、仿真时请打开“.pdsprj”工程文件或“.DSN”工程文件,“.pdsprj”是proteus8版本画的,“.DSN”是proteus7版本画的,版本是向上兼容的,理论上proteus8可以打开“.DSN”工程文件,proteus7打不开“.pdsprj”工程文件;

6、后缀.hex结尾的文件为烧录文件,仿真时一定要记得烧录程序(.hex)。

注:
请大家将keil安装在默认路径,C:Keil,不要安装在其他盘上,以免重新配置工具文件路径。
遇到问题先上网查找答案,大部分问题都能在网上找到解决办法。

  • 设计资料获取联系方式.doc

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
MK70FX512VMJ15 1 Freescale Semiconductor Kinetis K 32-bit MCU, ARM Cortex-M4 core, 512KB Flash, 150MHz, Graphics LCD, MAPBGA 256

ECAD模型

下载ECAD模型
$17.99 查看
ATMEGA128A-AUR 1 Microchip Technology Inc IC MCU 8BIT 128KB FLASH 64TQFP

ECAD模型

下载ECAD模型
$7.69 查看
AT89C51CC03CA-RDTUM 1 Microchip Technology Inc IC MCU 8BIT 64KB FLASH 64VQFP
$8.65 查看

相关推荐

电子产业图谱