(完整版)基于单片机的电梯控制系统方案
基于AT89C51单片机电梯控制系统的设计

基于AT89C51单片机电梯控制系统的设计摘要:本次毕业课题设计是基于AT89C51单片机电梯控制系统的设计。
本次设计提出了用AT89C51单片机为核心控制元件及外围电路组成电梯控制系统模式。
通过对各楼层用户按钮信号的检测和处理,按预定的运行规则和程序,发出控制信号对电机进行调节,从而控制电梯的启停、速度和运行时间。
介绍电梯控制系统的硬件设计方法、系统构成以及软件的设计,详细说明了系统的组成及工作原理,关键词:单片机电梯自动控制1 引言在电梯控制系统中,电梯的选层和电梯的指示灯是由以单片机为中心控制系统。
在此系统中,指令系统相对复杂,如编写升降和选层; 其次,在设计控制系统硬件时,要有多种电路装置,如控制台电路、电梯内的电路、各层楼间的电路、等等:2 方案论证2.1方案一:电梯控制系统由各楼层的电梯间电路、电梯内电路和控制台电路三部分组成。
电梯在各楼层的定位本应采用行程开关,考虑到模型的操作性,采用延时控制。
相邻楼层间升降设定为2 s。
(1)各楼层的电梯间电路二、三楼的电梯间均有“上升”和“下降”选择按键,一楼只有“上升”按键,四楼只有“下降”按键,每个按键配一只发光二极管,作为指示灯。
(2)电梯内部电路目标楼层号1 –4选择按键。
每个按键配有相应指示灯。
(3)控制台电路①两个按键用于手动控制。
控制电梯的“开始运行”和“停止运行”。
②两个指示灯,分别指示电梯当前的升降情况。
③一只数码管,用于显示电梯当前所在的楼层。
2.2方案二:采用CPLD器件作为控制中心,对整个系统的运行进行统一管理,但这种方案要求平时有很多的知识积累和较强的专业水平,实现起来比较困难且器件较贵不符合经济要求,而且升降电机的控制,显示等还需要单片机的配合。
综上分析,方案一单片机比较合适此控制系统的要求。
所以我采用方案一。
3 各电路设计和论证3.1电源电路设计和论证3.1.1电源电路方案选择方案一:开关电源图1是开关电源电路硬件系统的原理图。
基于单片机的电梯控制系统

基于单片机的电梯控制系统————————————————————————————————作者:————————————————————————————————日期:1 课题概述1.1课题的主要研究内容及设计步骤本课题的主要任务是完成一个电梯系统的调度模块,即根据每个楼层不同顾客的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务。
根据此任务,本课题需要研究的内容有:1、根据系统的技术要求,进行系统硬件的总体方案设计;2、学习单片机的相关知识,并且加以运用;3、选择恰当的芯片,并对其内部协议有所掌握,便于应用。
4、研究C语言编程,并且规定电梯的工作规则,用C语言加以实现;5、对软件和硬件进行调试,让其协调工作,完成指定任务。
结合以上内容,本课题的设计方案步骤如下:关于硬件部分:首先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。
然后,结合这些实物,选择恰当的芯片,并分成若干模块,安排好各自之间的关系。
接着,要完成电路图的设计,画出PCB板,焊接相关器件后进行硬件调试,看是否好用并加以适当的更正。
关于软件部分:关于电梯调度时所遵循的原则作出规定,其必须基于高效与人性化两个原则。
最后是使用C语言将规定程序化,以便电梯真正的运作。
当然,二者的关系并不是分离的,它们是相辅相成,硬件依据软件来验证,软件依据硬件来调试。
经过一个个的发现问题、一个个的解决问题,最终做出完美的电梯调度模块。
1.2课题的开发环境简介1.2.1电路图制作软件proteus 7.2Proteus是目前最好的模拟单片机外围器件的工具,因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。
对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
基于单片机的电梯控制系统设计

