【单片机】基于单片机的温度+烟雾报警系统设计(实物+仿真+代码+lunwen)
基于单片机的温度+烟雾报警系统设计
实物+仿真+代码
主要功能
主要检测温度和烟雾,再通过单片机控制相应的报警和驱动负载。通过液晶显示当前的烟雾值和温度值,通过按键设定相应的阀值。
该项目主要是为了完成任务,包括:
⑴硬件部分:包括传感器的选择,显示模块的选择,烟雾信号转换电路的设计,报警驱动电路的设计。
(2)软件部分:包括微处理器控制程序的编制和原理图的绘制。
(3)系统的综合调试与分析:在软硬件完成以后,要对系统进行综合的测试与实验,分析系统的可靠性与实用性,调整系统的不足。
系统的组成及方案设计
本设计主要由烟雾探测传感器电路、单片机、灯光报警电路、负载驱动电路、控制程序和编解码程序等组成。
系统的组成结构如下:
总体电路
程序流程图
部分源程序
//程序头函数
#include <reg52.h>
//显示函数
#include <display.h>//宏定义
#define uint unsigned int
#define uchar unsigned char
#define Data_ADC0809 P1//管脚声明
sbit LED_wendu= P2^2;
sbit LED_yanwu= P2^1;
sbit baojing= P2^5;
sbit DQ = P2^0;
//ADC0809
sbit ST=P3^3;
sbit EOC=P3^6;
sbit OE=P3^2;
//按键
sbit Key1=P2^6;
sbit Key2=P2^7;
sbit Key3=P3^7;signed char w; //温度值全局变量
uint c; //温度值全局变量
bit bdata flag=0;
//酒精含量变量
uchar temp;
uchar yushe_wendu=50;
uchar yushe_yanwu=45;
//按钮模式|
uchar Mode=0;//函数声明
extern uchar ADC0809();
extern void Key();void delay(uint z)
{uint i,j;for(i=0;i<z;i++)for(j=0;j<121;j++);
}
/*****延时子程序*****/
void Delay_DS18B20(int num)
{while(num--) ;
}
/*****初始化DS18B20*****/
void Init_DS18B20(void)
{unsigned char x=0;DQ = 1; //DQ复位Delay_DS18B20(8); //稍做延时DQ = 0; //单片机将DQ拉低Delay_DS18B20(80); //精确延时,大于480usDQ = 1; //拉高总线Delay_DS18B20(14);x = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败Delay_DS18B20(20);
}
/*****读一个字节*****/
unsigned char ReadOneChar(void)
{unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);
}
/*****写一个字节*****/
void WriteOneChar(unsigned char dat)
{unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;Delay_DS18B20(5);DQ = 1;dat>>=1;}
}
/*****读取温度*****/
unsigned int ReadTemperature(void)
{unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0x44); //启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器a=ReadOneChar(); //读低8位b=ReadOneChar(); //读高8位t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*10+0.5; //放大10倍输出并四舍五入return(t);
}
系统仿真
功能定制,方案解决,就找启睿工作室~
联系老板,免费获取源码资料
【单片机】基于单片机的温度+烟雾报警系统设计(实物+仿真+代码+lunwen)相关推荐
- 基于单片机双路温度检测报警系统设计-基于单片机声光控智能开关控制灯设计-基于单片机热电偶智能体温检测设计-基于单片机小型家用燃气锅炉控制系统设计-基于单片机一氧化碳有毒气体采集报警系统设计
1628基于单片机双路温度检测报警系统设计(串口上位机控制) 基于pcf8591 tlc2543的双路温度检测报警系统 带串口上位机控制带仿真 源程序 温度传感器是 LM35 两路测温通道所用的ad芯 ...
- STM32单片机WIFI物联网可燃气烟雾报警监控系统MQ4MQ2
实践制作DIY- GC0019-WIFI物联网可燃气烟雾报警监控系统 一.功能说明: 基于STM32单片机设计-WIFI物联网可燃气烟雾报警监控系统 功能介绍: 1.基于STM32F103C系列单片机 ...
- 【电路】基于单片机智能睡眠枕系统设计-基于单片机音乐喷泉制作设计-基于单片机智能温控风扇调速系统设计-基于单片机智能自动循迹小车控制系统设计-基于数字电路的4人投票系统设计(仿真,报告)毕设课设资料
1620基于单片机智能睡眠枕系统设计-文档+PPT+PCB图+原理图+源码 智能睡眠枕主要由lcd屏幕.蓝牙.压力传感器.蜂鸣器.单片机等等组成,用户可通过四个独立按键进行操控(四个按键从左至右为1. ...
- 使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真
使用MATLAB/simulink与PreScan联合进行基于强化学习的自动驾驶系统设计与仿真 总论 环境配置 系统搭建 总论 使用MATLAB中的强化学习工具箱作为核心算法的建立工具,在simuli ...
- 51单片机——基于单片机的智能报警系统设计
基于51单片机的宿舍火警报警系统 基于单片机的智能报警系统设计 基于51单片机的报警系统实现 网上转载:本系统具备发送短信.接收短信,拨打电话.接听电话等功能.主控检测到有人入侵之后会立即产生高分贝的 ...
- 毕业论文 | 基于51单片机的自动报警设计(烟雾报警)
博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 预告:源代码.论文.电路图设计链接 ...
- 雷达系统设计matlab仿真 代码,雷达系统设计matlab仿真
雷达系统设计matlab仿真 MATLAB Code Chap1 casestudy1_1.m fig1_12.m fig1_13.m fig1_16.m fig1_19.m fig1_21.m fi ...
- 雷达系统设计matlab仿真 代码,《雷达系统设计matlab仿真》
<雷达系统设计matlab仿真> matlab 2020-12-5 下载地址 https://www.codedown123.com/53184.html 雷达系统设计matlab仿真的资 ...
- 基于51单片机的火灾报警系统温度烟雾浓度阈值报警proteus仿真原理图PCB
功能: 0.本系统采用STC89C52作为单片机 .LCD1602液晶实时显示当前温度和烟雾浓度 2.超过温度阈值和烟雾浓度阈值,蜂鸣器报警 3.按键可更改温度阈值和烟雾浓度阈值 4.采用DC002作 ...
最新文章
- mysql The server quit without updating PID file异常解决办法
- 搭建Android上的服务器 “实现隔空取物”
- 取消tableView上面多出来20个像素
- 21天学通python第4章课后题答案_人工智能教程习题及答案第4章习题参考解答
- git遇到的问题-- Another git process seems to be running in this repository
- HTTP和RPC的优缺点 1
- jquery子元素过滤选择器:nth-child、:first-child、:last-child、:only-child
- jenkins部署war包到容器(tomcat)
- IDEA最全使用教程
- Hive学习之路 (十九)Hive的数据倾斜
- 显卡坏,导致机器无法启动
- 算法设计与分析基础 (Anany Levitin 著)
- 2021 美国硅谷程序员调查:平均年薪 80 万,后端人才“吃香”
- Mysql优化之explain你真的会吗?
- linux中IGV的运行,科学网—使用UCSC和IGV查看reads在基因组上分布情况 - 熊朝亮的博文...
- 数据治理管理平台——数据资产管理
- Java高并发系列---第1天(概念)
- Android 判断app是否正在播放音乐
- 520表白——送她一片星空模拟
- JUnit:求求你了,别再用 main 方法测试了,好吗?