基于单片机的智能感应监控系统的设计

收藏和点赞,您的关注是我创作的动力

文章目录

    • 概要
  • 一、系统分析
    • 2.1 整个控制系统的设计要求
    • 2.2 总体设计方案
  • 二、系统硬件电路设计
    • 3.1 硬件电路介绍
    • 3.2 控制电路分析
    • 3.2.1 复位电路
  • 三 软件设计
    • 原理图
  • 四、 结论
  • 五、 文章目录

概要

  因为人们在生活中对安全防范的要求在逐渐增高,科技技术也在快速发展,社会上的电子技术更新的速度也在日益加快,由此,故而设计一款基于单片机的智能感应监控系统是很有必要的,该传感器和微控制器设计烟雾报警装置作为设计的核心,STC89C52是作为设计的主控芯片,烟雾检测采用MQ-2检测烟雾。烟雾报警信号采集烟雾和主要由前置放大器,模数转换电路,单片机控制电路,显示电路,并且所述声光报警电路安全保护电路,设计合理,易于理解的,廉价的微控制器,使得所述抽吸集成应用控制和智能监控系统,它具有一定的实用价值。烟雾智能监控系统连接的组件和软件设计的功能之间本文描述的详细说明和解释,并且其中包括接口至主电路和外围电路。
关键字:热释电红外传感器;STC89C52单片机;GSM短信报警

一、系统分析

  

2.1 整个控制系统的设计要求

该设计一共由于两个部分组合而成,它们分别是硬件和软件设计所组成。分别是由数据采集模块,微处理器控制,GSM报警子程序模块来形成一个完整的系统。
这个系统主要是实现了以下功能:先把系统上好电,插好所使用的手机卡,然后在一定时间后开始布防,当有人靠近在一定的范围之内,热电型红外线传感器,用于检测在人体内监测点的IR辐射的红外线执行驱动SMS报警电路使GSM模块微控制器的处理操作之后,发送文本消息到远程用户防盗警报。另外,当产生一定浓度的烟雾,处于布防状态下的烟雾传感器亦是检测到然后发出声光警报并发送短信到远程用户手机上来提醒用户存在的安全防护提示。

2.2 总体设计方案

基于图1所示的GSM短消息组成模块对家庭防盗智能监控系统。该系统架构包括前端检测器(热电型红外线检测器),单芯片控制器,GSM SMS模块,所述用户终端的。
在这里插入图片描述

图1 家庭防盗智能监控系统框图
智能监控系统的收集路由热电型红外线检测器,常用检测地点为门,窗,阳台等能够检测到的场所,然后将检测到的能够识别的信号传送到我们的STC89C52单片机控制芯片上,然后由控制芯片来作出相应的处理,最后由此系统的控制模块来触发消息给用户发送GSM 短信防盗报警器,防盗报警器能够该系统的家庭功能。
其基本工作原理是:用于检测红外线辐射体,在红外信号中检测所述变化并将其转换为一个弱信号之后使用无源热电型红外线传感器,信号滤波器的信号处理电路,放大,比较,输出报警发送作为高电平MCU信息,MCU确定是否报警,如果报警条件被满足时,通过所述变速器的控制信号接口RS232串行通信时,控制模块GSM SMS消息发送给用户,从而实现对防盗报警器。

二、系统硬件电路设计

3.1 硬件电路介绍

微控制器是利用超大规模集成电路技术的数据的随机存取存储器(RAM)的特征在于用于处理的中央处理单元CPU的集成电路芯片,只读存储器ROM,各种I / O端口和中断系统,其集成到小的硅定时器/计数器功能晶片广泛用于微型计算机的工业控制系统,但该字段的完整配置。
这里的STC89C52 SCM,它是8位微控制器51,硬件电路分为动力部分,霍尔器件速度(速度信号处理电路),所述SCM系统,五个部分ISP下载接口和LCD显示电路。

3.2 控制电路分析

3.2.1 复位电路

SCM在启动时,系统进入复位状态。通过一个按钮复位电路S1,和电阻器R1的电解电容EC1组合物。手动复位按钮和电源自动复位功能。系统复位按钮被经过两个主接口信号采集非自动复位按钮自动复位;所检测的电压上升从低电平到系统中,这时间段为高电平,通过该电阻器并且在路径之间形成的系统的地面,然后自动拉出后已过,使得高电平向低电平来自微控制器,即,使得功率被自动复位到复位微控制器。

三 软件设计

主程序流程图如图12:
在这里插入图片描述

图12 主程序流程图

原理图

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

四、 结论