数码管也就是常说的LED数码管,是一种利用半导体的基本功能来实现发光的器件。[4]发光二极管是它的基本单元。数码管的种类有很多种,按段数分可分为两种,分别为:七段数管和八段数码管;其根本区别是后者比前者多一个发光二极管。按能显示“8”的个数可分几种:分别为1位、2位、4位等等不同型号的数码管;按连接方式可分为两种发光二极管:共阳极数码管和共阴极数码管。其二者的区别在于是否将所有的发光二极管的阳极/阴极接到一起形成公共阳极/阴极的数码管。再根据接在相应的公共极,是否出现相应字段的亮或不亮来判断高低电平。由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛。
2 系统总体方案
2.1
(1)电梯无人控制,完全自动根据梯内或梯外的操作自动运行。
(2)电梯系统通电后,如果有呼叫信号,则电梯自动响应召唤,并且自动运行。
(3)按梯内外的召唤指令信号自动定向,有优先级的运行路径,减少电梯的运行时间。
(4)显示屏有显示电梯运行的方向以及到达的楼层。
2.2系统设计方案
2.2.1 显示模块的选择
方案一:1602液晶模块
1602液晶又称1602字符型液晶,它的功能是能够显示数字、字母以及符号等需要显示的内容,是一种专门的显示模块。它有很多个5*7或者5*11等点阵字符位组成,由于点阵的关系,它的每一个字符位都可以把一个字符显示出来。由于每一位点阵之前存在一个点距的间隔,同样,每一行之前也有间隔,所以他不能显示图形。它的优点是微功耗、体积小、显示内容丰富、超薄轻巧。[3]
目前的电梯控制系统大多采用继电器或者可编程控制器(PLC)的控制方式,存在着成本高,需要三相供电等缺点,本设计给出了一种基于单片机的电梯模型控制系统设计。以单片机为核心,通过使用适当的硬件电路和控制程序来检测和控制整个电梯的信号,具有成本低廉、通用性强、灵活性大、扩展容易及易于操作,实现较易控制等优点。[2]
基于单片机电梯控制系统设计与实现

基于单片机电梯控制系统设计与实现电梯控制系统是指在电梯上安装控制器,通过电梯内外按钮的操作控制电梯的运行,使电梯能够精确地到达乘客所要的楼层。
本文将介绍基于单片机的电梯控制系统的设计与实现,包括硬件部分和软件部分的详细介绍。
硬件设计。
硬件设计包括电梯控制器、电机控制板、电机驱动板和电源电路四大部分。
1.电梯控制器。
电梯控制器是整个系统的核心,它接收电梯内、外按钮的信号并根据运行状态和电梯门状态来控制电动机(或液压)的正、反转和制动。
电梯控制器的主要功能是实现电梯的平层、自动门开关等功能。
2.电机控制板。
电机控制板是控制电动机的主板,它通过控制电机的转速来控制电梯的运动。
电机控制板还可以在电梯故障时进行故障检测和报警。
3.电机驱动板。
电机驱动板是控制电机转向的板,它可以实现电梯的上升和下降,使电机能够按照电梯控制器的指令进行正、反转。
4.电源电路。
电源电路用来为整个系统提供电源,保证系统的正常运行。
软件设计。
电梯控制系统的软件设计包括编写程序、编译和烧录等步骤。
1.程序编写。
程序编写是整个软件设计的核心,主要用C语言编写,包括电梯控制器程序、电机控制板程序、电机驱动板程序等。
2.编译。
编译的目的是将程序转译成机器语言,使单片机能够理解运行。
编译使用工具可以是Keil或者IAR等软件。
3.烧录。
烧录是将编译好的程序通过编程器烧录进单片机中,未经烧录的单片机是无法工作的。
总结。
电梯控制系统是一项复杂的工程,需要综合考虑硬件、软件和安全等多方面的问题。
本文介绍了基于单片机的电梯控制系统的设计和实现,并提供了相关的硬件和软件设计思路,希望对读者有所帮助。
基于单片机的电梯控制设计

