本设计:
基于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,不要安装在其他盘上,以免重新配置工具文件路径。
遇到问题先上网查找答案,大部分问题都能在网上找到解决办法。