基于单片机的自动感应门设计
博主主页:单片机辅导设计
博主简介:专注单片机技术领域和毕业设计项目。
主要内容:毕业设计、简历模板、学习资料、技术咨询。
文章目录
- 主要介绍
- 一、自动感应门设计的功能概述
- 二、系统总体方案
- 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] <…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...