基于单片机的自动感应门设计
博主主页:单片机辅导设计
博主简介:专注单片机技术领域和毕业设计项目。
主要内容:毕业设计、简历模板、学习资料、技术咨询。
文章目录
- 主要介绍
- 一、自动感应门设计的功能概述
- 二、系统总体方案
- 2.1系统的总体计划
- 2.2元器件的介绍
- 2.2.1单片机的定义及引脚简单介绍
- 三、控制系统设计
- 4.1 主程序的流程图
- 总结
- 目录
主要介绍
本次毕业设计主要采用单片机AT89C51为控制核心,热释电型红外传感器,电机等相结合的设计作品。本次设计产品充分发挥了单片机的性能,其优点为电路简单,软件功能具备,控制系统完善等。
关键词: 自动感应门 单片机 电机 热释电红外传感器
一、自动感应门设计的功能概述
本次设计的自动门感应门主要有以下3点功能:
(1)当有人进出门的时。当人走到离自动门一定的距离时,安装在自动门上的热释红外线传感器信号检测器探头检测到有人移动时,就会传输信号给单片机,经过软件编译后,把控制信号传输给电机,进行开门。
(2)当人离开后延迟关门。当然人离开后,热释红外线传感器信号检测器没有检测到有人在离门一定的范围内移动时,在延迟几秒后,传输信号给单片机,经过软件编译后,把控制信号传输给电机,进行关门。
(3)当在关门的时候检测到来人时,将立即开门。当关门时,热释红外线传感器信号检测器探头突然检测到在离门一定的范围内有人移动,则传输信号给单片机,经过软件编译后,把控制信号传输给电机,立刻停止关门,进行开门。
二、系统总体方案
2.1系统的总体计划
本次毕业设计主要是以单片机为核心的自动感应门。当自动感应门在工作的时候,单片机将不间断的检测红外检测电路的输出信号,然后把红外检测电路的输出信号传输给单片机,经过软件的编译后,再把控制信号传输给电机,电机根据控制信号带动自动门运行。当系统检测到红外检测电路的输出信号发生改变时,就转换的对应的模式。如自动门在关门的过程中遇到阻碍时,自动门将立即开门。本毕业设计系统的原理方框图如2-1所示。

2.2元器件的介绍
2.2.1单片机的定义及引脚简单介绍
AT89C51是一种高性能的CMOS8位单片机,其中AT89C51内含有128bytes的随机储存器(RAM)和4K bytes的可反复擦写的只读22程序存储器(PEROM)。AT89C51采用非易失性储存、高密度的生产技术,它与标准的MCS-51系列的单片机指令和引脚是一样的,所以可以兼容MCS-51系统,AT89C51主要优势是内置Flash储存单元和通用8位中央处理器(CPU)。AT89C51的引脚图为图2-2-1:

图2-2-1 AT89C51引脚图
三、控制系统设计
本次毕业设计的软件方面采用C语言编程。这个控制程序分为手动模式和自动模式两个方面。当在手动模式的时候,需要自己进行控制电机开关门;在自动模式时,由热释红外线传感器信号检测器检测到有人进出时,电机正传自动开门,在人离开后,延迟10秒钟后,没人情况下电机反转自动关门,若是有人进出电机将继续延迟,直到10内检测不到人,电机反转自动关门,无需手动控制。
4.1 主程序的流程图

图4-1主程的流程图