基于单片机的电梯控制设计随着现代城市的发展,高层建筑的数量不断增加,电梯已成为居民出行的必备工具。
电梯控制系统是电梯的核心部分,其合理、安全、高效的控制对电梯的运行起着决定性的作用。
本文基于单片机,对一种现代化电梯控制系统进行了设计和实现,并逐步介绍其原理和具体实现方法。
1.设计思路基于单片机的电梯控制系统,基于先进、高效的现代技术,采用数字、电子、计算机等技术,集成了电梯运行的各项功能,如门控、运行控制、限速保护、人员安全保护等。
结合具体使用场景,通过对电梯各种状态的控制,实现电梯的自动运行。
2.设计方案此次设计采用基于单片机的电梯控制方案,通过采用传感器、驱动器等电子元器件,真正实现了电梯的智能化控制。
主要由以下五个部分组成:(1)控制部分:采用AT89C52单片机作为主控制器,负责控制电梯各部分。
通过对单片机程序的编写,对各个部分进行精确的控制和调整。
(2)物理部分:即电梯的各个部分,包括电机、减速钢丝绳、限速器、轮架、门体等。
(3)传感器部分:通过安装在电梯厅和轿厢内的传感器,探测电梯的各种状态信息,例如:电梯内外乘客数量、电梯运行方向、门体状态等。
实时将这些状态码转换成数字数据传送到单片机中,实现对电梯运行状态的掌控。
(4)显示部分:将电梯运行状态的各种信息,通过LED数码管、液晶显示等形式,进行实时显示。
这部分可以为乘客提供明确的电梯状态信息,提高电梯使用效率和安全性。
(5)交互部分:如何使乘客和电梯进行有效的交互,减少误操作,是电梯控制设计的核心关键。
通过电子开门器、按钮等,实现乘客与电梯交互的整个过程。
3.实现过程(1)设计程序代码在AT89C52单片机中,通过程序设计实现电梯的各部分精确控制。
代码的设计需要考虑到电梯各种状态,例如:乘客进出电梯、电梯起升、降落等。
通过逻辑程序的编写,实现扫描电梯状态,并对电梯的运行进行掌控。
(2)制作原型通过根据设计方案,搭建各个部分的物理模型,并进行调试和安装。
基于单片机的电梯控制方案

基于单片机的电梯控制方案利用单片机作为控制核心,实现电梯的控制,其系统框图如下:图1基于单片机控制系统框图STC89C52单片机构建最小系统,输入模块采用按键方式,下面将详细探讨具体方案的实现。
1.3.1单片机最小系统本次设计选择的单片机为常见的STC89C52,该款芯片是STC公司生产的一种低耗能、高性能的CMOS8位微控制器,具有8K的可编程flash存储器。
使用的内核为经典的MCS-51内核,同时进行了更多改良。
图2STC89C52引脚图主要特点:1)8K的Flash;2)512字节的RAM;3)内置4K字节的EEPROM;4)全双工串行口;5)空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
1.3.2重量检测模块方案重量检测模块的主要作用是在电梯的载重超过额定重量时,检测装置能够向单片机发送信号,从而控制电梯不能运行并发出过载信号,提醒上梯的乘客下梯,过载开关打开后,门无法关闭。
根据其在电梯安装方式的不同,可以大致分为以下几种:1)活动轿厢地板。
这种是装在轿厢上的载重检测装置,活动地板与轿厢壁之间有一定的距离,轿厢地板支撑在压力传感器上,当重力超过设置值时,开关导通,单片机接收到信号。
2)轿顶称量装置。
这种装置是以压缩弹簧作为称重元件,在轿厢架上梁的绳头组合处设以超载装置的杠杆,当电梯承受不同重量的载荷时,绳头组合会带动杠杆发生上下移动,当超重时,杠杆的摆动会触动微动开关,给电梯相应的控制信号。
3)电阻应变式称量装置。
随着技术的发展电阻应变式装置逐渐的到来发展应用,该装置的主要由测量电桥、载频振荡器、放大器、低通滤波器等组成。
图3常见电阻应变式传感器1.3.3位置检测模块方案电梯在运行的过程中会经历启动加速,匀速运行和,减速停止3个过程,在停止时,轿厢必须要停在指定的位置。
位置检测装置的作用是通过光电传感器或其他传感器的检测,将信息发送给单片机,从而控制电梯,在平层区域内,使轿厢准确停在预定位置。
基于单片机控制的电梯控制系统