近四到个周的设计和开发后,系统设计基本开发完毕。我们遇到了在此过程中许多困难,如焊接错误,电路报错,代码不正常运行等。由于缩短设计时间,所以该系统是不是在很多地方,如功能要求上不是很满意,功能不健全等诸多问题。在系统开发过程中的过程中,我深深感到这是一个系统的需求的重要性分析是首先要了解如何建立从功能分析,功能分析模块,这些都有待进一步的提高。
从总体来说,系统达到了预期的效果,实现了智能感应监控,将有害气体报警,温湿度显示,防盗报警和短信报警功能实现出来。由于有限的个人能力和时间,系统存在一些缺陷,有待提高,希望老师们宝贵的意见,我会尽量改善。

五、 文章目录

目 录
摘 要 I
1 绪论 1
1.1研究目的 1
2 系统分析 2
2.1 整个控制系统的设计要求 2
2.2 总体设计方案 2
3 系统硬件电路设计 3
3.1 硬件电路介绍 3
3.2 控制电路分析 3
3.2.1 复位电路 3
3.2.2基本的复位方式 3
3.2.3热释电红外传感器简介 5
3.2.4被动式热释电红外探头的工作原理及特性 6
3.2. 5DHT11温湿度检测模块 8
3.2.6 LCD液晶显示电路 10
3.2.7 GSM模块 12
4 器件介绍 15
4.1 STC89C52单片机简介 15
4.1.1 STC89C52单片机主要特性 15
4.1.2管脚说明 15
4.1.3定时器/计数器 17
4.1.5.1主要特性 17
4.1.5.2定时/计数器0和1的控制和状态寄存器 18
4.2烟雾传感器 20
5软件设计 21
6 编译器软件介绍 22
6.1使用 keil 软件建立工程 23
6.2 STC-ISP 软件烧录工具 23

7硬件电路的布线与焊接 23
结论 25
参考文献 27
附 录 28
附 录1:原理图 28
附 录2 :实物图 30

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/115683.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL ES入门教程(二)之绘制一个平面桌子

OpenGL ES入门教程(二)之绘制一个平面桌子 前言0. OpenGL绘制图形的整体框架概述1. 定义顶点2. 定义着色器3. 加载着色器4. 编译着色器5. 将着色器链接为OpenGL程序对象6. 将着色器需要的数据与拷贝到本地的数组相关联7. 在屏幕上绘制图形8. 让桌子有边框…

vue:js中合并对象的方法

目前比较常用的一共有三种 1、使用object.assign() 它可以将一个或多个对象的属性复制到目标对象中&#xff0c;第一个参数就是目标对象&#xff0c;这里举个例子&#xff1a; <template><div>{{data}}</div> </template> <script> export de…

Unity中Shader的烘培分支的判断

文章目录 前言一、上一篇文章中所需要的 lightmapUV 只有在烘焙时才会使用1、查看帮助文档后&#xff0c;Unity中判断烘培是否开启&#xff0c;使用的是LIGHTMAP_ON2、我们在 appdata 和 v2f 中&#xff0c;定义第二套UV 前言 Unity中Shader的烘培分支的判断&#xff0c;基于上…

服务器数据恢复—EMC存储pool上数据卷被误删的数据恢复案例

服务器数据恢复环境&#xff1a; EMC Unity某型号存储&#xff0c;连接了2台硬盘柜。2台硬盘柜上创建2组互相独立的POOL&#xff0c;2组POOL共有21块520字节硬盘。21块硬盘组建了2组RAID6&#xff0c;1号RAID6有11块硬盘. 2号RAID6有10块硬盘。 服务器故障&检测&#xff1…

扩容一个新节点

1.删除nodes rm -rf nodes/ 2.挂载本地文件与创建节点 bash build_chain.sh -f ipconf -e /root/tools/fisco-bcos 3.部署节点 bash nodes/127.0.0.1/start_all.sh 4.把共享的gen_node_cert.sh文件下载到本地 cp /root/Desktop/共享文件夹/tools/gen_node_cert.sh ./…

代码生成器

Easycode Entity ##导入宏定义 $!{define.vm}##保存文件&#xff08;宏定义&#xff09; #save("/entity", ".java")##包路径&#xff08;宏定义&#xff09; #setPackageSuffix("entity")##自动导入包&#xff08;全局变量&#xff09; $!{au…

链表详讲(附代码)

1.什么是链表 链表是一种非常常见的数据结构&#xff0c;在程序设计中经常被使用。它由一系列节点组成&#xff0c;每个节点都有用来存放数据的数据区以及存放下一个节点地址指针的地址区。跟顺序表不同的是&#xff0c;链表的节点之间的空间并非是连续的&#xff0c;依靠地址区…

【python VS vba】(5) 在python中使用xlwt操作Excel(待完善ing)

