【毕业设计】52-基于单片机的车厢智能烟雾报警器设计与仿真(原理图_仿真_配套设计文档_PPT_流程图_外文翻译)

【毕业设计】52-基于单片机的车厢智能烟雾报警器设计与仿真(原理图/仿真/配套设计文档/PPT/流程图/外文翻译)

设计说明书

摘要

现在科技进步迅速,人们对于车辆及交通工具的使用越发增多。但是随着车辆以及人流量的增加也会伴随着交通事故的发生。需要在交通估计以及车辆车厢中安装烟雾报警装置防止火灾出现危及人们的出行安全以及财产。
本文题目车厢智能烟雾报警器设计与Proteus仿真设计,通过对系统的研究掌握系统实际应用中的特点,并对烟雾报警检测的方案分析,确认系统的研究方向以及系统组成框架。确认系统选择使用单片机STC89C52作为主要控制器件、MQ-2烟雾报警器、LCD1602作为系统的显示器单元、模数转换器ADC0832作为传感器的数据采集转换单元。对系统的各部位的驱动电路设计,单片机最小系统、电源模块电路、按键电路、LED指示灯电路、LCD液晶显示器电路、烟雾检查模块电路、蜂鸣器电路最后绘制系统的总电路图完成系统的硬件电路设计。使用编程软件Keil搭建系统的软件工程系统,使用仿真软件Proteus搭建系统的仿真电路,并测试系统的硬件稳定性验证硬件电路的可靠性。将Keil软件编译后的HEX文件导入到仿真软件中运行开始仿真,测试系统完成了烟雾报警的功能、并且可以通过按键对系统的报警阈值进行设定使系统的灵活性更高。
本次设计车厢智能烟雾报警器设计与Proteus仿真完成了预期功能,并且实现了硬件的稳定性可靠性验证。对系统进行充分的功能测试满足了系统的功能性。符合车辆车厢的使用场景。
链接

设计框架架构

在这里插入图片描述

第一章 绪 论 1
第一节 研究背景 1
第二节 国内研究现状 2
第三节 国外研究现状 2
第四节 本文的主要研究内容 3
第五节 本章小结 4
第二章 烟雾报警检测系统方案设计 5
第一节 系统功能分析 5
第二节 系统硬件总框图 6
第三节 系统主要元器件选型 6
一、单片机选型 6
二、显示器选型 7
第四节 本章小结 8
第三章 烟雾浓度检测系统硬件电路设计 9
第一节 主控制器最小系统设计 9
第二节 电源模块设计 12
第三节 按键电路模块设计 12
第四节 LED显示模块电路设计 12
第五节 LCD液晶显示模块电路设计 13
第六节 烟雾检测模块电路设计 14
第七节 蜂鸣器报警模块电路设计 15
第八节 系统总电路图设计 16
第九节 本章小结 16
第四章 烟雾浓度检测系统的软件设计 17
第一节 软件开发工具介绍 17
第二节 软件总架构设计 19
第三节 按键模块程序设计 20
第四节 LCD液晶显示模块程序设计 21
第五节 烟雾浓度检测模块程序设计 22
第六节 蜂鸣器报警及LED模块程序设计 23
第七节 本章小结 24
第五章 烟雾浓度检测系统的仿真实现 25
第一节 仿真开发工具介绍 25
第二节 仿真电路搭建及调试 26
第三节 系统仿真测试 28
一、仿真前准备 28
二、报警功能测试 29
三、阈值调节功能测试 30
第三节 本章小结 31
总 结 33
致 谢 34
参考文献 35
附 录 37
一、英文原文 37
二、英文翻译 44
三、系统原理图 50
四、源程序 51

设计说明书及设计文件

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

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

源码展示

在这里插入图片描述

/*此处的蜂鸣器是NPN型的*/
#include "reg52.H"
#include "1602.h"
#include "ADC0832.h"
#define uchar unsigned char
#define uint  unsigned int
//#include "eeprom52.h"
//声明常量
#define ALCH       80       //报警值
//K_MG_MV和K_ZERO为传感器校准系数,要根据每个MQ-3模块校准
#define K_MG_MV    80/160  //传感器灵敏度系数
#define K_ZERO     20      //传感器零点漂移
//定义按键
sbit Key_Up = P3^6;
sbit Key_Down = P3^7;
//定义LED报警灯
sbit Led_Warn1 = P3^4;
sbit Led_Warn2 = P3^5;
sbit beep=P1^4;		   //蜂鸣器IO口
//定义标识
volatile bit FlagStartAL = 0;  //开始转换标志
volatile bit FlagKeyPress = 0; //有键弹起标志
//全局变量定义
uchar Threshold;	           //烟雾浓度上限报警值
uint  ALCounter;                //烟雾转换计时器
long   ALValue;                   //烟雾测量值
float ALtemp;                    //计算临时变量
uchar n;
uint keyvalue, keyUp, keyDown; //键值
char * pSave;                  //EEPROM存盘用指针
//函数声明
void Data_Init();
void Timer0_Init();
void Port_Init();
void ADC_Init();
uchar GetADVal();
void KeyProcess(uint );
void DELAY(unsigned int t)
{
	while(t!=0)
	t--;
}
//数据初始化
void Data_Init()
{
   ALCounter = 30;
   ALValue = 0;
   Led_Warn1 = 1;
   Led_Warn2 = 2;
   keyvalue = 0;
   keyUp = 1;
   keyDown = 1;
}
void di()
{
   beep = 0;
   DELAY(500);
   beep = 1;
}
void Timer0_Init()
{
	ET0 = 1;        //允许定时器0中断
	TMOD = 0x01;       //定时器工作方式选择
	TL0 = (65536-2000)%256;
	TH0 = (65536-2000)/256;     //定时器赋予初值
	TR0 = 1;        //启动定时器
}
//定时器0中断
void Timer0_ISR (void) interrupt 1 using 0
{
	TL0 = (65536-2000)%256;
	TH0 = (65536-2000)/256;     //定时器赋予初值
	//每1秒钟启动一次AD转换
    ALCounter ++;
    if (ALCounter >= 500)
    {
       FlagStartAL = 1;
	   ALCounter = 0;
    }
}

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
51单片机是一种常用的微控制器,具有广泛的应用领域。 DS18B20是一种数字温度传感器,具有高精度、数字输出、单总线接口等特点。Proteus是一种虚拟电路设计仿真软件,能够帮助我们验证电路的功能和性能。 要设计一个可调上下限的温度报警器,我们可以使用51单片机与DS18B20传感器进行连接,并在Proteus中进行仿真。 首先,将DS18B20传感器的VCC引脚(3.3V或5V)、GND引脚(地)和DQ引脚(数字接口)分别连接到51单片机的对应引脚上。然后,在Proteus中导入51单片机的库文件,并绘制出相应的电路。 接下来,我们可以使用51单片机的GPIO口读取DS18B20传感器的温度数据,并将其与预设的上下限进行比较。如果温度超过设定的上限或低于设定的下限,可以设置51单片机的某个引脚输出高电平,触发报警器。 为了实现可调的上下限,我们可以通过外部电位器或软件编程的方式,来调节报警器的温度阈值。可以选择将电位器与51单片机的某个模拟输入引脚相连,通过读取电位器的电阻值来调节阈值。或者在程序中通过用户界面,设置上下限的数值并存储在非易失性存储器中。 最后,我们可以在Proteus中进行仿真测试,输入不同的温度值,观察51单片机的输出状态和报警器是否正常工作。 通过以上步骤,我们可以在Proteus中设计一个可调上下限的51单片机DS18B20温度报警器,实现温度监测和报警的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值