基于单片机控制的电梯控制系统第一章:引言1.1 研究背景电梯作为现代城市中必不可少的交通工具,已经成为人们日常生活中的一部分。
随着技术的发展,电梯也不再是简单的上下楼工具,而是逐渐成为智能化、自动化的设备。
电梯控制系统是电梯运行的核心,也是保证电梯安全、高效运行的关键。
1.2 研究目的和意义本文旨在设计并实现一个基于单片机控制的电梯控制系统,以提高电梯的运行效率和安全性。
通过对电梯控制系统的研究,可以更好地理解电梯的工作原理,为电梯的维护和运营提供参考。
同时,通过对单片机控制电梯系统的设计和实现,可以提高学生的实践能力和创新意识。
第二章:电梯控制系统的工作原理2.1 电梯的基本结构电梯由电动机、控制系统、导轨、轿厢、门等组成。
其中,控制系统是电梯运行的核心部分,负责控制电梯的上下运动、门的开关等功能。
2.2 电梯的工作流程电梯的工作流程包括乘客呼叫、电梯响应、开门、关门、上行或下行等步骤。
控制系统根据乘客的呼叫信号和电梯当前状态,确定电梯的运动方向和停靠楼层。
2.3 电梯控制算法电梯控制算法是决定电梯运行状态的关键。
常见的电梯控制算法有先来先服务算法、最短路径算法、最近调度算法等。
第三章:基于单片机的电梯控制系统设计3.1 系统硬件设计基于单片机的电梯控制系统的硬件设计包括电梯主控板、传感器、按钮等。
电梯主控板负责接收和处理各种信号,并控制电梯的运行。
传感器用于检测电梯当前状态,按钮用于乘客呼叫电梯。
3.2 系统软件设计基于单片机的电梯控制系统的软件设计包括程序的编写和调试。
程序需要根据电梯工作流程和控制算法,实现电梯的运行控制和状态监测等功能。
第四章:系统实现与测试4.1 硬件制作和连接根据设计要求,制作电梯主控板和其他硬件设备,并进行连接和调试。
4.2 软件编程与调试根据系统设计要求,编写电梯控制系统的软件程序,并进行调试和测试。
4.3 系统性能测试对电梯控制系统进行功能和性能测试,包括电梯的运行速度、响应时间、停靠楼层准确性等指标的测试。
基于单片机的电梯运行控制系统