目录 1 什么是xlwt 2 导入xlwt 3 相关语法 3.1 创建新的workbook 3.2 创建新的sheet 3.3 保存workbook 4 python里表格的形式 4.1 矩阵 4.2 EXCEL的数据形式 完全等于矩阵的数字结构 4.3 python里矩阵 5 具体代码 5.1 代码 5.2 结果 5.3 要注意的问题 5.3.1 不能…

STL-set和map

目录 一、pair和make_pair 1. pair 2. make_pair 二、set &#xff08;一&#xff09;set的模板参数列表 &#xff08;二&#xff09;set的构造 &#xff08;三&#xff09;set的插入 1. 测试1 2. 测试2 &#xff08;四&#xff09;low_bound和upper_bound&#xff…

(四)docker:为mysql和java jar运行环境创建同一网络,容器互联

看了很多资料&#xff0c;说做互联的一个原因是容器内ip不固定&#xff0c;关掉重启后如果有别的容器启动&#xff0c;之前的ip会被占用&#xff0c;所以做互联创建一个网络&#xff0c;让几个容器处于同一个网络&#xff0c;就可以互联还不受关闭再启动ip会改变的影响&#xf…

ArcGIS for Android 禁止地图旋转

ArcGIS for Android 禁止地图旋转 话不多说&#xff0c;直接上代码&#xff01;&#xff01;&#xff01; public class LoadMap extends AppCompatActivity {// 地图private MapView mapView;private ArcGISMap map;Overrideprotected void onCreate(Bundle savedInstanceSta…

Ubuntu 系统内核 kernel panic

Ubuntu 系统内核 kernel panic 不能进入系统&#xff1a;报错end kernel panic -not syncing: attemped to kill init! exit code 0x00000100 系统启动的时候&#xff0c;按下‘e’键进入grub编辑界面&#xff0c;编辑grub菜单&#xff0c;选择“kernel /vmlinuz-XXXXro root…

听听ChatGPT对IT行业的发展和就业前景的看法

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:PYTHON学习系列专栏&#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 (1)判断素数 写法1: 写法2: (2)计算1-100的偶数之和 写法1: 写法2: (3)计算1-100的奇数之和 (4)多层循环 IT行业哪个方向比较…

k8s 多网卡方案multus

kubernetes 多网卡方案之 Multus_CNI 部署以及基本使用 一、multus cni 出现的背景 在k8s的环境中启动一个容器&#xff0c;默认情况下只存在两个虚拟网络接口&#xff08;loopback 和 eth0&#xff09;&#xff0c; loopback 的流量始终都会在本容器内或本机循环&#xff0c…

【中国知名企业高管团队】系列57:康佳KONKA

今天开始&#xff0c;华研荟为大家介绍中国电视行业的知名企业&#xff0c;接下来三天介绍位于深圳的电视三巨头&#xff0c;这三巨头以电视机研发、生产和销售起步&#xff0c;2000左右生产过非智能手机&#xff0c;但是在互联网时代被小米们抢走了电视和手机的很大一部分市场…

【音视频 | opus】opus编解码库(opus-1.4)详细介绍以及使用——附带解码示例代码

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

《动态顺序表》的实现

目录 前言&#xff1a; 认识线性表&#xff1a; 关于顺序表 实现动态顺序表&#xff1a; 顺序表的动态存储定义&#xff1a; 初始化顺序表&#xff1a; 顺序表的销毁&#xff1a; 尾插&#xff1a; 判断是否需要扩容&#xff1a; 总代码&#xff1a; 头插&#xff1a…

C++——类和对象(中)完结

赋值运算符重载 运算符重载 C 为了增强代码的可读性引入了运算符重载 &#xff0c; 运算符重载是具有特殊函数名的函数 &#xff0c;也具有其 返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型与参数列表与普通的函数类似。 函数名字为&#xff1a;关键…

父子进程之间的等待(wait和waitpid的介绍+原理),status的介绍+恢复退出码(位运算+宏),非阻塞等待(宏),signal查看

目录 父子进程之间的等待 介绍 为什么要有等待 内存泄漏 如何等待 介绍 pid_t wait (int* status) 介绍 status指针 示例 ​编辑 pid_t waitpid (pid_t pid,int* status,int options) pid options WNOHANG -- 非阻塞等待 示例 status 查看status status问题 …

Mybatis与Mybatis-Plus(注解与Xml)(单表与多表)

准备工作 这里我们准备了两个与数据库表对应的实体类&#xff0c;stu为学生表&#xff0c;cls为班级表 类属性上的注解如 TableId等 为Mybatis-Plus的注解&#xff0c;使用mybatis会无视掉这些注解 在Stu 类的最后一个属性我们定义了Cls实体类的对象&#xff0c;对于单表查询&…