电梯控制系统的设计.docx
《电梯控制系统的设计.docx》由会员分享,可在线阅读,更多相关《电梯控制系统的设计.docx(33页珍藏版)》请在冰豆网上搜索。
![电梯控制系统的设计.docx](https://file1.bdocx.com/fileroot1/2023-6/5/ad8bdb08-c393-44b1-a930-627a674f20c9/ad8bdb08-c393-44b1-a930-627a674f20c91.gif)
电梯控制系统的设计
电梯控制系统的设计
电梯控制系统的设计
本科生毕业论文(设计)
题目:
电梯控制系统的设计与实现
学院计算机学院
学科门类工科
专业计算机科学与技术
学号
姓名
指导教师
年月日
摘要
随着当前时代的进步和发展,单片机技术已经普及到我们生活、工作、科研以及各个领域,已经成为一种比较成熟的技术。
本文主要介绍了一个基于STC89C52单片机的电梯控制系统,详细描述了一个电梯控制系统的调度模块,即根据每个楼层不同用户的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务,重点是对整个电梯控制系统在单片机下的软件编程、硬件连接和各个控制模块系统流程进行的一步步透彻分析,同时对各部分硬件电路也进行了一一介绍。
整个电梯控制系统,ÒÔµ¥Æ¬»úΪºËÐÄ£¬ÔÙ¸¨ÒÔ各Â¥²ã°´¼üºÍ¿ØÖƳÌÐòÀ´¿ØÖÆÕû¸öµçÌݵÄÔËÐУ¬²¢Í¨¹ýÊýÂë¹Ü和发光二极管À´ÏÔʾµçÌݵÄ实时ÔËÐÐ״̬£¬¾ßÓгɱ¾µÍ¡¢Í¨ÓÃÐÔÇ¿¡¢Áé»îÐÔ´ó¼°Ò×ÓÚʵÏÖ¸´ÔÓ¿ØÖƵÈÓŵã,适合于我们的日常生活中的电梯控制,应用前景较广泛。
关键词:
单片机;电梯控制;调度模块
Abstract
Withtheprogressanddevelopment ofthecurrentera, microcontroller technologyhasspreadtoourlife, work, scientificresearch and variousfields, hasbecomearelativelymatu-re technology. Thispaperintroducesan elevator controlsystembasedonSTC89C52micro-controller, adetaileddescriptionofthe schedulingmoduleof anelevatorcontrolsystem,ac-cordingto differentuser needs buttons oneachfloor, theelevator to makeareasonablejud-gment, know correctlyandefficiently finishthepassengerelevator, key isconnected andeac-h moduleofthesystem for the controlprocess a thoroughanalysis oftheelevatorcontrols-ystem underthesinglechip softwareprogramming andhardware atthesametime, eachpar-tofthe hardwarecircuit were introduced inoneone. The elevatorcontrolsystem, singlechi-pmicrocomputerasthecore, supplementedby thefloor buttonsandthe controlprogram co-ntrolthe operationoftheelevator, and throughthedigitaltubeandthelightemittingdiod-e todisplaythe realtimeoperationstateof elevator, hastheadvantagesoflowcost, versat-ility, flexibilityand hastheadvantagesof easytoimplementcomplex control, controloftheelevator issuitablefor us indailylife, wideapplicationprospect.
KeyWords:
singlechipmicrocomputer; elevatorcontrolsystem; schedulingmodule
1.引言
近年来我国的经济飞速发展,人民生活水平的迅速提高,座座高楼大厦崛地而起,工作居住条件得到了巨大的改善。
在高楼大厦中,为了提高人们的生活工作效率,电梯便进入人们的生活,它作为¸ß²ã½¨ÖþÖа²È«¡¢¿É¿¿¡¢´¹Ö±ÉÏϵÄÔËÔع¤¾ß£¬¶Ô¸ÄÉÆÀͶ¯Ìõ¼þ¡¢¼õÇáÀͶ¯Ç¿¶ÈÆ𵽺ܴóµÄ×÷ÓᣵçÌݵÄÓ¦Ó÷¶Î§ºÜ¹ã£¬¿ÉÓÃÓÚ±ö¹Ý¡¢·¹µê¡¢°ì¹«´óÂ¥¡¢É̳¡¡¢ÓéÀÖ³¡Ëù¡¢²Ö¿âÒÔ¼°¾ÓÃñסլ´óÂ¥µÈ¡£ÔÚ当今Éç»áÖУ¬µçÌÝÒѳÉΪÈËÀà±Ø²»¿ÉÉٵĴ¹Ö±ÔËÊ佻ͨ¹¤¾ß¡£
追溯电梯的历史,发现µçÌݽøÈëÈËÃǵÄÉú»îÒѾ150ÄêÁË¡£1854Ä꣬ÔÚŦԼˮ¾§¹¬¾ÙÐеÄÊÀ½ç²©ÀÀ»áÉÏ£¬ÃÀ¹úÈËÒÁÀ³É³¡¤¸ñÀ×·ò˹¡¤°ÂµÄ˹µÚÒ»´ÎÏòÊÀÈËչʾÁËËûµÄ·¢Ã÷—ÀúÊ·ÉϵÚÒ»²¿°²È«Éý½µÌÝ¡£´ÓÄÇÒÔºó£¬Éý½µÌÝÔÚÊÀ½ç·¶Î§Äڵõ½Á˹㷺ӦÓã¬Ò԰µÄ˹µÄÃû×Ö¶øÃüÃûµÄµçÌݹ«Ë¾Ò²¿ªÊ¼ÁËËý»Ô»ÍµÄÂó̡£Ò»¸ö°ëÊÀ¼ÍµÄ·ç·çÓêÓ꣬·Ì츲µØµÄÀúÊ·±äǨ£¬¿Æ¼¼ÔÚ·¢Õ¹£¬µçÌÝÒ²ÔÚ½ø²½,ÈËÃǵÄÉú»î也Òò´Ë±äµÃ¸ü¼ÓÃÀºÃ¡£Öйú×îÔçµÄÒ»²¿µçÌݳöÏÖÔÚÉϺ££¬ÊÇÓÉÃÀ¹ú°ÂµÄ˹¹«Ë¾ÓÚ1901Äê°²×°µÄ¡£1932ÄêÓÉÃÀ¹ú°ÂµÄ˹¹«Ë¾°²×°ÔÚÌì½òÀû˳µÂ¾ÆµêµÄµçÌÝÖÁ½ñ»¹ÔÚ°²È«ÔËת×Å[1]¡£Ê®Ò»½ìÈýÖÐÈ«»áºó£¬ãåԡןĸ↑·ÅµÄ´º·ç£¬ÎÒ¹úµçÌÝÒµ½øÈëÁ˸ßËÙ·¢Õ¹µÄʱÆÚ¡£Î´À´µÄÉç»áÊdzÇÕòÓë³ÇÊн¥½¥Èںϣ¬并Ï໥ӰÏì,µçÌݽ«ÊÇÏÖ´úÈ˲»¿É»òȱµÄ´ú²½¹¤¾ß£¬Ëæ×ſƼ¼µÄ²»¶Ï½ø²½£¬¾¼ÃµÄÉîÈë·¢Õ¹£¬¿Æ¼¼½«ÒýÁìµçÌݽøÐÐÖʵķÉÔ¾£¬µçÌݽ«Ô½À´Ô½ÖÇÄÜ£¬越来越安全。
±¾文¸ø³öÁËÒ»ÖÖ»ùÓÚµ¥Æ¬»úµÄµçÌÝ¿ØÖÆϵͳÉè¼Æ£¬通过在单片机上完成电梯的调度控制系统,单片机又称单片微控制器,ÊÇÒ»ÖÖ¼¯³Éµç·оƬ£¬²ÉÓó¬´ó¹æÄ£¼¯³Éµç·¼¼Êõ°Ñ¾ßÓÐÊý¾Ý´¦ÀíÄÜÁ¦µÄÖÐÑë´¦ÀíÆ÷¡¢Ëæ»ú´æ´¢Æ÷¡¢Ö»¶Á´æ´¢Æ÷¡¢¶àÖÖI/O¿ÚºÍÖжÏϵͳ¡¢¶¨Ê±Æ÷/¼ÆÊýÆ÷µÈ¹¦Äܼ¯³Éµ½Ò»¿é¹èƬÉϹ¹³ÉµÄÍêÉƵÄ΢ÐͼÆËã»úϵͳ£¬它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件,同时也ÔÚ¹¤Òµ¿ØÖÆÁìÓò¹ã·ºÓ¦Óá£
2.设计目的及功能需求
2.1设计目的
本设计的主要任务是完成一个电梯系统的调度模块,即根据每个楼层不同顾客的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务。
根据此任务,本课题需要研究的内容有:
(1)根据系统的设计技术要求,进行系统硬件的总体方案设计;
(2)研究51单片机的相关知识,掌握并且加以运用;
(3)学习C语言编程,并且规定电梯的工作规则,用C语言编程加以实现,以完成电梯的各项功能;
(4)学习Proteus电路仿真系统,学会软件的使用并且画出电梯仿真图,以便编程时进行代码调试;
(5)在软件编程和硬件电路焊接完成后,对软件和硬件进行调试,让其协调工作,完成指定任务。
2.2设计功能需求
本设计为八层电梯的控制系统,如下为系统的功能需求及设计内容:
本电梯控制系统设计拟实现通电后,系统默认电梯停在一层;按下不同的按键电梯可以到达不同的楼层,如果电梯在上行,下面的楼层有呼叫电梯会继续上行,直到上行完了才会下行。
同样如果电梯在下行,上面的楼层有呼叫电梯会继续上行,直到下行完了才会上行;如需上行,请按下所要到达楼层的上行呼叫按钮,电梯显示开始上行,所经楼层号用数码管进行显示,到达,楼层号持续显示,并有蜂鸣器鸣叫以示到达;当轿厢停留在中间楼层时,可实现上或下行呼叫,行进方向按呼叫顺序进行,如同时呼叫,则坚持先上行,后下行原则;由LED箭头指示电梯是上行和下行的方向。
3.课题的开发环境简介
3.1电路仿真图制作软件
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持PIC10/12/16/18/24/30/33、8051、AVR、ARM、8086和MSP430等,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果[2]。
Proteus是单片机课堂教学的先进助手。
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,使用Proteus开发环境进行培训,在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。
对于我们来说课程设计、毕业设计是我们走向就业的重要实践环节。
由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。
实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。
因此,Proteus有较高的推广利用价值。
3.2C51的程序开发软件
单片机开发中除必要的硬件外,同样离不开软件。
我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了[3]。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。
KeilC51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。
掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是不二之选。
在设计中,我使用的就是程序开发软件就是KeilC51。
当开始一个新项目,只需简单的从设备数据库选择使用的设备芯片,uVisionIDE将设置好所有的编译器、汇编器、链接器和存储器选项。
C51工具包的整体结构,μVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及C51编译器编译生成目标文件(.obj)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.abs)。
abs文件由OH51转换成标准的hex文件,以供调试器dScope51或tScope51使用进行源代码级调试[4]。
4.系统方案论证与设计
该电梯控制系统主要由楼层按键和楼层鸣响及各楼层实时状态显示三部分电路组成,下面将一一介绍实现此系统功能的方案。
4.1主控制器模块的选用
方案1:
采用可编程逻辑器件CPLD作为控制器。
CPLD主要是由可编程逻辑宏单元围绕中心的可编程互连矩阵单元组成,它编程灵活集成度高、设计开发周期短、适用范围宽、开发工具先进、对设计者的硬件经验要求低、标准产品无需测试保密性强等特点,采用并行的输入输出方式,提高了系统的处理速度,其中MC结构较复杂,并具有复杂的I/O单元互连结构可由用户根据需要生成特定的电路结构,完成一定的功能,适合作为大规模控制系统的控制核心。
但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高,且从其编程语言也不熟悉的角度考虑我们放弃了此方案[5]。
方案2:
采用STC89C52单片机作为整个系统的核心,用其控制电梯运行功能,分析我们的系统,其关键在于实现电梯各个楼层的运行记录并显示,完成电梯的调度功能,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。
这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器。
其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,且采用高密度非易失存储器制造技术制造,将多功能8位CPU和闪烁存储器组合在单个芯片中,另外其程序的电可擦写特性,使得开发与试验比较容易,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[6]¡£
综合考虑,还是选择方案2,使用STC89C52作为主控制模块。
4.2电梯楼层显示模块的选择
方案1:
用LED点阵进行显示各个楼层及电梯上下行状态。
LED点阵具有显示清晰,显示内容丰富、清晰,显示原理简单、控制方便,显示快速的特点。
但单对于此系统我们不需要显示丰富的内容,而且LED点阵价格贵,且使用起来易损坏。
方案2:
用数码管和发光二极管进行显示。
数码管由于显示速度快,亮度强,高频特性好,使用简单,显示效果简洁明了,体积小,重量轻,寿命长,价格低廉而得到了广泛应用,且在此系统中可以用单个数码管显示楼层,使用不同颜色的发光二极管来区分电梯处于上下行。
综上所述选择方案2。
4.3电梯楼层按键模块的设计
由于本系统的电梯是八层楼使用,电梯外部每一层一般要使用一个上行按键和一个下下行按键,电梯内部每一楼层一个按键,所以加起来一共是24个按键,由于芯片上的I/O引脚有限,所以使用一个4*4的矩阵按键和8个按键组合起来完成按键模块,且共使用16个I/O引脚,既有足够的按键控制电梯运行,也留下了足够的芯片引脚供其他模块使用。
5.系统的硬件设计
5.1主控制模块的设计
如图5-1所示为单片机最小系统。
图5-1单片机最小系统
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
在本设计中,最小系统应该包括:
单片机、晶振电路、复位电路等。
5.1.1单片机STC89C52概述
STC89C52是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内4bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置用8位中央处理器(CPU)和Flash存储单元,功能强大。
STC89C52单片机可灵活应用于各种控制领域[7]。
STC89C52单片机提供以下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时、计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,STC89C52单片机可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时、计数器,串行通行口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位[8]。
STC89C52的引脚图如下图5-2所示。
图5-2STC89C52引脚图
下面对STC89C52的各个引脚作如下说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为STC89C52的一些特殊功能口,如下所示:
口管脚备选功能
P3.0/RXD(串行输入口)
P3.1/TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4/T0(记时器0外部输入)
P3.5/T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出[9]。
5.1.2单片机时钟电路
单片机时钟电路如图5-3所示。
图5-3单片机时钟电路图
如图5-3所示,晶振电路由C1与C2和晶振组成,晶振是给单片机提供工作信号脉冲的。
它的速率就是单片机的工作速率,简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
并在晶振的两引脚处接入两个10pF-50pF的瓷片电容接地用来削减偕波对电路的稳定性的影响。
晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。
但反过来运行速度越快对内存的速度要求就越高,对印刷电路板的工艺要求也越高,即要求产生的寄生电容要小,晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。
基于以上本设计我们考虑选择频率为12MHz的晶振,当振荡脉冲频率为12MHz时,一个机器周期为1us。
5.1.3单片机复位电路
单片机复位电路如图5-4所示。
图5-4单片复位电路图
复位是单片机的初始化操作,程序给单片机的复位引脚RST加大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。
STC89C52的复位是由外部的复位电路来实现的。
复位电路通常采用上电复位和手动复位两种方式,手动复位有电平方式和脉冲方式两种,我们采用了手动复位为电平方式的复位。
如图5-4所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。
当时钟频率选用12MHz时,C1取10uF,R1取10KΩ时,电容C1充放电时间τ=R1*C1=0.1s>2us(2个机器周期)。
如果RST持续为高电平,单片机就处于循环复位状态。
每次复位后,单片机的程序都会从第一条开始从新执行。
另外,还额外设计了滤波防干扰电路,由C13与R12组成,电源先经过它们再接入单片机的电源Vcc端,可以有效的减少杂波带来的干扰,影响电路[10]。
5.2显示模块的设计
电梯控制系统显示模块如图5-5所示。
图5-5显示模块图
电梯在运行过程中,通过数码管显示所经过楼层,D12和D13显示电梯处于上行或下行状态。
5.3按键模块的设计
电梯楼层按键模块如图5-6和5-7所示。
图5-6按键模块图
图5-7按键模块图
图5-6为电梯外部按键,每层楼有上下行请求按键,图5-7为电梯内部按键,分别为1到8楼的按键。
5.4蜂鸣器鸣响模块的设计
当电梯到达目地楼层,蜂鸣器响鸣,电梯开门并等待3s。
蜂鸣器鸣响模块如