基于单片机的电梯运行控制系统随着科技的不断进步,基于单片机的电梯运行控制系统成为了现代电梯行业的重要发展方向。
这种控制系统具有智能化、节能、安全可靠等诸多优势,为电梯的运行管理提供了全新的解决方案。
一、单片机在电梯运行控制系统中的应用单片机作为一种集成了微处理器、内存、外设接口等功能的芯片,具有体积小、价格低、可靠性高等特点,因此在电梯控制系统中得到了广泛应用。
基于单片机的电梯运行控制系统可以通过编程实现多种控制功能,如楼层呼叫、定向运行、减速停车等。
此外,单片机还可以结合传感器、变频器等设备,实现对电梯的智能监控和节能控制。
二、电梯运行控制系统的组成部分及工作原理电梯运行控制系统主要由以下几个部分组成:1、控制器:控制器是电梯运行控制系统的核心部分,主要负责接收乘客的呼叫信号,并根据最优路径算法确定电梯的运行方向和速度。
控制器一般由单片机及其外围电路组成。
2、呼叫信号装置:呼叫信号装置设置在各个楼层,用于乘客发送呼叫信号。
当乘客按下呼叫按钮时,相应的楼层信号将被发送到控制器。
3、显示装置:显示装置通常设置在电梯内,用于显示当前楼层、目的楼层等信息,以方便乘客了解电梯的运行状态。
4、传感器:传感器用于检测电梯的运行状态和位置信息,如电梯的上下方向、当前楼层等。
5、变频器:变频器用于控制电机的转速,从而实现电梯的速度控制。
电梯运行控制系统的工作原理如下:当乘客按下呼叫按钮时,控制器接收到楼层信号,并根据最优路径算法确定电梯的运行方向和速度。
变频器根据控制器的指令控制电机的转速,从而控制电梯的速度。
同时,传感器检测电梯的运行状态和位置信息,并将相关信息反馈给控制器。
控制器根据传感器的反馈信息调整电梯的运行状态,确保电梯的稳定运行。
三、现有问题及解决方法尽管基于单片机的电梯运行控制系统具有诸多优点,但在实际应用中仍存在一些问题。
例如,控制器可能出现故障,导致电梯无法正常运行。
为解决这一问题,可在控制器中加入备份电路,以确保在控制器出现故障时电梯仍能正常运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 课题概述1.1 课题的主要研究内容及设计步骤本课题的主要任务是完成一个电梯系统的调度模块,即根据每个楼层不同顾客的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务。
根据此任务,本课题需要研究的内容有:1、根据系统的技术要求,进行系统硬件的总体方案设计;2、学习单片机的相关知识,并且加以运用;3、选择恰当的芯片,并对其内部协议有所掌握,便于应用。
4、研究C语言编程,并且规定电梯的工作规则,用C语言加以实现;5、对软件和硬件进行调试,让其协调工作,完成指定任务。
结合以上内容,本课题的设计方案步骤如下:关于硬件部分:首先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。
然后,结合这些实物,选择恰当的芯片,并分成若干模块,安排好各自之间的关系。
接着,要完成电路图的设计,画出PCB板,焊接相关器件后进行硬件调试,看是否好用并加以适当的更正。
关于软件部分:关于电梯调度时所遵循的原则作出规定,其必须基于高效与人性化两个原则。
最后是使用C语言将规定程序化,以便电梯真正的运作。
当然,二者的关系并不是分离的,它们是相辅相成,硬件依据软件来验证,软件依据硬件来调试。
经过一个个的发现问题、一个个的解决问题,最终做出完美的电梯调度模块。
1.2课题的开发环境简介1.2.1 电路图制作软件proteus 7.2Proteus是目前最好的模拟单片机外围器件的工具,因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。
对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
1.2.2 C51的程序开发软件KeilKeil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和C 语言的程序设计,界面友好,易学易用。
2 方案论证2.1 设计功能要求本设计是为一六层电梯设计一调度系统,即使电梯能够合理高效地运行,完成各楼层顾客的接送任务。
形象地说,就是要应对不同楼层顾客的不同需求,作出合理高效的判断,使所有顾客在整体运用时间最短的条件下将其运往各自的目的地。
这个设计的成品应该可以作为真实电梯的控制系统一样,遵守以下两个原则:一是高效性,二是人性化。
而实际电梯所面临的情况无比复杂,故本设计的难点除了硬件上面外,还有对这些复杂的情况归类化,分为若干个基本情况,另外是用恰当的C语言描述来表达这些复杂的逻辑。
核心处两个步骤:第一判断电梯是上行还是下行;第二,判断是去接人还是去送人。
2.2 系统的结构框图图2-1 系统的结构框图如上图2-1所示,楼层电梯呼叫按键就是楼层外面的上行、下行按键,有需求时即可按下;电梯内呼叫按键就是电梯内部的数字按键,它是内部按键需求的输入;单片机就是整个系统的核心,接收输入信息,经过处理后输出信息;楼层显示数码管就是接收单片机处理的信息,显示此时的楼层数;电梯状态指示灯就是接收单片机处理的信息,显示电梯的状态:上升、下降、停止。
电动机的驱动和控制就是接收单片机的PWM脉冲信号来控制驱动器,进而控制电动机的正反转,使电动机牵引电梯做上下运动。
3 系统的硬件设计电梯最底层为1楼,因此在1楼仅有上升按键,而电梯最高层为6楼,因此6楼应仅有下降按键。
其他楼层则既有上升按键,也有下降按键。
在电梯内部按键设置方面,则应有1~6楼的各层选择按键。
按键的一端接地,另一端通过集成电路芯片连至单片机引脚。
这里,由于按键数量很多,又要求电梯控制系统能以最快速度响应按键的需求,因此,所有按键通过与门连接单片机。
用五片双4输入与门74LS21即可实现16个按键对象的集体与运算的最终结果,按键动作最终是送到单片机的INT0端。
即:INT0←(P1.0*P1.1*P1.2*P1.3)*(P1.4*P1.5*P1.6*P1.7)*(P3.0*P3.1*P2.0*P3.3)*(P3.4*P3.5*P2.1*P2.2)无论哪一个按键有动作,低电平信号就会送到INT0端,从而引发外部中断0服务子程序运行。
当定时器0中断时,单片机向电动机发送PWM脉冲信号,电动机接到脉冲信号后,经过驱动器的驱动,电动机便牵引电梯上下运动。
电梯的楼层显示用七段数码管完成显示。
本设计电梯只有6层,因此用七段数码管即可,数码管的显示数据通过单片机的P0口来进行传送。
设计中要求数码管随着电梯的位置变化而变化,即数码管显示数据要与楼层数同步,因此数码管的片选线直接连接地,而不需要再选择。
电梯升降的状态用上升和下降指示灯来进行显示,通过单片机的P3.7和P3.6引脚分别连接上升和下降指示灯的负极,其正极均连接至系统正电源处。
3.1单片机最小系统模块在本设计中,最小系统应该包括:单片机、晶振电路、复位电路。
如图3-1所示,晶振电路由C3与C2和晶振组成。
C3与C2是两个30pF的瓷片电容接地用来削减偕波对电路的稳定性的影响。
复位电路采取的为手动按键复位电路,由电容C13,电阻R1、C1和开关RESET组成,当单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。
图3-1 单片机的最小系统3.2电动机的选择我们选用三相异步电动机来做电梯的动力装置,因为国产Y系列的电动机具有高效、节能、特性好及低噪声等优点,我们将选用国内最先进的Y系列异步电动机。
这里我们选用Y100L24三相异步电动机,因为它还具有性能好、寿命长、可靠性高、维护方便、启动转矩大等优点,其功能参数为额定电压380V,额定频率50HZ,额定功率3000W,额定转速1400转/分。
如图3-2,在PROTEUS 中,我们选用的普通的MOTOR-BCD代替进行仿真。
图3-2电动机正反控制电路3.3中断电路图3-3 中断电路图中断电路如上图3-3所示。
图中外部0中断INT0与74LS21与门相接,低电平有效,所以当单片机接电源后,P1.0~P1.3引脚此时为高电平,当任一按键按下后,相应的中断输入口直接与地相接,高电平变为低电平,外部0中断立即响应,单片机系统进入中断控制子程序系统,在中断服务子程序中做出相应的执行指令。
3.4 数码管显示模块图3-4 数码管显示电路七段数码管外形如图3-4所示,即左边的7个引脚跟单片机P0口相接,下边的引脚连接地。
楼层内外分别用一个7段数码管显示,可以共用一个P0口。
3.5 按钮控制电路模块图3-5电梯不同楼层的按钮如图3-5所示,按键显示电路模块包括电梯内部的按钮和每层楼的上下按钮,这些按钮一端与地相接,一端又与单片机和与门74LS21相接,外部0中断低电平有效,这样可以实现模拟按键的自如操作。
3.6 报警电路如图3-6所示,电梯内添加手动报警电路,假若电梯发生故障,电梯内的人可自行发出报警信号,向外界求救。
该电路接在单片机的P2.7口。
图3-6电梯不同楼层的按钮3.7 模拟电路图如下图3-7所示,电路原理图包括状态指示灯模块、内外按键模块、中断电路模块、单片机的主要外围模块、数码管显示模块和电动机驱动控制模块、报警模块。
P0口的P0.1~P0.6引脚与数码管模块相接,P2口的P2.4~P2.7引脚与电动机驱动控制模块相接,P3口的P3.2引脚与中段电路模块相接,P1口的P1.0~P1.7引脚、P3.0~P3.1引脚、P3.3~P3.5引脚分别与对应的内外按键模块相接,P3.6~P3.7引脚与状态指示灯模块相接。
图3-7 模拟电路原理图4系统的软件设计从程序功能上来分,本设计的高层软件程序大概可以分为以下几类:一、运行与决策函数;二、中断处理函数;三、置位各状态变量函数;其中,第一类函数起作用于按键按下的时刻,当有按键按下时,通过74LS21以中断的方式发送给单片机,此时,单片机即对程序中所用到的各个状态变量进行置位并且点亮相关发光二极管,如置位按键所对应的去向变量等,方便决策函数使用。
第二类函数起作用于电梯到达目标楼层时,这时函数负责把相关发光二极管熄灭,并且及时清除相关状态位,以免影响判别函数作出正确判断。
第三类函数是程序的核心。
它直接负责管理电梯下一次所要到达的楼层,并且要基于短时间、高效率、人性化等原则。
每当电梯经过一楼层时,此函数即会被调用,然后返回一个变量名为aim的值,它即为下一个电梯要停留的目标楼层值。
4.1 单片机中断处理函数本设计主要用到了单片机的中断系统。
当有按键按下时,利用函数将键值存储起来,并在单片机引脚输出高电平发出中断进行相关处理。
中断的相关设置以及中断处理如图4.1所示。
图4.1 中断处理中的相关操作4.2 电梯判决函数在电梯经过一个楼层时,就会自动调用该函数。
其流程如图4.2所示。
图4-2 电梯判决流程图由图可知,程序中将实际情况分为四种情况来判断:电梯上行且是去送人、电梯上行且是去接人、电梯下行且是去送人、电梯下行且是去接人。
电梯各情况下所对应的处理方法,以电梯上行的两种状态为例:在实际应用中,最简单的情况莫过于电梯当前为闲置状态,然后有一人按下按键呼叫,然后电梯便响应呼叫。
但是,实际情况往往比这复杂的多,往往会有多人呼叫电梯。
那么就必须得为电梯规定好一个特定的优先级规则,以免乱作一团。
若电梯处于上行状态,则在该过程中响应不同顾客的优先级为:高层呼叫上行顾客>高层呼叫下行顾客>底层呼叫下行顾客>底层呼叫上行顾客。
若上行,且是送人,比如电梯当前在二层,六楼有人呼叫上楼,那么它就要响应这一呼叫,从而把自己的目标楼层锁定为六楼并向上运行,而在六楼呼叫后不久,五楼也有人呼叫上楼(且电梯此刻还未运行到五楼),那么在电梯运行中,每经过一个楼层,会做一次判决,因为五楼也有人呼叫,所以正常情况下,它应该在判决后将目标楼层定位五楼。
而若五楼的顾客按下的是下行键,或者二楼的人按下呼叫键,电梯此时都会暂时不予理会。
在程序中,当五楼有上行键呼叫时,状态变量f5up便会被置位,程序走到判别if((f5up==0)|(present>5))时,里面的内容即为假,则不再继续向下判断,而转向else语句中,里面又有一个判断,当确定此时确实有键按下且电梯当前所处楼层小于五楼时,目标楼层就会被变更到五楼,程序最终返回一个aim值。
由于程序中没有下行键的出现,故下行键的状态是不会影响到该程序的判决的。
此时程序的检测依据两个标准:第一,由低层像高层开始检查;第二,对于电梯已经过的楼层和按下下行键所发出的请求,电梯暂时是不予理会的。
这也是很明显的,因为上行送人状态中,低层的优先权大于高层的。
程序就是靠着上面这些if语句的嵌套,来完成这种优先级设置的。