《基于单片机的电梯控制系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的电梯控制系统设计.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科生毕业论文(设计)题 目: 基于单片机的电梯控制系统设计 姓 名: 学 院: 工学院 专 业: 自动化 班 级: 学 号: 指导教师: 职称: 副教授 2012 年05月10日目 录摘要- 1 -关键词- 1 -Abstract- 1 -Key words- 1 -0 引言- 1 -01 课题的提出及研究意义- 2 -02 国内外电梯系统技术的发展现状- 2 -03 课题研究的内容- 4 -1 材料与方法- 4 -1.1 软硬件开发环境- 4 -1.1.1 C52的程序开发软件Keil- 4 -1.1.2 proteus硬件仿真软件- 5 -1.2 方案论证- 5 -1.2.1 主控芯片选
2、择- 5 -1.2.2 楼层显示模块- 6 -1.2.3 声音提示模块- 6 -1.2.4 电动机模块- 6 -13 实现单片机控制电梯的主要方法- 6 -2 结果与分析- 7 -2.1硬件设计- 7 -2.1.1 硬件整体设计- 7 -2.1.2 单元模块设计- 8 -2.2 软件设计- 12 -2.2.1 软件运行整体设计- 12 -2.2.2 分析键值设计- 13 -2.2.3 电梯运行方向的判决方法- 14 -2.3 系统测试- 15 -2.3.1 软件调试编译- 15 -2.3.2 硬件仿真- 16 -2.3.3 功能测试- 17 -3 讨论- 18 -31 设计成果- 18 -32
3、 可扩展功能- 18 -33 讨论分析- 18 -致谢- 19 -参考文献:- 20 -附录- 21 -附录一:整体电路图- 21 -附录二:C程序代码- 22 -基于单片机的电梯控制系统设计自动化专业学生 指导教师 摘要:本文介绍了一种采用单片AT89C52芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能,简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。硬件部分主要由单片机的最小模块、电梯内外按钮控制模块、数码管显示楼层模块、发光二极管显示目的楼层模块、报警显示模块组成。软件部分使用kiel软件进行C语言
4、程序编写,用proteus软件进行仿真调试。本设计具有电梯控制系统所需的一些基本功能,能通过方向按键选择方向,能通过数字按键选择楼层,数码管显示实时楼层数,电动机控制部分采用直流电机及H桥驱动电路,使电梯箱能上下运动。硬件设计简单可靠,结合软件,基本实现了五层电梯运行的模拟仿真。关键词:AT89C52;单片机;电梯控制系统; C语言The design of the elevator control system based on microcontrollerStudent majoring in automation Tutor Abstract:This paper introduces
5、 a kind of single-chip AT89S52 chips for elevator control system design method, this paper discusses how to use microcontroller program to realize electronic design method, the microcontroller programming function, concise and changeful design method, shorten the development cycle, and make the elev
6、ator control system smaller more powerful.The hardware part is mainly composed of the smallest module of the microcontroller, the elevator button control inside and outside the module, digital display floor modules, light emitting diode display purposes floor module, alarm display modules. Keil soft
7、ware part of the C language program to prepare for simulation debugging with the proteus software. The design of the elevator control system required some basic functions, through the directional buttons to select the direction, through the number keys to select the floor, the digital display real-t
8、ime number of floors, The part of motor control uses H Bridge type circuit to control the DC motor . motor control to lift boxes up and down movement. The hardware design is simple and reliable, combining the software, the basic five elevators running simulation.Key words: AT89C52 devices; microcont
9、roller; elevator control system; the C language0 引言随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。因此电梯在我们的生活中起着举足轻重的作用。电梯已不仅是一种生产环节中的重要设备,更是一种人们频繁乘用的交通运输设备。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。从技术发展来看,这种系统将逐渐被淘汰。而单片机价格相当便宜,由单片机设计的控制系统可以随着设备的更新而不断修改完
10、善,更完美的实现设备的升级。01 课题的提出及研究意义电梯是集机械原理应用、电气控制技术、微处理技术、系统工程学等多科学和技术分支于一体的机电设备,它是建筑中永久垂直交通工具。电梯作为生产生活的典型运载工具使用已十分普及,其控制信号类型多,关系复杂,要求的控制性能特别高。随着经济的发展高层建筑越来越多对电梯的运行速度和控制性能也提出了更高的要求。而在我国于八十年代初至九十年代初投入使用的电梯,其中绝大部分采用继电器继电器阵列结构该结构体积大、接线复杂、噪音大、触点易磨损、故障率高、维护工作量大,已无法满足现代社会的需要。自上世纪80年代以来,微机控制系统得到了极大的发展,现已深人到我国工农业生
11、产的各个方方面面,随着电力电子技术和微电子技术的发展,使得以微机为核心的控制系统得到广泛应用。尤其是单片机的开发与应用,其深度和广度越来越大。微机应用于电梯控制系统,与传统的采用继电接触逻辑控制系统相比,具有很大优越性,一方面,它使整个系统的体积减小,可靠性提高,使用寿命延长;另一方面,它还简化了安装调试和维护维修的工作量,使整个电梯的运行成本降低。更突出的优点是微机具有灵活的算术和逻辑运算功能,具有很强的通信和可扩展功能,实现更完善的自动控制。常用的微机控制主要的有两种技术:基于PLC控制和基于单片机控制两大技术。可编程控制器,是微机技术与继电器常规控制技术相结合的产物,是在顺序控制器和微机
12、控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。而单片机价格相当便宜,也不像PLC那么有针对性,可以随着设备的更新而不断修改完善,更完美的实现设备的升级。基于单片机控制的电梯可以大大的降低成本而且运行也较可靠,采用单片机来实现老式电梯控制系统的改造无疑是最佳方案。由于单片机具有体积小、线路简单、无噪音、可靠性高、维护方便,是一种少投入、高回报的方案。同时能方便实现多台电梯的群
13、控,并通过通讯接口与楼宇自动化系统联接,实施对电梯的监控。02 国内外电梯系统技术的发展现状在现代社会和经济活动中,电梯已经成为城市物质文明的一种标志。特别是在高层建筑中,电梯是不可缺少的垂直运输工具。电梯作为垂直运输的升降设备,其特点是在高层建筑物中所占的面积很小,同时通过电气或其它的控制方式可以将乘客或货物安全、合理、有效地送到不同的楼层。基于这些优点,在建筑业特别是高层建筑飞速发展的今天,电梯行业也随之进入了新的发展时期。电梯的存在,使得每幢大型高楼都可以成为一座垂直的城市。在纽约的前世界贸易中心大楼里,除每天有5万人上班外,还有8万人次的来访和旅游,因此250台电梯和75台自动扶梯的设
14、置和正常运行,才使得合理调运人员、充分发挥大楼的功能成为现实。中国第一高楼、坐落在上海浦东的金茂大厦,高度420.5m,主楼地上88层,建筑面积220000,集金融、商业、办公和旅游为一体,其中60台电梯、18台扶梯的作用是显而易见的。20世纪初,美国出现了曳引式电梯,钢丝绳悬挂在曳引轮上,一端与轿厢连接,而另一端与对重连接,随曳引轮的转动,靠钢丝绳与曳引轮槽之间的摩擦力,使轿厢与对重作一生一降的相反运动。显然,钢丝绳不用缠绕,因此钢丝绳的长度和股数均不受控制,当然轿厢的载重量以及提升的高度就得到了提高,从而满足了人们对电梯的使用需求。因此,近一百年来,曳引电梯一直受到重视,并发展沿用至今。其
15、具体运行模型如图1所示:123 图1 曳引式电梯示意图1轿厢 2曳引轮 3对重在后来的几十年里,通过变换电动机级数的调速方法来调整电梯运行速度的技术相继研制成功,1933年,世界上第一台运行速度为6 m/s 的电梯被安装在美国纽约的帝国大厦。第二次世界大战后,建筑业的发展促使电梯进入了高峰发展时期,代表新技术的电子技术被广泛应用于电梯领域的同时,陆续出现了群控电梯、超高速电梯。随着电力电子技术的发展,晶闸管变流装置越来越多地用于电梯系统,使电梯的拖动系统简化,性能提高。同时交流调压调速系统的研制和开发,使交流电梯的调速性能有了明显的改善。进入20世纪80年代,通过控制电动机定子供电电压与频率调
16、整电梯运行速度的调压调频技术研制成功,出现了交流变压变频(VVVF)调速电梯,开拓了电梯拖动的新领域。1993年,日本生产了12.5m/s的世界最高速交流变压变频调速电梯,结束了支流电梯独占高速电梯领域的历史。电梯发展到今天,在使用需求和新技术应用方面都到了全面发展的时期。随着智能化、信息化建筑的兴起与完善,要求电梯不只是完成垂直运输的基本功能,还应以人为本,提高舒适度,特别从电梯运行的控制智能化角度考虑,电梯的优质服务不再是单一的“时间最短”问题,而是采用模糊理论、神经网络、专家系统等方法,以期实现单梯与群控管理的最佳模式、合理的配置与使用、远程监控与故障诊断、节能以及减少环境污染等。现在电
17、梯越来越朝着绿色方向发展,目前意义上的“绿色”,一般是强调“天然”的一面,强调与环境的协调与和谐。电梯属于纯粹的工业产品,其天然性应表现为对环境影响的尽可能小,与环境的协调与平衡,以及电梯本身的人性化。这也应是绿色电梯的发展方向。绿色电梯主要有下面两个方面:1、智能化:智能化电梯是传统的人工智能是无法胜任的。传统的智能控制是一种技术的事先安排,说到底是一种程序控制,是一种周期性的系统自动控制,实际上还算不上智能。而真正的智能电梯应更具人性化特点,不仅具有传统的人工智能的所有优点,而且还有传统的人工智能无法比拟的东西,具有动念和随机处理各种问题的能力,诸如能根据轿厢内的情况和各层的候梯信息,自动
18、地制定每次最优的运动速度和停车政策;自动选择运动方面;双向语音交流;到达目的层的语音提示等,让乘客有更多的主动性,使大楼交通运输实现真正的人机对话。智能化要求电梯有自动安全检测功能,让电梯自己能够检测到电梯的故障所在,并及时报警予以排除。2、安全:运行安全是电梯的根本和关键。可以说,电梯的全部其他工作都是以此为中心展开的,使电梯安全运行更有保障。运行安全不仅要消除电梯启动时较强的电磁辐射,使用安全材料和运行稳定,而且要有一种良好的视觉效果,让每一位乘客在宽敞、明亮轿厢内有安全、舒适的好心情。同时,电梯运行安全也要求电梯在运行中发生故障时,不但要使乘客容易与外界沟通联系,而且电梯本身应当能自动播
19、放让乘客感到放松的音乐,彻底消除产生紧张不安的情绪。当小孩和老人乘坐时,电梯对他们应给予一种如同家人般的照顾,不但让老人和孩子感到方便和舒适,而且更让其家人感到放心。电梯运行安全还要求电梯有自动休眠功能,使电梯在保证运行效率最高的同时,使电梯能最大限度地得到休眠。03 课题研究的内容随着科技的发展,微型计算机领域的不断进步,将使得将来电梯的体积大大减小,功能不断完善,过程的控制更平稳、可靠、抗干扰性能增强、机械与电气部件被机结合在一个设备内,把仪表、电子和计算机的功能综合在一起。因此微型计算机控制技术将会成为电梯运行中的关键技术。本次设计的主要内容是以单片机为主控制器的电梯控制系统。本来电梯系
20、统是一个相对复杂的系统,由于能力和经验有限,所以只能实现基本的功能如:层站呼叫、自动停层、轿厢命令响应等。通过单片机输出电压通过驱动电路然后控制电梯拖动。在此,本文以五层电梯为研究对象,选用52单片机(该机芯片选为AT89C52)作为其控制器,研究微机控制梯系统的设计方法。根据问题的提出、意义和文献综述,本课题研究的具体内容包括以下四个方面:(1)对电梯系统常用的控制方法的研究(2)电梯控制系统硬件组成及其原理(3)电梯的单片机系统软件设计 (4)电梯在信号传输中遇到的问题1 材料与方法1.1 软硬件开发环境1.1.1 C52的程序开发软件KeilKeil公司是一家业界领先的微控制器(MCU)
21、软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程
22、序变为机器码,用于MCS-52单片机的汇编软件有早期的A52,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-52系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软
23、件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。Keil生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。1.1.2 proteus硬件仿真软件Proteus软件是一种低投
24、资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例
25、如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是
26、某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。1.2 方案论证1.2.1 主控芯片选择 方案一:多片单片机控制方案。这种方案是使用多片单片机,其中一片是作为主控制器,另外设置了轿厢控制系统,每层的控制系统分别由一个单片机控制,然后通过主控制器和副控制器之间的通讯,实现电梯系统的控制。这种方案的控制系统的结构简单明了,各个系统之间相互独立便于维护和修检。所以根据功能要求需要选用5片AT89C51单片机就可以实现该电梯的功能。不过单片机之间的通讯较多,在目前通讯是个难
27、点,可能导致电梯运行过程不够稳定。方案二 :采用CPLD 器件作为控制中心,对整个系统的运作进行统一管理,但这种方案要求平时有很多的知识积累和较强的专业水平,实现起来比较困难且器件较贵,不符合经济要求,而且升降电机的控制,运行时间的测量、显示等还需要单片机的配合。方案三:一片单片机为主控制器的方案。MCU采用一个单片机控制所有的按键、数码管显示、电动机的转动、传感器的输出信号等,并对以上所有信号进行处理。这种方案的控制系统相对复杂,只适用于较简单的电梯控制系统,因为这次的设计的内容是5层电梯控制系统,所以选用这种方案。单片机技术目前较为成熟,自身资源丰富,硬件设计简单,成本低,可靠性高,结合软
28、件完全可以实现电梯运行状况的简单模拟。权衡以上方案的分析,采用方案三。1.2.2 楼层显示模块方案一:采用点阵式液晶显示器(LCD)显示各种相关数据以及信息。点阵式液晶显示器属于低功耗器件,但其价格较贵。方案二:采用传统的7段数码管(LED)显示电梯实时所到的楼层。虽功耗大,但其软件驱动简单,硬件电路调试方便,价格便宜,亮度大,能满足本设计的要求。以上两种方案中,选择方案二。1.2.3 声音提示模块方案一:采用美国ISD公司的2590语音芯片,该语音芯片录放时间为90 秒。ISD2500 系列具有抗断电、音质好,使用方便等优点。它的最大特点在于片内E2PROM容量为480K,所以录放时间长;有
29、10个地址输入端,寻址能力可达1024 位;最多能分600 段;设有OVF(溢出)端,便于多个器件级联。方案二:采用蜂鸣提示音提示当轿箱到达所需的楼层时,蜂鸣器响,提示乘客到达了所需的楼层,另外可以作为紧急停止时的报警提示信号,其软件驱动、硬件电路调试非常简洁方便,而且价格便宜,能满足本设计的要求。以上两种方案中,选择方案二。1.2.4 电动机模块方案一:采用步进电机作为本设计的执行元件,步进电机在定位性能方面十分优越。步进电机和普通电机的区别主要就在于其脉冲驱动的形式,步进电机不需要A/D 转换,能够直接将数字脉冲信号转化成为角位移。常用的步进电机每转一步,角度转1.8,在应用中,步进电机可
30、以同时完成两个工作,其一是传递转矩,其二是传递信息,升降精度很高。方案二:采用直流电机作为本设计的执行元件,直流电机工作是让线圈始终交替地处于稳定状态和非稳定平衡状态,通过控制电流的方向可以实现电机的正反转。直流电机在高起动转矩、大转矩、低惯量的系统中经常使用到。此题目中电机要带动的负载较大,对升降精度要求不是很,所以采用方案二。 13 实现单片机控制电梯的主要方法首先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。然后,结合这些实物,选择恰当的芯片,并分成若干模块,安排好各自之间的关系。由于其有诸多
31、按键和显示环节,而单片机的I/O口管脚资源实在有限,故需要I/O口扩展,用以管理二极管;同时要有专门的按键控制芯片,从而便于按键管理。接着,要完成电路图的设计,焊接相关器件后进行硬件调试,看是否好用并加以适当的更正,最终使硬件电路简单又实用。同时,如果每个选层按钮都采用独立的按键设置,可以很大程度上简化扫描按键程序,采集信号也容易得多,但是由于单片机接口有限,模拟电梯自动控制系统所需按键较多,如此会有接口不足的问题,所以本设计采用44按键矩阵开关电路作为外呼内选呼叫控制。出于同样问题,显示楼层电路采用数码管从串口输出。为了更接近实际的电梯控制系统,设计中还应该添加电梯外上下行请求显示,可用五个
32、发光二极管表示目的请求按键是否按下,有则亮,无则暗。软件方面至于采用中断方式还是采用查询的方式来检测用户的请求信息,可根据具体的设计方案来确定,同时要想准确地采集按键请求状态,就必须时时刻刻调用键盘矩阵扫描程序,也就增加了软件编程的难度。采用单片机作为核心,配以适当接口作为输入输出通道。实际电梯控制系统每层装有一个传感器,从而判断车厢所在位置,本模型使用延时函数对电梯运行楼层数进行控制。当电梯到达所选层,电梯开门延时等待进人并选层,然后延时关门执行请求,若无请求则停在本层等待请求。软件部分使用kiel作为开发环境,用C语言进行编程,采用查询方式来检测用户请求的按键信息并相应相应的函数。 随着人
33、类社会的不断发展,电梯在人们生活中越来越占着重要位置,如何使电梯发挥更大的作用关键在于电梯的控制方法的改进以及控制费用的降低。单片机之所以如此受欢迎在于其廉价的成本和可靠地运行性能。故应用单片机进行电梯的控制势必成为电梯今后发展的重要方向,最优化的程序设计以及更廉价的费用对促进电梯行业的发展用着重要的作用,通过对具体问题的分析和探讨,具体程序的优化与改良,本设计也致力于解决这一问题。2 结果与分析2.1硬件设计2.1.1 硬件整体设计(1)设计思路本次设计的基本思想是采用AT89C52单片机作为核心,利用其丰富的I/O接口与外围电路配合进行控制。采用延时函数来控制电梯的位置校验,采用数码管静态
34、显示来实时显示电梯所在楼层。采用行列式矩阵键盘矩阵作为外呼内选电路,由于是5层楼,故选用44矩阵键盘。当电梯到达目的楼层时电机停止,此时即可进、出乘客,乘客进入电梯之后可选择去哪一层,然后电梯根据乘客的选择判断去哪一层,继续运行。通过单片机控制电梯在上升过程中只响应上升呼叫,下降过程中只响应下降呼叫。电梯的正常运行通过单片机的控制来实现。(2) 功能框架图本电路主要由6大部分电路组成:键盘电路、单片机最小系统电路、楼层显示电路、电机驱动显示电路、目的楼层显示电路、警报电路。其中单片机最小系统主要由复位电路组成。电路复位后楼层显示数字1 表示电梯此时在一楼,显示电路数码管显示,电梯楼层位置是由延
35、时电路控制的,延时电路包括3秒延时和5秒延时,每层之间通过5秒延时控制即每延时5秒表示电梯走了一层,3秒延时是控制电梯的开门时间,3秒延时后电梯关门继续运行。电梯状态是通过两个发光管显示的,上行灯亮表示电梯在向上运行,下行灯亮表示电梯在向下运行。键盘电路采用44键盘矩阵共16个按键分,其中8个按键是各层楼外呼按键,5个按键是电梯内部的选择键。电梯的正常工作是通过对单片机写入程序控制的。总体方框图如图2所示:图2 功能框架2.1.2 单元模块设计 (1) 键盘矩阵电路的设计由于本电路所需按键较多,为了节省单片机的I/O口,故选用行列式键盘矩阵。本电路采用的是44键盘矩阵,分为外部按钮跟内部按钮两
36、部分。电路如图2 所示,0 - 7是接单片机的P3 端口,单片机采用行和列扫描法来判别这16个按键中哪个键按下,并将其信号进行储存,然后可根据每个按键的功能来通过单片机控制电梯的运行。下面将每个按键的功能说明一下:1L上: 一楼向上呼叫按键,此键按下表示一楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;2L上: 二楼向上呼叫按键,此键按下表示二楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;3L上: 三楼向上呼叫按键,此键按下表示三楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运
37、行到此楼层时判断是否该响应此呼叫;4L上: 四楼向上呼叫按键,此按键按下表示四楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;2L下:二楼向下呼叫按键,此键按下表示二楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;3L下:三楼向下呼叫按键,此键按下表示三楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;4L下:四楼向下呼叫按键,此按键按下表示四楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;5L下:
38、五楼向下呼叫按键,此按键按下表示五楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;1L目:电梯内部选择去一楼按键,此按键按下表示电梯里的乘客要去一楼,单片机根据此信号控制电梯的运行;2L目:电梯内部选择去二楼按键,此按键按下表示电梯里的乘客要去二楼,单片机根据此信号控制电梯运行;3L目:电梯内部选择去三楼按键,此按键按下表示电梯里的乘客要去三楼,单片机根据此信号控制电梯运行;4L目:电梯内部选择去四楼按键,此按键按下表示电梯里的乘客要去四楼,单片机根据此信号控制电梯运行;5L目:电梯内部选择去五楼按键,此按键按下表示电梯里的乘客要去五楼,单片机
39、根据此信号控制电梯运行;ALARM:警报按钮,此按钮按下表示电梯有突发情况,单片机根据此信号会将电梯停止运行,点亮警报指示灯并发出警报;键盘电路如图3 所示:图3 键盘矩阵电路(2) 单片机最小系统设计单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。在本设计中,最小系统应该包括:单片机、晶振电路、复位电路等。如图3所示,晶振电路由C1与C2和晶振组成,晶振是给单片机提供工作信号脉冲的。它的速率就是单片机的工作速率,简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。并在晶振的两引脚处接入两个10pF-50pF的瓷片电容接地用
40、来削减偕波对电路的稳定性的影响。复位电路采取的为手动按键复位电路,由电容C3,电阻R1、R2和开关RESET组成,当单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。每次复位后,单片机的程序都会从第一条开始从新执行。最小系统电路如图4所示:图4 最小系统电路(3) 显示电路设计本电路采用数码管显示电梯所到达的楼层数,数码管采用共阴极由单片机的P2口控制,当电梯运行到两楼层之间时,数码管显示为前一楼楼层。电路如图5 所示:图5 楼层显示电路(4) 电机正反转控制本电路中用两个发光二极管来表示电机正反转,如图5所示:用
41、单片机的P1.1口和P1.2口做输出口来驱动发光二极管,其中上行灯亮表示电机正转,下行灯亮表示电机反转、两灯都不亮表示电机停转。本设计使用两二极管反向并联再与电机串联,有效的节约了单片机端口的使用,又能准确的显示电机的运行状态。由于单片机的IO口电压过低,不能驱动电机,故电机驱动部分采用常用的H桥电路,如图6所示:图6 直流电机H桥驱动电路(5) 目的楼层显示电路本电路中用五个发光二极管显示电梯的目的楼层,置于电梯内部,分别由单片机的P1.3到P1.7控制,当对应的目标按键被按下时,向相应的控制口输入低电平,点亮二极管,其中亮的表示有人想前往该层楼,当电梯到达该楼层时,对应的二极管熄灭。每个二
42、极管均用1K的电阻进行限流。目的楼层显示电路如图7所示: 图7 目的楼层显示电路(6) 警报电路本电路由蜂鸣器和发光二极管两部分组成,其中蜂鸣器由单片机的P1.0口进行控制,二极管由单片机的P0.0口进行控制,由于P0口无内部电压,故在外部上拉电压。当有突发情况发生时,按下ALARM按钮,蜂鸣器会发出警报,二极管将点亮。警报电路如图8所示: 图8 警报电路2.2 软件设计2.2.1 软件运行整体设计软件设计是智能化系统进行数据采集、处理、控制等工作的基础。系统的软件设计直接影响整个系统的运转和硬件作用的发挥。本设计由于采用键盘矩阵来代替外呼内选按钮,而电梯的运行方向是根据这些呼叫按键和选择按键
43、来决定的,所以单片机要不断的扫描键盘来获取各层呼叫状态。从而来控制电梯的运行。故键盘矩阵扫描是本系统软件设计的重要一部分,另外要把键盘扫描到的各层的按键信息存储起来,然后和电梯的运行状态比较,判断是否响应各层呼叫(电梯只响应同方向呼叫),最后就是楼层显示部分和警报部分了。整个软件设计包括一下几部分:初始化程序使数码管显示“1”表示电梯处在一楼。主程序主要包括:判断乘客进入电梯后选择去哪一层,根据判断情况来控制电梯运行;电梯在运行过程中要不断的扫描键盘,从而来判断各楼层有无呼叫请求,;电梯在运行过程中只响应同方向的呼叫请求;实时显示电梯所在位置及运行状态(上行/下行);开关门有一定的延时来保证乘
44、客走出/进入电梯;软件流程图如图9 所示:图9 软件流程图2.2.2 分析键值设计单片机在读取到键值后,自然会分析该键值来自于哪一层楼的哪个按键。然后才可以把该按键对应的储存单位置1,点亮相应的二极管(实际中的电梯也是如此)。在本设计中,按键是按照行与列均匀分布的,特定的行与特定的列处的每个按键,均对应有特定的键值。首先可以人为地规定每个按键在电梯中所处的位置。例如规定位第一行按键为上行呼叫的按键等等(具体可参照电路图)。它有自己固定的键值。那么在返回键值后,只需用一个switch-case语句对相应存储数据进行置1即可。在程序中,我们定义了shang、xia、nei三个数组对相应的按键状况进
45、行存储,这一步是整个程序得以正常运行的前提与基础。在程序开始之前,我们设置了这样一些状态变量,它们分别对应于各个按键,当某个按键按下时,其对应的状态变量就会被置位。这样做的好处是使电梯在执行判决操作时,有据可循。因为判决函数就是依靠当前都有哪些键按下以及电梯此刻所处的上下行状态来判断下一个需要停留的目标楼层的。分析完键值的来源后,就要点亮相应的二极管。由于二极管是由单片机控制且是低电平使发光二极管点亮,故一般来说,要点亮哪个二极管,只需在单片机向相应端口输入0即可。当电梯到达该层后,我们再向该层对应的端口输入1即可熄灭该二极管。2.2.3 电梯运行方向的判决方法这是整个程序成功运行的核心保证。
46、在电梯经过一个楼层时,就会自动调用该函数,它的作用是基于短时间、高效率、人性化的基础上,合理智能的对电梯的运行进行调度,结合实际情况,最终得出电梯下一个目标停留楼层。其流程如图10所示: 图10 电梯判决流程图由图可知,程序中将实际情况分为四种情况来判断:电梯上行且是去送人(即电梯此时位于底层,而高层有人呼叫要上楼)、电梯上行且是去接人(即电梯此时位于底层,而高层有人呼叫要下楼)、电梯下行且是去送人(即电梯此时位于高层,而低层有人呼叫要下楼)、电梯下行且是去接人(即电梯此时位于高层,而低层有人呼叫要上楼)。在实际应用中,最简单的情况莫过于电梯当前为闲置状态,然后有一人按下按键呼叫,然后电梯便响应呼叫。但是,实际情况往往比这复杂的多,在第一个人按下按键电梯运行的过程中,还很有可能会有其他不同楼层的人按下不同的按键(上行或者下行)的情况发生。那么就必须得为电梯规定好一个特定的优先级规则,让其依据这个规则来运行,以免乱作一团。那么这个规则就必须要高效且人性化,在此,我们规定,当电梯上行时,均不理会那些按下行按键的顾客。并且,若在上行过程中,也有人在某层按的是上行按键,但是电梯此时已经走过了该层,那么电梯也绝对不会再选择先下行