(Proteus仿真设计)基于51单片机的电梯程序控制系统

(Proteus仿真设计)基于51单片机的电梯程序控制系统

一.项目介绍

本设计模拟的是一个五层的,各楼层间隔为4.5m的电梯程序控制系统,能够完成各楼层乘客的接送任务。形象地说,就是要对不同楼层乘客的不同需求,作出合理高效的判断,使所有顾客在整体运用时间最短的条件下将其运往各自的目的地。
image

二.开发环境

  • 程序开发软件:Keil
  • 仿真软件:Proteus
  • 逻辑开发语言:C语言
  • 单片机型号:AT89C51

文件说明:

  • cong1.c:是从单片机程序逻辑源码

  • zhu1.c:是主单片机程序逻辑源码

  • 仿真:在Proteus软件内使用

三.各模块介绍

  1. 主控
    image
  2. 复位电路:

image

复位电路是一种用来使电路恢复到起始状态的电路设备,它的操作原理与计算器有着异曲同工之妙,只是启动原理和手段有所不同。复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。

  1. 联络信号电路设计

    主单片机的P3端口和从单片机的P1端口进行信息传输的电路。分请求接收电路和响应反馈电路两部分,对应单片机高低四位引脚,以单向传输方式进行信息传输。联络信号主要是对桥厢位置(Location)和方向(Way)的传输。请求接收电路:从单片机发送按键请求给主单片机的电路响应反馈电路:主单片机发送响应结果给从单片机的电路

  2. 按键电路
    本电路采用的是4×4键盘矩阵。如上图所示,按键与从AT89C51的P3.0-P3.7连接,单片机采用行和列扫描法来判别这16个按键中哪个键按下,并将其状态通过程序判别,得到对应数据存入数组名为Cong_Sent Save Array对应存储空间里面(注:开关门按键和警报按键不存于该数组,而是与主单片机一一单独连接),然后判断优先级,将最高优先级存于数组名为Cong_Accept Save Array数组中,从单片机通过联络信号引脚发送Cong_Accept Save Array数组中数据,让主单片机控制电梯的运行。

    各个按键的说明如下:

    上1:一楼向上呼叫按键,此键按下表厢外一楼有人要乘坐电梯上楼;

    上2: 二楼向上呼叫按键,此键按下表厢外二楼有人要乘坐电梯上楼;

    下2:二楼向下呼叫按键,此键按下表厢外二楼有人要乘坐电梯下楼;

    上3:三楼向上呼叫按键,此键按下表厢外三楼有人要乘坐电梯上楼;

    下3:三楼向下呼叫按键,此键按下表厢外三楼有人要乘坐电梯下楼;

    上4:四楼向上呼叫按键,此键按下表厢外三楼有人要乘坐电梯上楼;

    下4:四楼向下呼叫按键,此键按下表厢外三楼有人要乘坐电梯下楼;

    下5:五楼向下呼叫按键,此键按下表厢外三楼有人要乘坐电梯下楼;

    内1:电梯内部选择去一楼按键,此按键按下表示厢内的乘客要去一楼;

    内2:电梯内部选择去二楼按键,此按键按下表示厢内的乘客要去二楼;

    内3:电梯内部选择去三楼按键,此按键按下表示厢内的乘客要去三楼;

    内4:电梯内部选择去四楼按键,此按键按下表示厢内的乘客要去四楼;

    内5:电梯内部选择去五楼按键,此按键按下表示厢内的乘客要去五楼;

    开门:电梯内部选择的开门按键,此按键按下表示厢内的乘客要开厢门;

    关门:电梯内部选择的关门按键,此按键按下表示厢内的乘客要关厢门;

    警报:电梯内部选择的警报按键,此按键按下表示厢内的乘客紧急制动桥厢和蜂鸣报警;

    image

  3. 按键灯设计
    本电路使用从单片机P1和P2端口16个引脚与4×4键盘矩阵每个按键一一对应。当键盘按键按下,对应按键灯便亮(注:与桥厢楼层相同的外呼内选的灯不会亮)。当桥厢电机响应完相应按键要求,从单片机接收反馈联络信号,修改按键灯状态。
    image

  4. 楼层显示电路设计
    设计中用一位共阳LED数码管来显示楼层数,与主单片机P0端口连接。软件设计时只需将数码管对应P0端口相应引脚置高地电平,就可在数码管上看到相应的字型码。由于采用共阳极数码管,所以公共端接高电平。
    image

  5. 蜂鸣器电路设计
    蜂鸣器与主单片机P1.7引脚连接,主单片机对P1.7引脚输出持续的脉冲电流控制三极管开关,且放大输送电流,从而产生蜂鸣效果。蜂鸣电路主要有三种作用:分别为楼层到达蜂鸣,超重持续蜂鸣警报和桥厢内选报警持续警报。
    image

  6. 步进电机驱动电路
    本模块电路用L298 驱动门系统和桥厢四相步进电机,在硬件电路设计时L298 输出端与单片机四相连接时上下分别连接了四个续流二极管。这样设计的目的是为了将步进电机的反向电动势所产生的电流分流到地或电源正极,不损坏L298,保证芯片正常工作。
    image

  7. 其他电路设计

    • 上下行显示电路:两发光二极管分别与主单片机P1.3和P1.4连接,表示桥厢的运行状态,桥厢上行,P1.3=0,P1.4=1上行灯亮;桥厢下行,P1.3=1,P1.4=0下行灯亮;桥厢待机,P1.3=1,P1.4=1上下行等均不亮。

    • 极限开关电路:电梯程序系统总开关,当开关闭合时,电梯系统可运行。否则不可运行。

      imageimage

