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

news2024/11/24 20:35:23

(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.coloradmin.cn/o/1806222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python第二语言(八、Python包)

目录 1. 什么是Python包 2. 创包步骤 2.1 new包 2.2 查看创建的包 2.3 拖动文件到包下 3. 导入包 4. 安装第三方包 4.1 什么是第三方包 4.2 安装第三方包-pip 4.3 pip网络优化 1. 什么是Python包 包下有__init__.py就是包,无__init__.py就是文件夹。于Ja…

Python中报错提示:TypeError: Student() takes no arguments

Python中报错提示:TypeError: Student() takes no arguments 在Python编程中,类是创建对象的蓝图。每个类都可能包含一个特殊的方法__init__,我们称之为构造函数,它在创建新实例时被调用。如果你在尝试创建一个类的实例时遇到了Ty…

SpringBoot+Vue墙绘产品展示交易平台(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 用户管理员 功能截图

想在VBA软件中做个登录验证会员授权,用什么云服务器好?

想在VBA中做个登录验证会员授权,用什么服务器好? 腾讯云99起,百度云50元起,不过也不知道到底是一整个虚拟机服务器, 装了WIN2012系统的,还是只是一个虚拟网站只给你一个文件夹可以上传PHP,ASP网页后台。 价…

知识图谱的应用---智慧交通

文章目录 智慧交通典型应用 智慧交通 现代城市发展过程中的一大问题是交通拥堵,为解决城市发展中的这一顽疾,有必要以现代化高科技技术为支撑,建造城市中的智慧交通系统,从源头入手缓解城市拥挤问题。当前,“智慧交通”…

6月7号作业

1, 搭建一个货币的场景,创建一个名为 RMB 的类,该类具有整型私有成员变量 yuan(元)、jiao(角)和 fen(分),并且具有以下功能: (1)重载算术运算符…

商城项目【尚品汇】08异步编排-01基础篇

文章目录 1.线程的创建方式1.1继承Thread类,重写run方法1.2实现Runnable接口,重写run方法。1.3实现Callable接口,重新call方法1.4以上三种总结1.5使用线程池创建线程1.5.1线程池创建线程的方式1.5.2线程池的七大参数含义1.5.3线程池的工作流程…

html写一个table表

HTML代码&#xff1a; <div class"table_box w-full"><div class"title_top">XX表</div><div class"title_btm">(<input class"input input_1" type"text">xxxx)</div><table class…

Jenkins构建打包部署前端Vue项目至Nginx

一. 安装jenkins 基于DockerJenkins实现自动部署SpringBootMaven项目-CSDN博客 二. 安装NodeJs插件并配置 显示上面两行则表示安装成功, 然后回到首页, 点击’系统管理’->‘全局工具配置’: 配置node.js 三. 创建jenkins项目 1、创建项目 2、配置gitee 3、配置源码 4、…

kafka如何保证消息不丢失

Kafka发送消息是异步发送的&#xff0c;所以我们不知道消息是否发送成功&#xff0c;所以会可能造成消息丢失。而且Kafka架构是由生产者-服务器端-消费者三种组成部分构成的。要保证消息不丢失&#xff0c;那么主要有三种解决方法。 生产者(producer)端处理 生产者默认发送消息…

qmt量化交易策略小白学习笔记第16期【qmt编程之获取北向南向资金(沪港通,深港通和港股通)】

qmt编程之获取北向南向资金 qmt更加详细的教程方法&#xff0c;会持续慢慢梳理。 也可找寻博主的历史文章&#xff0c;搜索关键词查看解决方案 &#xff01; 北向南向资金&#xff08;沪港通&#xff0c;深港通和港股通&#xff09; #北向南向资金交易日历 获取交易日列表…

Cartographer学习笔记

Cartographer 是一个跨多个平台和传感器配置提供 2D 和 3D 实时同步定位和地图绘制 (SLAM) 的系统。 1. 文件关系 2. 代码框架 common: 定义了基本数据结构和一些工具的使用接口。例如&#xff0c;四舍五入取整的函数、时间转化相关的一些函数、数值计算的函数、互斥锁工具等…

gcc源码分析 词法和语法分析

gcc源码分析 词法和语法分析 一、输入参数相关1、命令行到gcc二、词法与语法分析1、词法分析1.1 struct cpp_reader1.2 struct tokenrun/struct cpp_token/lookahead字段1.3 struct ht2.1 语法符号相关的结构体c_token定义如下:2.2在语法分析中实际上有多个API组成了其接口函数…

【Python】Selenium基础入门

Selenium基础入门 一、Selenium简介二、Selenium的安装三、Selenium的使用1.访问web网站2.元素定位根据标签 id 获取元素根据标签 name 属性的值获取元素根据 Xpath 语句获取元素根据标签名获取元素根据CSS选择器获取元素根据标签的文本获取元素&#xff08;精确定位&#xff0…

JVM学习-监控工具(一)

使用数据说明问题&#xff0c;使用知识分析问题&#xff0c;使用工具处理问题 无监控&#xff0c;不调优&#xff01; 命令行工具 在JDK安装目录下&#xff0c;可以查看到相应的命令行工具&#xff0c;如下图 jps(Java Process Status) 显示指定系统内所有的Hotpot虚拟机…

【算法刷题 | 动态规划08】6.9(单词拆分、打家劫舍、打家劫舍||)

文章目录 21.单词拆分21.1题目21.2解法&#xff1a;动规21.2.1动规思路21.2.2代码实现 22.打家劫舍22.1题目22.2解法&#xff1a;动规22.2.1动规思路22.2.2代码实现 23.打家劫舍||23.1题目23.2解法&#xff1a;动规23.2.1动规思路23.2.2代码实现 21.单词拆分 21.1题目 给你一…

如何获取当前dll或exe模块所在路径?

有时我们需要在当前运行的dll或exe模块中去动态加载当前模块同路径中的另一个库&#xff0c;或者启动当前模块同路径中的另一个exe程序&#xff0c;一般需要获取当前模块的路径&#xff0c;然后去构造同路径下目标模块的绝对路径&#xff0c;然后通过该绝对路径去加载或启动该目…

SpringBoot集成缓存功能

1. 缓存规范 Java Caching定义了五个核心接口&#xff0c;分别是&#xff1a;CachingProvider、CacheManager、Cache、Entry和Expiry。 CachingProvider&#xff1a;定义了创建、配置、获取、管理和控制多个CacheManager。一个应用可以在运行期访问多个CachingProvider。CacheM…

URL的编码解码(一),仅针对ASCII码字符

用十六进制对特定字符编码&#xff0c;利用百分号标识搜索字符串解码十六进制字符。 (笔记模板由python脚本于2024年06月09日 18:05:25创建&#xff0c;本篇笔记适合喜好探寻URL的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free…

基于深度学习的中文语音识别模型(支持wav、mp4、m4a等所有格式音频上传)【已开源】

基于深度学习的中文语音识别模型&#xff08;支持wav、mp4、m4a等所有格式音频上传&#xff09; 前言 该开源项目旨在提供一个能够自动检测并识别中文语音的模型&#xff0c;支持wav、mp4、m4a等格式的音频文件上传。无论是从录音设备中获取的wav文件&#xff0c;还是从视频中…