总结
在这次毕业设计的这段时间里,我从中学到了许多的知识,不像是在书上说的那样简单,在自己操作起来,就会发现中间的困难。从一开始的收集相关的资料、购买所需的元件器材,再到中间的PCB原理图的绘制、万能板的焊接、程序的设计修改,最后进行整体的调试和修改。这些都使我学到了好多书上学不到东西,成长了好多。在查找各种资料文献的时候,我熟练的运用学过的信息检索方法,让我从资料库中快速找到我所需的资料;在焊接电路的时候教会了细心,任何一次的错误都有可能使自己的努力付之一炬,只能细心在再心细,不能犯一丝一毫的错误;在调试过程培养了我的坚持能力,在不断地面对失败后,重新审视自己的设计,不断的修改,这个过程打磨了我的性格,使自己更加的沉稳。这次毕业设计的制作不仅扩充了我的知识层面,还培养了实践能力,教会了我做事的方法。在此次毕业设计的过程里遇到各种困难,自己也在不断的攻克困难中飞速的成长,让我能够以更好地姿态走向社会,迎接美好的未来。
本次毕业设计以89C51为核心的自动门感应门,它的硬件设计简单,易于开发,并格低廉,安全可靠,操作方便,在以后市场上的发展空间巨大。
目录
目录
1绪论 1
1.1自动感应门设计的背景 1
1.2自动门的发展历史 1
1.3自动感应门设计的功能概述 1
2 系统总体方案 3
2.1系统的总体规划 3
2.2元器件介绍 3
2.2.1单片机的引脚及定义介绍 3
2.2.2热释电红外传感 9
3 硬件设计 11
3.1基本的单片机系统 11
3.2 红外检测电路 11
3.2.1 放大信号电路 12
3.3 步进电机电路 14
3.4 LCD液晶显示器简介 15
3.4.1 液晶原理介绍 15
3.4.2液晶模块简介 16
3.4.3液晶显示部分与89C51的接口 17
3.5键盘模块设计 18
4控制系统软件设计 19
4.1 主程序设计 19
4.1.1 主程序流程图 19
4.2调试 20
4.2.1 硬件调试 20
4.2.2 软件调试 20
4.2.3 调试中出现的问题 20
5总结与展望 22
致谢 23
参考文献 24
相关文章:
基于单片机的自动感应门设计
博主主页:单片机辅导设计 博主简介:专注单片机技术领域和毕业设计项目。 主要内容:毕业设计、简历模板、学习资料、技术咨询。 文章目录 主要介绍一、自动感应门设计的功能概述二、系统总体方案2.1系统的总体计划2.2元器件的介绍2.2.1单片机的…...
【密评】商用密码应用安全性评估从业人员考核题库(二十-完结)
商用密码应用安全性评估从业人员考核题库(二十-完结) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 4640 单项选择题 在测评过程中遇到的PEM编码格式,…...
Tigger绕过激活锁/屏幕锁隐藏工具,支持登入iCloud有消息通知,支持iOS12.0-14.8.1。
绕过激活锁工具Tigger可以用来帮助因为忘记自己的ID或者密码而导致iPhone/iPad无法激活的工具来绕过自己的iPhone/iPad。工具支持Windows和Mac。 工具支持的功能: 1.Hello界面两网/三网/无基带/乱码绕过,可以完美重启,支持iCloud登录、有消…...
VueX mapState、mapGetters、mapActions和mapMutaions 的使用
一、mapState和mapGetters 如果我们想要读取VueX中的State数据的Getters数据时,需要使用$store.state.数据名 和 $store.getters.数据名。 当我们State和getters中的数据多了以后,书写会很麻烦: 如果我们想要使用方便可以配置计算属性来简化…...
GMP标准的制药级层流细胞实验室核心要点
随着生物医药技术的飞速发展,制药行业对细胞疗法和细胞药物的需求日益增长。这推动了制药级层流细胞实验室的发展,其作为生物医药研发的关键基础设施,为制药企业提供了进行细胞培养、基因编辑、疫苗研发等工作的高效平台。本文就围绕GMP标准的…...
[免费] 适用于 Windows的10 的十大数据恢复软件
Windows 10是微软开发的跨平台和设备应用程序的操作系统。它启动速度更快,具有熟悉且扩展的“开始”菜单,甚至可以在多种设备上以新的方式工作。所以,Windows 10非常流行,我们用它来保存我们的照片、音乐、文档和更多文件。但有时…...
【halcon踩坑】区域为空但个数是1
背景 我在做瑕疵检测的时候,通过计算瑕疵区域的个数(count_obj())是否为0,来判断是否有瑕疵,如果不为0,那边我就会在图片上标记这个瑕疵的位置! 但是有一次我发现明明没…...
第二十四章 BEV感知系列一(车道线感知)
前言 近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。 BEV感知系列是对论文Delving into the De…...
C++入门讲解第一篇
大家好,我是Dark Fire,终于进入了C的学习,我知道面对我的将是什么,就算变成秃头佬,也要把C学好,今天是C入门第一篇,我会尽全力将知识以清晰易懂的方式表达出,希望我们一起加油&#…...
项目实战:分页功能实战
1、在index.html添加点击事件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"style/index.css"><script src"scr…...
AI人工智能大模型应用如何落地?
人工智能大模型是近年来人工智能领域的一项重要技术突破,其具备强大的计算能力和学习能力,能够处理大规模的数据和复杂的任务。 然而,要将人工智能大模型应用落地并实现实际价值,还需要克服一些挑战和问题。 首先,人…...
【优选算法系列】第一节.栈的简介(1047. 删除字符串中的所有相邻重复项和844. 比较含退格的字符串)
文章目录 前言一、删除字符串中的所有相邻重复项和 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写二、比较含退格的字符串 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写总结 前言 …...
PostgreSQL逻辑管理结构
1.数据库逻辑结构介绍 2.数据库基本操作 2.1 创建数据库 CREATE DATABASE name [ [ WITH ] [ OWNER [] user_name ] [ TEMPLATE [] template ] [ ENCODING [] encoding ] [ LC_COLLATE [] lc_collate ] [ LC_CTYPE [] lc_ctype ] [ TABLESPACE [] tablespace ] [ CONNECTION L…...
高匿IP有什么作用
在互联网的蓬勃发展中,IP地址作为网络通信的基础,一直扮演着举足轻重的角色。而在诸多IP地址中,高匿IP地址则是一种特殊类型,其作用和价值在某些特定场合下尤为突出。那么,高匿IP地址究竟有哪些用处呢? 首先…...
Ubuntu Linux 23.10安装manimgl
1. 简介:manimgl是使用Python语言开发数学动画的一个库。用来创建数学动画。版本有很多,今天介绍manimgl,他要依赖OpenGL库。 2. 打开Shell命令行,连接上互联网。先安装opengl。 Shell>>> sudo apt install l…...
modesim verilog仿真验证基本流程(新建工程方式)
文章目录 环境搭建一、在modelsim里创建一个新的工程二、新建verilog设计文件及仿真激励文件三、仿真结果本文演示如何使用modelsim新建工程进行功能仿真。 环境搭建 本文中采用的modelsim版本如下: modelsim altera 10.3d一、在modelsim里创建一个新的工程 打开modelsim软…...
SpringBoot+AOP+自定义注解,优雅实现日志记录
文章目录 前言准备阶段1、数据库日志表2、自定义注解编写3、AOP切面类编写4、业务层4.1、Service 层:4.2 Service 实现层: 5、测试 前言 首先我们看下传统记录日志的方式是什么样的: DeleteMapping("/deleteUserById/{userId}") …...
多式联运路径优化问题:基于拓扑排序的遗传算法染色体编码
一、什么是拓扑排序 在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件: 每个顶点出现且只出现一次。若存在一…...
Go 方法集合与选择receiver类型
Go 方法集合与选择receiver类型 文章目录 Go 方法集合与选择receiver类型一、receiver 参数类型对 Go 方法的影响二、选择 receiver 参数类型原则2.1 选择 receiver 参数类型的第一个原则2.2 选择 receiver 参数类型的第二个原则 三、方法集合(Method Set࿰…...
Unity AudioClip和PCM音频数据的转化
1 PCM音频数据转化AudioClip 假设PCM音频当前是16Khz采样率,16bit数据 byte[] pcmBytesnew byte[10240];float[] floatClipData new float[audioBytes.Length/2];for (int i 0; i < audioBytes.Length; i2){ floatData[i / 2] (short)((audioBytes[i 1] <…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