需要资料的可以扫码或点击[阅读原文]获取。

image

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

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

相关文章

【NI国产替代】产线综测仪:锂电池保护板测试仪,支持快速定制

• 精度等级01% • 支持直流电压、电流、nA 级待机电流电阻等,常规测试 • 支持过压、欠压、过冲、过放、过温,短路等,保护测试 • 通讯总线电平可编程,兼容多种 • 支持 SWD 或IIC 固件烧录 • 测试速度快,支持最多 24 通道…

WPF-UI布局

WPF布局元素有如下几个: Grid:网格。可以自定义行和列并通过行列的数量、行高和列宽来调整控件的布局。StackPanel:栈式面板。可将包含的元素在竖直或水平方向上排成一条直线,当移除一个元素后,后面的元素会自动向前移…

leetcode:不同的二叉树

class Solution { public:int numTrees(int n) {vector<int> dp(n1);dp[0] 1;dp[1] 1;for(int i 2;i < n;i){for(int j 1;j < i;j) // 当根节点为j时{dp[i] dp[j-1] * dp[i-j];}}return dp[n];} }; /* dp[i] i个不同的数组成的二叉搜索数的个数假设 i 5当根…

【栈】895. 最大频率栈

本文涉及知识点 栈 LeetCode895. 最大频率栈 设计一个类似堆栈的数据结构&#xff0c;将元素推入堆栈&#xff0c;并从堆栈中弹出出现频率最高的元素。 实现 FreqStack 类: FreqStack() 构造一个空的堆栈。 void push(int val) 将一个整数 val 压入栈顶。 int pop() 删除并返…

webapi跨越问题

由于浏览器存在同源策略&#xff0c;为了防止 钓鱼问题&#xff0c;浏览器直接请求才不会有跨越的问题 浏览器要求JavaScript或Cookie只能访问同域下的内容 浏览器也是一个应用程序&#xff0c;有很多限制&#xff0c;不能访问和使用电脑信息&#xff08;获取cpu、硬盘等&#…

在开源处理器架构RISC-V中发现可远程利用的中危漏洞

在RISC-V SonicBOOM处理器设计中发现中度危险的漏洞 最近&#xff0c;西北工业大学的网络空间安全学院胡伟教授团队在RISC-V SonicBOOM处理器设计中发现了一个中度危险的漏洞。这个团队的研究人员发现了一个可远程利用的漏洞&#xff0c;该漏洞存在于开源处理器架构RISC-V中。…

JAVAEE值网络编程(2)_TCP流套接字及通信模型、TCP网络编程及代码实例

前言 在上一节内容中&#xff0c;我们介绍了什么是套接字&#xff0c;以及使用UDP数据报套接字网络编程&#xff0c; 最后我们还介绍了Java数据报套接字通信模型以及相关代码实例。在这一节我们将会介绍TCP流套接字编程。 一、流套接字及通信模型 1.1 TCP套接字 TCP&#xff0…

总结七大排序算法

插入排序 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是&#xff1a;把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 。实际中我们玩扑克牌时&#xff0c;就用了…

kNN算法-概述

所谓kNN算法就是K-nearest neigbor algorithm。这是似乎是最简单的监督机器学习算法。在训练阶段&#xff0c;kNN算法存储了标签训练样本数据。简单地说&#xff0c;就是调用训练方法时传递给它的标签训练样本会被它存储起来。 kNN算法也叫lazy learning algorithm懒惰学习算法…

给浮躁的面试者一个建议

哈喽&#xff0c;大家好&#xff0c;我叫人宅&#xff0c;关于找工作&#xff0c;大家心态非常浮躁&#xff0c;尤其是零零后&#xff0c;或者是九五后。本次为大家分享一下关于就业问题和就业态度。 我讲解的这些其实适合所有高科技行业。我这边就拿程序员为例。 如果你是刚毕…

【React】Redux与React - 环境准备

配套工具 在React中使用redux&#xff0c;官方要求安装俩个其他插件 - Redux Toolkit 和 react-redux 配置基础环境 使用 CRA 快速创建 React 项目 npx create-react-app react-redux安装配套工具 npm i reduxjs/toolkit react-redux启动项目 npm run start

【实战项目二】Python爬取豆瓣影评

目录 一、环境准备 二、编写代码 一、环境准备 pip install beautifulsoup4 pip intall lxml pip install requests我们需要爬取这些影评 二、编写代码 我们发现每个影评所在的div的class都相同&#xff0c;我们可以从这入手 from bs4 import BeautifulSoup import request…

Linux用户和用户组的管理

目录 前言一、系统环境二、Linux用户组的管理2.1 新增用户组2.2 删除用户组2.3 修改用户组2.4 查看用户组 三、Linux用户的管理3.1 新增用户3.2 删除用户3.3 修改用户3.4 查看用户3.5 用户口令&#xff08;密码&#xff09;的管理 总结 前言 本篇文章介绍如何在Linux系统上实现…

第103天: 权限提升-Linux 系统辅助项目脏牛Dirty内核漏洞SUIDGUID

项目下载地址 综合类探针&#xff1a; https://github.com/liamg/traitor 自动化提权&#xff1a; https://github.com/AlessandroZ/BeRoot 信息收集&#xff1a; https://github.com/rebootuser/LinEnum https://github.com/sleventyeleven/linuxprivchecker 漏洞探针&#xf…

实践分享:如何用小程序里的小组件做应用开发?

随着移动互联网的快速发展&#xff0c;小程序等轻量级应用平台日益成为用户获取信息和服务的重要渠道。而小组件也在其中扮演了至关重要的角色&#xff0c;不仅能够提升用户的交互体验&#xff0c;还能帮助开发者高效地构建功能丰富、界面美观的小程序。 本文中&#xff0c;我们…

STM32的FreeRtos的学习

首先就是去官网下载一个源文件&#xff1a;FreeRtos官网 下载下来的是一个zip文件&#xff0c;解压缩了。 然后再工程文件夹中创建个文件夹&#xff1a; 在这个文件夹中创建3个文件夹&#xff1a; 然后开始把下载下来的文件夹中的文件挑选出来放到我们的工程文件夹中&#xff1…

C++ 史上首次超越 C,跃至榜二

TIOBE 公布了 2024 年 6 月的编程语言排行榜。 C在本月的TIOBE指数中成功超越了C&#xff0c;成为新的第二名。它是一种被广泛应用于嵌入式系统、游戏开发和金融交易软件等领域的编程语言。这次的排名是C在TIOBE指数中的历史最高位&#xff0c;同时也是C语言的历史最低位。 T…

Java Web学习笔记29——Vue路由

Vue路由&#xff1a; 前端路由&#xff1a;点击菜单栏&#xff0c;地址栏会发生变化&#xff0c;会显示对应的组件。 URL中的Hash&#xff08;#号后面的部分&#xff09;与组件之间的对应关系。 Hash是/dept&#xff0c;那么就是部门管理组件&#xff1b; Hash是/emp, 那么…

【CS.AL】算法复杂度分析 —— 时间复杂度详解

文章目录 1 概述2 时间复杂度的详细分析2.1 常数时间复杂度&#xff08;O(1&#xff09;&#xff09;2.2 对数时间复杂度&#xff08;O(log n)&#xff09;2.3 线性时间复杂度&#xff08;O(n)&#xff09;2.4 线性对数时间复杂度&#xff08;O(n log n)&#xff09;2.5 平方时…

iOS 17.5中的一个漏洞

i0S 17.5中的一个漏洞 iOS 17.5中的一个漏洞会使已刚除的照片重新出现&#xff0c;并目此问题似乎会影响甚至已擦除并出售给他人的 iPhone 和 iPad. 在2023年9月&#xff0c;一位Reddit用户根据Apple的指南擦除了他的iPad&#xff0c;并将其卖给了一位朋友。然而&#xff0c;这…