片机课程设计-- 基于单片机的电梯控制系统.docx_第1页
片机课程设计-- 基于单片机的电梯控制系统.docx_第2页
片机课程设计-- 基于单片机的电梯控制系统.docx_第3页
片机课程设计-- 基于单片机的电梯控制系统.docx_第4页
片机课程设计-- 基于单片机的电梯控制系统.docx_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机综合实验实验报告学院 计 算 机 与 电 子 信 息 学 院 专业 电子信息工程 班级 电信11-2班 姓名 丘 海 健 学号 11034030234 实验题目 基于单片机的电梯控制系统 系统环境 Proteus 7 指导教师 左 敬 龙 实验时间 2013年10月28日 至 2013年11月01日实验报告评分:_基于单片机的电梯控制系统设计班级:电信11-2 姓名:丘海健 指导老师:左敬龙 摘要:本文介绍了一种采用单片AT89C52芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现电子设计的方法,利用单片机编程实现功能,简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。硬件部分主要由单片机的最小模块、电梯内外按钮控制模块、数码管显示楼层模块、发光二极管显示目的楼层模块、报警显示模块组成。软件部分使用kiel软件进行C语言程序编写,用proteus软件进行仿真调试。本设计具有电梯控制系统所需的一些基本功能,能通过方向按键选择方向,能通过数字按键选择楼层,数码管显示实时楼层数,电动机控制部分采用直流电机及H桥驱动电路,使电梯箱能上下运动。硬件设计简单可靠,结合软件,基本实现了五层电梯运行的模拟仿真。关键词:AT89C52;单片机;电梯控制系统; C语言1 引言随着现代高科技的发展,住房和办公用楼都已经逐渐向高层发展。电梯是高层宾馆、商店、住宅、多层仓库等高层建筑不可缺少的垂直方向的交通运输工具。因此电梯在我们的生活中起着举足轻重的作用。电梯已不仅是一种生产环节中的重要设备,更是一种人们频繁乘用的交通运输设备。由于传统的电梯运行逻辑控制系统采用的是继电器逻辑控制线路。采用这种控制线路,存在易出故障、维护不便、运行寿命较短、占用空间大等缺点。从技术发展来看,这种系统将逐渐被淘汰。而单片机价格相当便宜,由单片机设计的控制系统可以随着设备的更新而不断修改完善,更完美的实现设备的升级。11 课题的提出及研究意义电梯是集机械原理应用、电气控制技术、微处理技术、系统工程学等多科学和技术分支于一体的机电设备,它是建筑中永久垂直交通工具。电梯作为生产生活的典型运载工具使用已十分普及,其控制信号类型多,关系复杂,要求的控制性能特别高。随着经济的发展高层建筑越来越多对电梯的运行速度和控制性能也提出了更高的要求。而在我国于八十年代初至九十年代初投入使用的电梯,其中绝大部分采用继电器继电器阵列结构该结构体积大、接线复杂、噪音大、触点易磨损、故障率高、维护工作量大,已无法满足现代社会的需要。自上世纪80年代以来,微机控制系统得到了极大的发展,现已深人到我国工农业生产的各个方方面面,随着电力电子技术和微电子技术的发展,使得以微机为核心的控制系统得到广泛应用。尤其是单片机的开发与应用,其深度和广度越来越大。微机应用于电梯控制系统,与传统的采用继电接触逻辑控制系统相比,具有很大优越性,一方面,它使整个系统的体积减小,可靠性提高,使用寿命延长;另一方面,它还简化了安装调试和维护维修的工作量,使整个电梯的运行成本降低。更突出的优点是微机具有灵活的算术和逻辑运算功能,具有很强的通信和可扩展功能,实现更完善的自动控制。常用的微机控制主要的有两种技术:基于PLC控制和基于单片机控制两大技术。可编程控制器,是微机技术与继电器常规控制技术相结合的产物,是在顺序控制器和微机控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。而单片机价格相当便宜,也不像PLC那么有针对性,可以随着设备的更新而不断修改完善,更完美的实现设备的升级。基于单片机控制的电梯可以大大的降低成本而且运行也较可靠,采用单片机来实现老式电梯控制系统的改造无疑是最佳方案。由于单片机具有体积小、线路简单、无噪音、可靠性高、维护方便,是一种少投入、高回报的方案。同时能方便实现多台电梯的群控,并通过通讯接口与楼宇自动化系统联接,实施对电梯的监控。12 国内外电梯系统技术的发展现状在现代社会和经济活动中,电梯已经成为城市物质文明的一种标志。特别是在高层建筑中,电梯是不可缺少的垂直运输工具。电梯作为垂直运输的升降设备,其特点是在高层建筑物中所占的面积很小,同时通过电气或其它的控制方式可以将乘客或货物安全、合理、有效地送到不同的楼层。基于这些优点,在建筑业特别是高层建筑飞速发展的今天,电梯行业也随之进入了新的发展时期。电梯的存在,使得每幢大型高楼都可以成为一座垂直的城市。在纽约的前世界贸易中心大楼里,除每天有5万人上班外,还有8万人次的来访和旅游,因此250台电梯和75台自动扶梯的设置和正常运行,才使得合理调运人员、充分发挥大楼的功能成为现实。中国第一高楼、坐落在上海浦东的金茂大厦,高度420.5m,主楼地上88层,建筑面积220000,集金融、商业、办公和旅游为一体,其中60台电梯、18台扶梯的作用是显而易见的。20世纪初,美国出现了曳引式电梯,钢丝绳悬挂在曳引轮上,一端与轿厢连接,而另一端与对重连接,随曳引轮的转动,靠钢丝绳与曳引轮槽之间的摩擦力,使轿厢与对重作一生一降的相反运动。显然,钢丝绳不用缠绕,因此钢丝绳的长度和股数均不受控制,当然轿厢的载重量以及提升的高度就得到了提高,从而满足了人们对电梯的使用需求。因此,近一百年来,曳引电梯一直受到重视,并发展沿用至今。其具体运行模型如图1所示:123 图1 曳引式电梯示意图1轿厢 2曳引轮 3对重在后来的几十年里,通过变换电动机级数的调速方法来调整电梯运行速度的技术相继研制成功,1933年,世界上第一台运行速度为6 m/s 的电梯被安装在美国纽约的帝国大厦。第二次世界大战后,建筑业的发展促使电梯进入了高峰发展时期,代表新技术的电子技术被广泛应用于电梯领域的同时,陆续出现了群控电梯、超高速电梯。随着电力电子技术的发展,晶闸管变流装置越来越多地用于电梯系统,使电梯的拖动系统简化,性能提高。同时交流调压调速系统的研制和开发,使交流电梯的调速性能有了明显的改善。进入20世纪80年代,通过控制电动机定子供电电压与频率调整电梯运行速度的调压调频技术研制成功,出现了交流变压变频(VVVF)调速电梯,开拓了电梯拖动的新领域。1993年,日本生产了12.5m/s的世界最高速交流变压变频调速电梯,结束了支流电梯独占高速电梯领域的历史。电梯发展到今天,在使用需求和新技术应用方面都到了全面发展的时期。随着智能化、信息化建筑的兴起与完善,要求电梯不只是完成垂直运输的基本功能,还应以人为本,提高舒适度,特别从电梯运行的控制智能化角度考虑,电梯的优质服务不再是单一的“时间最短”问题,而是采用模糊理论、神经网络、专家系统等方法,以期实现单梯与群控管理的最佳模式、合理的配置与使用、远程监控与故障诊断、节能以及减少环境污染等。现在电梯越来越朝着绿色方向发展,目前意义上的“绿色”,一般是强调“天然”的一面,强调与环境的协调与和谐。电梯属于纯粹的工业产品,其天然性应表现为对环境影响的尽可能小,与环境的协调与平衡,以及电梯本身的人性化。这也应是绿色电梯的发展方向。绿色电梯主要有下面两个方面:1、智能化:智能化电梯是传统的人工智能是无法胜任的。传统的智能控制是一种技术的事先安排,说到底是一种程序控制,是一种周期性的系统自动控制,实际上还算不上智能。而真正的智能电梯应更具人性化特点,不仅具有传统的人工智能的所有优点,而且还有传统的人工智能无法比拟的东西,具有动念和随机处理各种问题的能力,诸如能根据轿厢内的情况和各层的候梯信息,自动地制定每次最优的运动速度和停车政策;自动选择运动方面;双向语音交流;到达目的层的语音提示等,让乘客有更多的主动性,使大楼交通运输实现真正的人机对话。智能化要求电梯有自动安全检测功能,让电梯自己能够检测到电梯的故障所在,并及时报警予以排除。2、安全:运行安全是电梯的根本和关键。可以说,电梯的全部其他工作都是以此为中心展开的,使电梯安全运行更有保障。运行安全不仅要消除电梯启动时较强的电磁辐射,使用安全材料和运行稳定,而且要有一种良好的视觉效果,让每一位乘客在宽敞、明亮轿厢内有安全、舒适的好心情。同时,电梯运行安全也要求电梯在运行中发生故障时,不但要使乘客容易与外界沟通联系,而且电梯本身应当能自动播放让乘客感到放松的音乐,彻底消除产生紧张不安的情绪。当小孩和老人乘坐时,电梯对他们应给予一种如同家人般的照顾,不但让老人和孩子感到方便和舒适,而且更让其家人感到放心。电梯运行安全还要求电梯有自动休眠功能,使电梯在保证运行效率最高的同时,使电梯能最大限度地得到休眠。13 课题研究的内容随着科技的发展,微型计算机领域的不断进步,将使得将来电梯的体积大大减小,功能不断完善,过程的控制更平稳、可靠、抗干扰性能增强、机械与电气部件被机结合在一个设备内,把仪表、电子和计算机的功能综合在一起。因此微型计算机控制技术将会成为电梯运行中的关键技术。本次设计的主要内容是以单片机为主控制器的电梯控制系统。本来电梯系统是一个相对复杂的系统,由于能力和经验有限,所以只能实现基本的功能如:层站呼叫、自动停层、轿厢命令响应等。通过单片机输出电压通过驱动电路然后控制电梯拖动。在此,本文以五层电梯为研究对象,选用52单片机(该机芯片选为AT89C52)作为其控制器,研究微机控制梯系统的设计方法。根据问题的提出、意义和文献综述,本课题研究的具体内容包括以下四个方面:(1)对电梯系统常用的控制方法的研究(2)电梯控制系统硬件组成及其原理(3)电梯的单片机系统软件设计(4)电梯在信号传输中遇到的问题2 总体设计方案 2.1设计思路本次设计的基本思想是采用AT89C52单片机作为核心,利用其丰富的I/O接口与外围电路配合进行控制。采用延时函数来控制电梯的位置校验,采用数码管静态显示来实时显示电梯所在楼层。采用行列式矩阵键盘矩阵作为外呼内选电路,由于是5层楼,故选用44矩阵键盘。当电梯到达目的楼层时电机停止,此时即可进、出乘客,乘客进入电梯之后可选择去哪一层,然后电梯根据乘客的选择判断去哪一层,继续运行。通过单片机控制电梯在上升过程中只响应上升呼叫,下降过程中只响应下降呼叫。电梯的正常运行通过单片机的控制来实现。2.1.1方案确立(1)主控芯片选择 方案一:多片单片机控制方案。这种方案是使用多片单片机,其中一片是作为主控制器,另外设置了轿厢控制系统,每层的控制系统分别由一个单片机控制,然后通过主控制器和副控制器之间的通讯,实现电梯系统的控制。这种方案的控制系统的结构简单明了,各个系统之间相互独立便于维护和修检。所以根据功能要求需要选用5片AT89C51单片机就可以实现该电梯的功能。不过单片机之间的通讯较多,在目前通讯是个难点,可能导致电梯运行过程不够稳定。方案二 :采用CPLD 器件作为控制中心,对整个系统的运作进行统一管理,但这种方案要求平时有很多的知识积累和较强的专业水平,实现起来比较困难且器件较贵,不符合经济要求,而且升降电机的控制,运行时间的测量、显示等还需要单片机的配合。方案三:一片单片机为主控制器的方案。MCU采用一个单片机控制所有的按键、数码管显示、电动机的转动、传感器的输出信号等,并对以上所有信号进行处理。这种方案的控制系统相对复杂,只适用于较简单的电梯控制系统,因为这次的设计的内容是5层电梯控制系统,所以选用这种方案。单片机技术目前较为成熟,自身资源丰富,硬件设计简单,成本低,可靠性高,结合软件完全可以实现电梯运行状况的简单模拟。权衡以上方案的分析,采用方案三。(2)楼层显示模块方案一:采用点阵式液晶显示器(LCD)显示各种相关数据以及信息。点阵式液晶显示器属于低功耗器件,但其价格较贵。方案二:采用传统的7段数码管(LED)显示电梯实时所到的楼层。虽功耗大,但其软件驱动简单,硬件电路调试方便,价格便宜,亮度大,能满足本设计的要求。以上两种方案中,选择方案二。(3) 声音提示模块方案一:采用美国ISD公司的2590语音芯片,该语音芯片录放时间为90 秒。ISD2500 系列具有抗断电、音质好,使用方便等优点。它的最大特点在于片内E2PROM容量为480K,所以录放时间长;有10个地址输入端,寻址能力可达1024 位;最多能分600 段;设有OVF(溢出)端,便于多个器件级联。方案二:采用蜂鸣提示音提示当轿箱到达所需的楼层时,蜂鸣器响,提示乘客到达了所需的楼层,另外可以作为紧急停止时的报警提示信号,其软件驱动、硬件电路调试非常简洁方便,而且价格便宜,能满足本设计的要求。以上两种方案中,选择方案二。(4)电动机模块方案一:采用步进电机作为本设计的执行元件,步进电机在定位性能方面十分优越。步进电机和普通电机的区别主要就在于其脉冲驱动的形式,步进电机不需要A/D 转换,能够直接将数字脉冲信号转化成为角位移。常用的步进电机每转一步,角度转1.8,在应用中,步进电机可以同时完成两个工作,其一是传递转矩,其二是传递信息,升降精度很高。方案二:采用直流电机作为本设计的执行元件,直流电机工作是让线圈始终交替地处于稳定状态和非稳定平衡状态,通过控制电流的方向可以实现电机的正反转。直流电机在高起动转矩、大转矩、低惯量的系统中经常使用到。此题目中电机要带动的负载较大,对升降精度要求不是很,所以采用方案二。 2.1.2实现单片机控制电梯的主要方法首先,对实际的电梯系统进行模拟,一般情况下,一个电梯应该具备相关按键、显示二极管、数码管等,由于这是一个调度模块,故没有设计具体的轿厢等机械部分。然后,结合这些实物,选择恰当的芯片,并分成若干模块,安排好各自之间的关系。由于其有诸多按键和显示环节,而单片机的I/O口管脚资源实在有限,故需要I/O口扩展,用以管理二极管;同时要有专门的按键控制芯片,从而便于按键管理。接着,要完成电路图的设计,焊接相关器件后进行硬件调试,看是否好用并加以适当的更正,最终使硬件电路简单又实用。同时,如果每个选层按钮都采用独立的按键设置,可以很大程度上简化扫描按键程序,采集信号也容易得多,但是由于单片机接口有限,模拟电梯自动控制系统所需按键较多,如此会有接口不足的问题,所以本设计采用44按键矩阵开关电路作为外呼内选呼叫控制。出于同样问题,显示楼层电路采用数码管从串口输出。为了更接近实际的电梯控制系统,设计中还应该添加电梯外上下行请求显示,可用五个发光二极管表示目的请求按键是否按下,有则亮,无则暗。软件方面至于采用中断方式还是采用查询的方式来检测用户的请求信息,可根据具体的设计方案来确定,同时要想准确地采集按键请求状态,就必须时时刻刻调用键盘矩阵扫描程序,也就增加了软件编程的难度。采用单片机作为核心,配以适当接口作为输入输出通道。实际电梯控制系统每层装有一个传感器,从而判断车厢所在位置,本模型使用延时函数对电梯运行楼层数进行控制。当电梯到达所选层,电梯开门延时等待进人并选层,然后延时关门执行请求,若无请求则停在本层等待请求。软件部分使用kiel作为开发环境,用C语言进行编程,采用查询方式来检测用户请求的按键信息并相应相应的函数。 随着人类社会的不断发展,电梯在人们生活中越来越占着重要位置,如何使电梯发挥更大的作用关键在于电梯的控制方法的改进以及控制费用的降低。单片机之所以如此受欢迎在于其廉价的成本和可靠地运行性能。故应用单片机进行电梯的控制势必成为电梯今后发展的重要方向,最优化的程序设计以及更廉价的费用对促进电梯行业的发展用着重要的作用,通过对具体问题的分析和探讨,具体程序的优化与改良,本设计也致力于解决这一问题。2.2功能框架图本电路主要由6大部分电路组成:键盘电路、单片机最小系统电路、楼层显示电路、电机驱动显示电路、目的楼层显示电路、警报电路。其中单片机最小系统主要由复位电路组成。电路复位后楼层显示数字1 表示电梯此时在一楼,显示电路数码管显示,电梯楼层位置是由延时电路控制的,延时电路包括3秒延时和5秒延时,每层之间通过5秒延时控制即每延时5秒表示电梯走了一层,3秒延时是控制电梯的开门时间,3秒延时后电梯关门继续运行。电梯状态是通过两个发光管显示的,上行灯亮表示电梯在向上运行,下行灯亮表示电梯在向下运行。键盘电路采用44键盘矩阵共16个按键分,其中8个按键是各层楼外呼按键,5个按键是电梯内部的选择键。电梯的正常工作是通过对单片机写入程序控制的。总体方框图如图0所示:图0 功能框架3 设计原理分析3.1硬件设计3.1.1时钟电路图1 时钟电路图 单片机的时钟电路有振荡电路和分频电路组成。其中振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。AT89C52单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作,因此时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。AT89C52单片机电路中的电容C1和C2典型值通常选择为30pF。晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。但反过来运行速度越快对内存的速度要求就越高,对印刷电路板的工艺要求也越高,即要求产生的寄生电容要小,晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。基于以上本设计我们考虑选择频率为12MHz的晶振,当振荡脉冲频率为12MHz时,一个机器周期为1us。3.1.2复位电路图2 复位电路图复位是单片机的初始化操作,程序给单片机的复位引脚RST加大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。AT89C52的复位是由外部的复位电路来实现的。复位电路通常采用上电复位和手动复位两种方式,手动复位有电平方式和脉冲方式两种,我们采用了手动复位为电平方式的复位。如图3-2所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。当时钟频率选用12MHz时,C1取10uF,R1取10K时,电容C1充放电时间=R1*C1=0.1s2us(2个机器周期)。3.1.3键盘矩阵电路的设计由于本电路所需按键较多,为了节省单片机的I/O口,故选用行列式键盘矩阵(但是使用了矩阵键盘就与真实电梯有明显的区别了)。本电路采用的是44键盘矩阵,分为外部按钮跟内部按钮两部分。电路如图2 所示,0 - 7是接单片机的P3 端口,单片机采用行和列扫描法来判别这16个按键中哪个键按下,并将其信号进行储存,然后可根据每个按键的功能来通过单片机控制电梯的运行。下面将每个按键的功能说明一下:1L上: 一楼向上呼叫按键,此键按下表示一楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;2L上: 二楼向上呼叫按键,此键按下表示二楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;3L上: 三楼向上呼叫按键,此键按下表示三楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;4L上: 四楼向上呼叫按键,此按键按下表示四楼有人要乘坐电梯上楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;2L下:二楼向下呼叫按键,此键按下表示二楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;3L下:三楼向下呼叫按键,此键按下表示三楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;4L下:四楼向下呼叫按键,此按键按下表示四楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;5L下:五楼向下呼叫按键,此按键按下表示五楼有人要乘坐电梯下楼,并且单片机将此信号存入固定单元,等到电梯运行到此楼层时判断是否该响应此呼叫;1L:电梯内部选择去一楼按键,此按键按下表示电梯里的乘客要去一楼,单片机根据此信号控制电梯的运行;2L:电梯内部选择去二楼按键,此按键按下表示电梯里的乘客要去二楼,单片机根据此信号控制电梯运行;3L:电梯内部选择去三楼按键,此按键按下表示电梯里的乘客要去三楼,单片机根据此信号控制电梯运行;4L:电梯内部选择去四楼按键,此按键按下表示电梯里的乘客要去四楼,单片机根据此信号控制电梯运行;5L:电梯内部选择去五楼按键,此按键按下表示电梯里的乘客要去五楼,单片机根据此信号控制电梯运行;ALARM:警报按钮,此按钮按下表示电梯有突发情况,单片机根据此信号会将电梯停止运行,点亮警报指示灯并发出警报;键盘电路如图3 所示:图3 键盘矩阵电路3.1.4 显示电路设计本电路采用数码管显示电梯所到达的楼层数,数码管采用共阴极由单片机的P0口控制,当电梯运行到两楼层之间时,数码管显示为前一楼楼层。电路如图5 所示:图5 楼层显示电路3.1.5 电机正反转控制本电路中用两个发光二极管来表示电机正反转,如图6所示:用单片机的P1.1口和P1.2口做输出口来驱动发光二极管,其中上行灯亮表示电机正转,下行灯亮表示电机反转、两灯都不亮表示电机停转。本设计使用两二极管反向并联再与电机串联,有效的节约了单片机端口的使用,又能准确的显示电机的运行状态。由于单片机的IO口电压过低,不能驱动电机,故电机驱动部分采用常用的H桥电路,如图6所示:图6 直流电机H桥驱动电路3.1.6 目的楼层显示电路本电路中用五个发光二极管显示电梯的目的楼层,置于电梯内部,分别由单片机的P1.3到P1.7控制,当对应的目标按键被按下时,向相应的控制口输入低电平,点亮二极管,其中亮的表示有人想前往该层楼,当电梯到达该楼层时,对应的二极管熄灭。每个二极管均用1K的电阻进行限流。目的楼层显示电路如图7所示: 图7 目的楼层显示电路3.1.7 警报电路本电路由蜂鸣器和发光二极管两部分组成,其中蜂鸣器由单片机的P1.0口进行控制,二极管由单片机的P0.0口进行控制,由于P0口无内部电压,故在外部上拉电压。当有突发情况发生时,按下ALARM按钮,蜂鸣器会发出警报,二极管将点亮。警报电路如图8所示: 图8 警报电路3.2软件设计3.2.1软件运行整体设计软件设计是智能化系统进行数据采集、处理、控制等工作的基础。系统的软件设计直接影响整个系统的运转和硬件作用的发挥。本设计由于采用键盘矩阵来代替外呼内选按钮,而电梯的运行方向是根据这些呼叫按键和选择按键来决定的,所以单片机要不断的扫描键盘来获取各层呼叫状态。从而来控制电梯的运行。故键盘矩阵扫描是本系统软件设计的重要一部分,另外要把键盘扫描到的各层的按键信息存储起来,然后和电梯的运行状态比较,判断是否响应各层呼叫(电梯只响应同方向呼叫),最后就是楼层显示部分和警报部分了。整个软件设计包括一下几部分:初始化程序使数码管显示“1”表示电梯处在一楼。主程序主要包括:判断乘客进入电梯后选择去哪一层,根据判断情况来控制电梯运行;电梯在运行过程中要不断的扫描键盘,从而来判断各楼层有无呼叫请求,;电梯在运行过程中只响应同方向的呼叫请求;实时显示电梯所在位置及运行状态(上行/下行);开关门有一定的延时来保证乘客走出/进入电梯;软件流程图如图9 所示:图9 软件流程图3.2.2 分析键值设计单片机在读取到键值后,自然会分析该键值来自于哪一层楼的哪个按键。然后才可以把该按键对应的储存单位置1,点亮相应的二极管(实际中的电梯也是如此)。在本设计中,按键是按照行与列均匀分布的,特定的行与特定的列处的每个按键,均对应有特定的键值。首先可以人为地规定每个按键在电梯中所处的位置。例如规定位第一行按键为上行呼叫的按键等等(具体可参照电路图)。它有自己固定的键值。那么在返回键值后,只需用一个switch-case语句对相应存储数据进行置1即可。在程序中,我们定义了shang、xia、nei三个数组对相应的按键状况进行存储,这一步是整个程序得以正常运行的前提与基础。在程序开始之前,我们设置了这样一些状态变量,它们分别对应于各个按键,当某个按键按下时,其对应的状态变量就会被置位。这样做的好处是使电梯在执行判决操作时,有据可循。因为判决函数就是依靠当前都有哪些键按下以及电梯此刻所处的上下行状态来判断下一个需要停留的目标楼层的。分析完键值的来源后,就要点亮相应的二极管。由于二极管是由单片机控制且是低电平使发光二极管点亮,故一般来说,要点亮哪个二极管,只需在单片机向相应端口输入0即可。当电梯到达该层后,我们再向该层对应的端口输入1即可熄灭该二极管。3.2.3电梯运行方向的判决方法这是整个程序成功运行的核心保证。在电梯经过一个楼层时,就会自动调用该函数,它的作用是基于短时间、高效率、人性化的基础上,合理智能的对电梯的运行进行调度,结合实际情况,最终得出电梯下一个目标停留楼层。其流程如图10所示: 图10 电梯判决流程图由图可知,程序中将实际情况分为四种情况来判断:电梯上行且是去送人(即电梯此时位于底层,而高层有人呼叫要上楼)、电梯上行且是去接人(即电梯此时位于底层,而高层有人呼叫要下楼)、电梯下行且是去送人(即电梯此时位于高层,而低层有人呼叫要下楼)、电梯下行且是去接人(即电梯此时位于高层,而低层有人呼叫要上楼)。在实际应用中,最简单的情况莫过于电梯当前为闲置状态,然后有一人按下按键呼叫,然后电梯便响应呼叫。但是,实际情况往往比这复杂的多,在第一个人按下按键电梯运行的过程中,还很有可能会有其他不同楼层的人按下不同的按键(上行或者下行)的情况发生。那么就必须得为电梯规定好一个特定的优先级规则,让其依据这个规则来运行,以免乱作一团。那么这个规则就必须要高效且人性化,在此,我们规定,当电梯上行时,均不理会那些按下行按键的顾客。并且,若在上行过程中,也有人在某层按的是上行按键,但是电梯此时已经走过了该层,那么电梯也绝对不会再选择先下行接他。当然,当将高层上行的顾客送完后(此时一般来说电梯已经处于高层了),电梯便会检测下行按键,若更高层有人呼叫下行,则电梯会选择先去响应他们,然后再下行的过程中依次响应按了下行处于等待中的顾客,最后这些顾客都送完后,再去相应那些电梯上行过程中,处于比电梯低的楼层却按了上行键的顾客。简单地说,若电梯处于上行状态,则在该过程中响应不同顾客的优先级(或者电梯响应的先后顺序)为:高层呼叫上行顾客高层呼叫下行顾客底层呼叫下行顾客底层呼叫上行顾客。那么,当电梯通过程序运行得知到相应状态后,又是如何具体的判断当天所锁定的目标楼层是否要变更呢?现以上行为例,加以详细说明:若上行,且是送人,比如电梯当前在一层,四楼有人呼叫上楼,那么它就要响应这一呼叫,从而把自己的目标楼层锁定为四楼并向上运行,而在四楼呼叫后不久,三楼也有人呼叫上楼(且电梯此刻还未运行到三楼),那么在电梯运行中,没经过一个楼层,会做一次判决,因为三楼也有人呼叫,所以正常情况下,它应该在判决后将目标楼层定位三楼。而若三楼的顾客按下的是下行键,或者二楼的人按下呼叫键,电梯此时都会暂时不予理会。部分程序代码见附录。由程序可以看出,当四楼有上行键呼叫时,状态变量shang4便会被置位,但电梯依然在判断按键状况,此时程序的检测依据两个标准:第一,由低层向高层开始检查;第二,对于电梯已经过的楼层和按下下行键所发出的请求,电梯暂时是不予理会的。这也是很明显的,因为上行送人状态中,低层的优先权大于高层的。程序就是靠着上面这些if语句的嵌套,来完成这种优先级设置的。至于上行接人状态时,所坚持的标准是由高层到底层的顺序进行排查,而对于上行键的呼叫暂时不予理会。下行的状态,恰好与上行相反,在此不再赘述。同时,我们设计了flag标志位,当flag=0表示电梯停止运行,当flag=1表示电梯向上运行,当flag=2表示电梯向下运行。4 结束语本次毕业设计是对传统设计电梯的部分改进,可以降低电梯的设计成本,实现楼层快速通行的模拟控制。另外由于此次设计实现的功能简单,简化处理了一些实际情况,没有去考虑这种电梯在实际应用中的故障问题,及一些更智能的硬件与软件的安装与调试,并且使用矩阵按键代替独立按键,与真实的电梯按键不符合。由于时间紧迫,本人能力有限,还有许多功能可以在此基础上进行拓展,例如可以扩展单片机增加智能识别系统,增加电梯内部的温度控制、增加单片机的故障预警等一些智能控制系统。随着科技与经济的深入发展,单片机技术的不断进步,以后的电梯控制系统将会越来越智能化,这对提升人们的生活质量、生活的幸福指数有着深远的意义。此次设计不仅仅是一个硬件电路设计和程序编写的过程,更重要的是实际问题的分析和设计阶段的努力。我们将充分利用单片机开发上的灵活、快速的特点,来实现我们自己智能控制的设计。参考文献1李林功单片机原理与应用-科学出版社,20112李继凯.杨艳数字电子技术及应用-科学出版社,20123 华成英模拟电子技术基本教程-清华大学出版社,20064彭介华电子技术课程设计指导-高等教育出版社,1997版.2010重印附录一、 整体电路图二、 程序#include #define uchar unsigned char#define uint unsigned int sbit alarm1=P10; sbit alarm2=P20; sbit fz=P11;sbit zz=P12;sbit L1=P13; sbit L2=P14; sbit L3=P15; sbit L4=P16; sbit L5=P17; uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x00;uint shang6=0,0,0,0,0,0;uint xia6=0,0,0,0,0,0;uint nei6=0,0,0,0,0,0; uint num,temp,flag=0,lc=1,i,n; /函数声明语句void delay(uint z); void delay3();void delay5(); void keyscan(); void display(uint aa);void init(); void zhishideng(); /主函数 void main() init();/端口初始化 while(1) keyscan(); /键盘扫描 zhishideng(); /有请求楼层亮对应的指示灯 if(flag=0) zz=fz=0;/电梯停止运行 shanglc=0;/置位 xialc=0; neilc=0; n=lc; for(i=n+1;i=1;i-)/检测低楼层有无请求 keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=1) keyscan(); zhishideng(); zz=1; fz=0; delay5(); lc+; display(lc); if(shanglc=1|neilc=1)/是否已到达指定楼层 shanglc=0; neilc=0; zhishideng(); fz=0; zz=0; delay3(); flag=0; n=lc; for(i=n+1;i=5) n=lc; if(shangn=0&nein=0) fz=0;zz=0;delay3(); xian=0; for(i=n-1;i=1;i-) /检测低楼层有无请求 keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=2) keyscan(); zhishideng(); zz=0; fz=1; delay5(); lc-; display(lc); if(xialc=1|neilc=1) xialc=0; neilc=0; zhishideng(); fz=0; zz=0; delay3(); flag=0; n=lc; for(i=n-1;i=1;i-) keyscan(); zhishideng(); if(shangi=1|xiai=1|neii=1) flag=2; break; if(flag=0|lc=1) n=lc; if(xian=0&nein=0) fz=0; zz=0; delay3(); shangn=0; for(i=n+1;i0;x-) for(y=110;y0;y-) keyscan(); zhishideng(); /延迟三秒函数。 void delay3() uint x,y; for(x=280;x0;x-) for(y=110;y0;y-) keyscan(); zhishideng(); /ms级延函数。 void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); /键盘扫描函数。 void key

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论