版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
页1绪论1.1电梯的定义电梯是一种利用制动力驱动,沿刚导轨运行的箱体或者固定线路运行的梯级进行升降或者平行运送人、货物的机电设备,包括载人和载货电梯、自动扶梯、自动人行道等。1.2选题目的背景及意义电梯是集机械原理应用、电气控制技术、微处理技术、系统工程学等多科学和技术分支于一体的机电设备,它是建筑中永久垂直交通工具。电梯作为生产生活的典型运载工具使用已十分普及,其控制信号类型多,关系复杂,要求的控制性能特别高。很久之前,人们就开始使用一些原始的升降工具来运送人和货物。公元前1100年的前后,我国的古人发明了辘轳,它采用了卷筒的回转运动来完成升降动作,因此增加了所能提升物品的高度。公元前的236年,希腊数学家Archimedes设计和制作了由绞车还有滑轮组构成的起重装置。这些是由人力或畜力作为升降工具的驱动力。在十九世纪初,欧洲和美国开始提供电源由蒸汽机起重工具。1845年,威廉·汤姆逊研制1由液压升降台,水驱动的液压介质。尽管起重工具提高了一代又一代的创新工程师不断,但是可以解除公认的行业并没有出现,直到1852年,世界第一部电梯的诞生。1889年,电梯就开始用它来驱动电梯,真正的电力。电梯通过下面的阶段,在驱动控制技术,直流电动机驱动控制的发展去了,控制驱动交流单速电机,控制驱动交流双速电机,直流无齿轮,无齿轮驱动系统,交流调压调速驱动控制,变频调速驱动控制,交流永磁同步电机驱动控制阶段。在19世纪由Ward伦纳德年底,直流电梯驱动系统控制时,使电梯的性能有明显的提高。20世纪初,开始出现了电梯驱动交流异步电机,电梯和槽轮驱动代替电梯鼓鼓驱动,奠定了现代电梯的长行程,高安全性能的坚实基础。20世纪上半叶,直流调速系统的系统中占有较大的比例,高速电梯。1967年,晶闸管开始为电梯驱动,交流变频调压调速电梯变频器的控制出现了。1983年,电梯因其良好的性能,舒适和节能的尘世VVVF控制,迅速成为主流产品电梯。1996年,无机房电梯曳引机驱动齿轮交流永磁同步,电梯技术,并再次进入创新。曳引机和控制柜在轴上,没有独立的房间,节约建设成本,提高建筑物的有效面积,提高了建筑美学的设计自由度。这种电梯具有节能,无油无污染,免维护,高安全性的特点。电梯控制模式的发展经历了手柄开关控制,按钮控制,信号控制,并集体选择性的控制过程,为电梯并联控制,智能群控。如今,随着经济的发展,越来越的运行速度和控制电梯的性能更高楼大厦也提出了更高的要求。现在,世界各地的电梯公司都在不断的进行电梯产品研发,维修及保养服务体系,满足现代建筑交通和人日益并迅速增长的需求。常用的微机控制主要的有两种技术:基于PLC控制和基于单片机控制两大技术。可编程控制器,是微机技术与继电器常规控制技术相结合的产物,是在顺序控制器和微机控制器的基础上发展起来的新型控制器,是一种以微处理器为核心用作数字控制的专用计算机,它有良好的抗干扰性能,适应很多工业控制现场的恶劣环境,所以现在的电梯控制系统主要还是由可编程控制器控制。但是由于PLC的针对性较强,每一台PLC都是根据一个设备而设计的,所以价格较昂贵。而单片机价格相当便宜,也不像PLC那么有针对性,可以随着设备的更新而不断修改完善,更完美的实现设备的升级。基于单片机控制的电梯可以大大的降低成本而且运行也较可靠,采用单片机来实现老式电梯控制系统的改造无疑是最佳方案。由于单片机具有体积小、线路简单、无噪音、可靠性高、维护方便,是一种少投入、高回报的方案[2]。为了了解电梯的结构和控制技术,有必要将这些大集的机械,电气,传感器产品在一个仿真,应用软件开发多功能的PLC,单片机,微电脑,频率转换器控制装置,将是提高学生的综合应用设计能力是非常有用和有效的。所以设计了一组电梯控制系统,该系统可连接作为下位机的任何自动调节装置,也可以作为一般的控制系统,以验证各个电梯调度算法。通过本次对单片机控制电梯运行的设计开发,了解随着时代进步该领域的进步发展,在实践中自我尝试创新,展现自我。1.3国内外电梯发展状况及发展趋势电梯进入人们的生活已经150年了。一个半世纪的风风雨雨,翻天覆地的是历史的变迁,永恒不变的是电梯提升人类生活质量的承诺。电梯的存在,使得每幢大型高楼都可以成为一座垂直的城市。在纽约的前世界贸易中心大楼里,除每天有5万人上班外,还有8万人次的来访和旅游,因此250台电梯和75台自动扶梯的设置和正常运行,才使得合理调运人员、充分发挥大楼的功能成为现实。中国第一高楼、坐落在上海浦东的金茂大厦,高度420.5m,主楼地上88层,建筑面积220000㎡,集金融、商业、办公和旅游为一体,其中60台电梯、18台扶梯的作用是显而易见的。1889年,美国奥梯斯升降机公司推出了世界上第一部用电动机来提供动力的升降机,同年在纽约市的马累特大厦安装成功,标志着电梯的诞生。1915年已设计成功电梯自动平层控制系统。1933年美国制造出6m/s的高速电梯。1949年研制出4-6台电梯群控系统。1955年出现真空电子管小型计算机控制电梯。1962年在美国已出现8.5m/s的超高速电梯。1967年将固体晶闸管用于电梯拖动系统。电梯使用的驱动由最初的直流电机到单速交流感应电机,后来的交流双速电机的发明,才基本满足了电梯的运行要求。1976年将微处理器应用于电梯。1977年日本三菱电机开发出10m/s的超高速电梯。至今,电梯的控制技术已有了很大的发展。中国在上海的第一个电梯,被美国奥的斯安装在1901年,1932年美国奥的斯电梯安装在天津顺德酒店仍然安全运行。1951年,党中央提出要安装在天安门是一个电梯由我们自己制造完成后,天津从生日电机厂荣仁,经过近四个月已成功地执行一项任务,顺利完成了任务。经过11的十七届三中全会,沐浴着改革开放的春风,中国的电梯行业已经进入了一个高速发展的时期。目前,在我国每一个城市,电梯都在广泛使用。电梯带来的方便了人们的生活,而且还提供了有力保证我国现代化建设。电梯发展到今天,在使用需求和新技术的应用进入了全面发展时期。随着智能化,信息化建设的发展,提高电梯的要求,不仅只能进行垂直运输的基本功能,也应以人为本,改善其舒适性,特别是从控制的智能电梯,电梯的角度考虑服务不再是“时间”的问题,而是采用模糊理论,神经网络,专家系统等方法,实现了电梯群控管理和最佳模式,合理配置和安全使用,远程监控和故障诊断,节约能源和减少环境污染。1.4主要研究内容随着科技的发展,微型计算机领域的不断进步,将使得将来电梯的体积大大减小,功能不断完善,过程的控制更平稳、可靠、抗干扰性能增强、机械与电气部件被机结合在一个设备内,把仪表、电子和计算机的功能综合在一起。因此微型计算机控制技术将会成为电梯运行中的关键技术。本设计的研究题目是“基于51单片机的四层楼电梯控制系统设计”。系统采用单片机(AT89S52)作为控制核心,通过C语言编程,内外均使用按键按下与否引起的单片机相应端口电平变化的原理,作为用户请求信息发送到单片机,单片机根据判断的结果最终驱动步进电机做相应的运动,在运动的过程中,单片机依照请求信息通过模拟的传感器使步进电机停止运动,并利用彩灯指示和电机正反转作为上升和下降的状况显示,数码管显示当前楼层,红绿LED灯表示电梯开关门,来完成整个请求和响应的过程。其中利用电机的正反转来更直观的表达电梯的升降。根据问题的提出、意义和文献综述,本设计研究的具体内容包括以下四个方面:(1)对电梯系统常用的控制方法的研究(2)电梯控制系统硬件组成及其原理(3)电梯的单片机系统软件设计(4)电梯的软件编译调试及系统测试2方案论证2.1总体设计方案设计的基本思想是采用AT89S52单片机作为核心,是一种低功耗高性能CMOS8位单片机,片内8kBytesISP(In-systemprogrammable)的可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。单芯片上,拥有8位CPU及在系统可编程FLASH,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效之解决方案[1]。AT89S52的特点:拥有40个引脚,8kBytesFlash的片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级及2层中断嵌套中断,2个16位可编程的定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。采用8位LED静态显示来实时显示电梯所在楼层。采用行列式键盘矩阵作为外呼内选电路,由于是4层楼,故选用4×4矩阵键盘,键盘矩阵共16个按键,其中4个按键是各层楼外呼按键,2个表示电梯开关门的选择键,电梯状态是通过两排指示箭头发光二极管显示的,向上箭头灯亮表示电梯在向上运行,向下箭头灯亮表示电梯在向下运行,另设有红绿LED灯表示开门状态,绿灯表示开门状态绿灯表示关门状态。总体方框图如图2-1所示:键盘电路楼层显示电路单片机AT89S52键盘电路楼层显示电路单片机AT89S52复位电路复位电路电机状态时钟电路电机状态时钟电路图2-1总体方框图2.2主控芯片选择方案一:多片单片机控制方案。这种方案是使用多片单片机,其中一片是作为主控制器,另外设置了轿厢控制系统,每层的控制系统分别由一个单片机控制,然后通过主控制器和副控制器之间的通讯,实现电梯系统的控制。这种方案的控制系统的结构简单明了,各个系统之间相互独立便于维护和修检。所以根据功能要求需要选用5片AT89C2051单片机就能可以实现该电梯的功能。不过单片机之间的通讯较多,在目前通讯是个难点,可能导致电梯运行过程不稳定。方案二:CPLD器件作为控制核心,对整个系统的运行进行统一管理,但这种方案要求通常有很多的知识积累和较强的专业水平,更难以实现和设备价格昂贵,不符合经济的要求,同时也控制升降电机,运行时间测量,显示,而且还需要采取MCU。方案三:一片单片机为主控制器的方案。MCU采用一个单片机控制所有的按键、数码管显示、电动机的转动等,并对以上所有信号进行处理。这种方案的控制系统相对复杂,只适用于较简单的电梯控制系统,因为这次的设计是四层电梯控制系统,所以选用这种方案。单片机技术目前较为成熟,自身资源丰富,硬件设计简单,成本低,可靠性高,结合软件完全可以实现电梯运行状况的简单模拟。权衡以上三种方案方案分析,采用方案三。2.3楼层显示模块选择方案一:采用点阵式的液晶显示器(LCD)来显示各种相关的数据以及相关的信息。点阵式的液晶显示器虽然属于低功耗的器件,但其价格比较贵。方案二:采用传统的八段数码管(LED)显示电梯实时所到的楼层。虽功耗大,但其软件驱动相对比较简单,硬件电路调试也比较方便,价格便宜,亮度大,能满足本设计的要求。以上两种方案中,选择方案二。2.4电动机模块选择方案一:步进电机作为设计的执行部件,在定位性能的步进电机是非常优越的。步进电机和普通电机的区别主要在于其脉冲驱动形式,步进电机不需要A/D转换,能够直接将数字脉冲信号转化为角位移。常用的步进电机每转一步,角度转1.8°,在应用中,步进电机可以同时来完成两个工作,一个是传递转矩,第二个是传递信息,在本设计中作为传递信息用。方案二:直流电机作为执行元件的设计,直流电机的功能是让线圈总是交替地处于稳定状态和不稳定的平衡状态,通过两个半圆环形电枢将稳定平衡线圈消除。这样一个载流线圈总是降低磁场。直流电机中常用的系统,高转矩,高扭矩,低惯量。以上两种方案采用方案一。利用Protel画图软件构建原理图如图2-2所示:图2-2原理图3硬件设计3.1AT89S52功能简介AT89S52是一种低功耗高性能CMOS8位单片机,片内8kBytesISP(In-systemprogrammable)的可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司之高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。单芯片上,拥有8位CPU及在系统可编程FLASH,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效之解决方案[2]。AT89S52特点:有40针,8K字节的Flash片内程序存储器,随机存取数据存储器256字节(RAM),32个外部双向输入/输出(I/O),5个中断优先级2中断嵌套中断,2个16位可编程定时计数器,一个全双工串行通信2出口,看门狗(WDT)电路,片内时钟振荡器。单片机AT89S52如图3-1所示:图3-1单片机AT89S52P0口——8位漏极开路之双向I/O口。作为一个输出端口,每个可以驱动8个TTL逻辑电平。P0口写入“1”时,引脚用作高阻抗输入。P1口——有8位双向I/O内部上拉电阻,P1输出缓冲器可驱动4个TTL逻辑电平。P1口,写“1”时,内部上拉电阻拉高端口,此时可以作为输入。当作为输入,外部向下引线由于内部电阻和输出电流。P2口——有8位双向I/O内部上拉电阻,P2输出缓冲器可驱动4个TTL逻辑电平。P2口,写“1”时,内部上拉电阻拉高端口,此时可以作为输入。作为输入,被拉低外部引脚内部电阻和输出电流。P3口——有8位双向I/O内部上拉电阻,P3输出缓冲器可驱动4个TTL逻辑电平。P3口,写“1”时,内部上拉电阻拉高端口,此时可以作为输入。作为输入,被拉低外部管脚用于内部电阻的原因,并输出电流。RST——复位输入。当RST引脚振荡器,还有高水平的两个以上的机器周期将被重置。ALE/PROG-访问外部存储器时,ALE(地址锁存使能)输出脉冲为低8字节锁存地址。PSEN——程序存储使能(PSEN)输出是读选通到外部程序存储器的信号,从外部程序存储器(或数据)AT89S52取指令,2PSEN每个机器周期,即输出两个脉冲,在此期间,当访问外部数据内存,可以跳两次PSEN信号。EA/VPP——外部访问使能,CPU只访问外部程序存储器(地址0000H-FFFFH),EA端必须保持低电平(接地)。注意:如果加密位LB1编程,复位内部锁存的EA最终状态。如果EA为高电平(VCC结束),指令CPU执行内部程序存储器。XTAL1——振荡器反相放大器及内部时钟发生电路之输入端。XTAL2——振荡器反相放大器之输出端[3]。3.2单片机最小系统最小系统包括复位电路和时钟电路两部分,其中复位电路采用上电自动复位,其中9脚为单片机的复位端,时钟电路如图3所示:晶振采用的是12MHZ的,C2、C3为30p瓷片电容,XATL2和XATL1分别为单片机的18和19脚。时钟电路如图3-2所示:图3-2时钟电路图3.3按键电路本电路采用的是4×4键盘矩阵。P34-P37是接单片机的P3端口,单片机采用行和列扫描法来判别这些按键中哪个键按下,P00-P02接单片机P0端口,S1-S6为微动按键,分别控制电梯开关门和电梯楼层呼叫开关,然后可根据每个按键的功能来通过单片机控制电梯的运行。D1-D14为3mmLED二极管,D1,D4,D7,D10,D13并联并串联一个100欧姆的电阻R1,D3,D9,D12并联并串联一个100欧姆的电阻R3,D2,D5,D8,D11,D14并联并串联一个100欧姆的电阻R2。排布成上下箭头形状,利用箭头指示灯分别来表示电梯上下楼情况。电梯开关门按键如图3-6所示,P20-P21是接单片机的P2端口,利用微动按键按下与否的高低电平来使两个发光二极管亮,由两个红绿5mmLED发光二极管并联并串联一个1K欧姆的电阻R12,红灯亮表示电梯关门,绿灯亮表示电梯开门。电梯按钮模块如图3-3和图3-4所示:图3-3电梯按钮模块图3-4电梯按钮模块各按钮开关说明:按钮开关S3:四层楼呼叫开关;按钮开关S4:三层楼呼叫开关;按钮开关S5:二层楼呼叫开关;按钮开关S6:一层楼呼叫开关;电梯门指示模块及电梯开关门按键如图3-5和3-6所示:图3-5电梯门指示模块图3-6电梯开关门按键3.4显示电路采用传统的八段数码管(LED)显示电梯实时所到的楼层。其软件驱动简单,硬件电路调试方便,价格便宜,亮度大,能满足本设计的要求。用数码管显示,电梯的基本功能具备显示电梯当前的楼层,所以设计中设置了一个数码显示管,用来显示当前电梯所在的层数,P10-P17都串联一个1K欧姆的电阻接单片机的P1接口,由P1口来驱动8位数码管显示电梯所到达的楼层数。接线图如图6所示,图中共有1个数码管,通过对8根数据线进行写操作进行楼层显示。楼层显示模块如图3-7所示:图3-7楼层显示模块3.5电源模块本系统采用LM7805稳压电路提供电压+5V,对各部分电路供电,电源可以采用USB接口的方式输入,也可以采用标准的电源输入头输入。C1为0.1uF瓷片电容。电源模块如图3-8所示:图3-8电源模块3.6步进电机模块采用步进电机作为本设计的执行元件,步进电机在定位性能方面非常优越。步进电机和普通电机的区别主要就在于其脉冲驱动的形式,步进电机不需要A/D转换,能够直接将数字脉冲信号转化为角位移[4]。常用的步进电机每转一步,角度转1.8°,在应用中,步进电机可以同时完成两个工作,其一是传递转矩,其二是传递信息,在本设计中作为传递信息用,步进电机使用的是28BYJ-5V。步进电机由ULN2003A驱动,ULN是集成有IC达林顿管,还集成了一个弧形线圈电动势的二极管,它可以用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500毫安,输入电压=5V,适用于TTLCOMS,达林顿管驱动电路。通常芯片ULN2003驱动,上拉电阻2K是合适的,同时,COM引脚悬空或连接电源。本设计中COM引脚接电源,GND脚接地。输入端IN4-IN7连P24-P27分别接主单片机的P2口P2.4-P2.7。步进电机模块如图3-9所示:图3-9步进电机模块4软件设计4.1软件设计思想设计采用键盘矩阵来代替外呼按钮,而电梯的运行方向和电梯开关门是根据这些呼叫按键和选择按键来决定的,所以单片机通过扫描键盘来获取各层呼叫状态,从而控制电梯的运行。故键盘矩阵扫描是本系统软件设计中的重要一部分,另外要把键盘扫描到的各层的按键信息存储起来,然后和电梯的运行状态比较,判断是否响应各层呼叫,当电梯到达目的楼层时电机停止,可随意选择去哪一层,然后电梯选择判断去哪一层,继续运行。由于本设计采用单片机实现自动控制,主要完成了整个系统系统如数码管的显示,键盘的响应,转动电机的控制,延时等均由相应的子程序来完成。软件设计思想:使用模块化的C语言编程,软件系统的功能层次化设计方法,包括多个单一功能的子程序的。通过调用不同的子程序,实现复杂的控制功能。这是方便调试,修改。软件编程是一种多功能,智能化,操作简便。在本设计中,可以把程序的各部分相互结合起来,达到完成各项设计的功能[5]。4.2电梯主程序根据系统要求,电梯的程序应满足以下要求:(1)初始化程序使数码管显示“1”表示电梯处在一楼,等待人进入电梯;(2)主程序主要包括:①判断电梯选择去哪一层,根据判断情况来控制电梯运行,到达目标楼层后相应的开关门指示灯熄灭;②电梯在运行过程中要不断的扫描键盘,从而来判断各楼层是否有其他呼叫请求;③设置电梯上下楼功能按键、开关门按键;④实时显示电梯所在位置及运行状态(上行/下行);⑤开关门有一定的延时来保证乘客走出/进入电梯;主程序流程图如图4-1所示:开始开始初始化初始化按键查询按键查询调用按键子程序调用按键子程序控制电机转动控制电机转动楼层检测楼层检测显示所在楼层显示所在楼层返回返回图4-1主程序流程图电梯的整个软件设计包括一下几部分:电梯逻辑控制模块、电梯运行模块、键盘模块、楼层显示模块。4.3电梯逻辑运行控制电梯控制中,单片机扫描楼层外呼信号,将楼层呼叫信号与当前楼层运行状态进行比较,确定电梯响应上升、下降队列,然后电梯按照运行队列进行电机控制。而将呼叫信号转化为响应队列的程序模块是电梯控制的核心部分,其算法的严谨性,决定了电梯的控制性能。其C语言程序源代码见附录1。电梯响应上升下降队列时,要对相应的箭头指示灯、上下运行状态,以及响应队列做相应的改变,而实现这一功能模块的就是电梯运行函数。其程序源代码见附录1。逻辑框图如图4-2所示:上升下降队列为空:停止运行上升下降队列为空:停止运行未到达楼层:向上运行,并显示运行方向当前楼层数未到达楼层:向上运行,并显示运行方向当前楼层数上升队列不为空上升队列不为空除去向下楼层队列电梯停转到达楼层方向向上除去向下楼层队列电梯停转到达楼层方向向上显示开关门状态电梯运行函数显示开关门状态电梯运行函数上升队列为空,下降不为空:判断下降上升队列为空,下降不为空:判断下降未到达楼层:向下运行,显示运行方向当前楼层数未到达楼层:向下运行,显示运行方向当前楼层数除去向上楼层队列电梯停转下降队列不为空除去向上楼层队列电梯停转下降队列不为空到达楼层方向向下到达楼层方向向下显示开关门状态显示开关门状态下降队列为空,上升不为空:判断上升下降队列为空,上升不为空:判断上升图4-2电梯运行逻辑图4.4按键方式键盘是独立按键,采用的是查询方式,即外接独立按键的时候,是按键的一端接地,另一端与I/O引脚相连,当按键按下的时候,引脚输入的是低电平,而按键未按下的时候,引脚输入的是高电平[6]。利用C语言编程时只要用检测高低电平来判断是否有按键按下就可以了。其程序源代码见附录1。4.5显示系统楼层显示部分用数码管显示,电梯的基本功能具备显示电梯当前的楼层,所以设计中设置了一个数码显示管,用来显示当前电梯所在的层数,P10-P17都串联一个1K欧姆的电阻接单片机的P1接口,由P1口来驱动8位数码管显示电梯所到达的楼层数。程序源代码见附录1。4.6电机演示系统采用步进电机作为本设计的执行元件,步进电机在定位性能方面十分优越。步进电机和普通电机的区别主要就在于其脉冲驱动的形式,步进电机不需要A/D转换,能够直接将数字脉冲信号转化为角位移。常用的步进电机每转一步,角度转1.8°,在应用中,步进电机可以同时完成两个工作,其一是传递转矩,其二是传递信息,在本设计中作为传递信息用,步进电机使用的是28BYJ-5V。电梯运行前先关门,步进电机8个节拍循环旋转,电梯每上升或下降一层电机顺时针或者逆时针转动半周也就是180度,旋转一周360度帧数是512,半周是256帧。程序源代码见附录1。5软件调试及系统测试5.1软件编译调试在软件调试中,采用keil仿真软件进行程序调试。首先分别调试各个功能程序,再对整个程序进行调试,以便修改错误码。具体的调试方法如下:首先在keil软件中选择STC89S52作为CPU,因为该软件中没有AT89S52,但是基本功能和之差不多,将晶振频率设置为12MHZ,然后新建一个文件,将各个功能程序录入,先检查程序有无明显错误,保存过后编译程序,如果有错误时就根据提示加以修改,当各个功能程序编译完成后,再对整个程序全速执行,查看程序有哪些地方出现错误,对应错误的提示来调整程序,纠正错误直到程序正确无误,调试结束后软件调试界面如下图5-1所示:图5-1软件调试界面5.2实物制作及系统测试在原理图及原材料确定好的基础上直接进行实物制作,进行各部件在电路板上的组配和焊接。电路板图和焊接图见附录2。对系统进行测试,测试一开始时,电梯位于一楼,按下向上按键,我分别按顺序按下2-4楼的按键,电梯先后在2楼,3楼停下,最后在4楼停下。然后我分别按顺序按下3-1楼的楼层呼叫按钮,电梯分别在3楼,2楼停下,最后在1楼停下。而且各指示灯和数码管显示都正常。然后我按下3层楼按键,再按下2层楼按键,电梯先在二楼停下,再继续行至3楼,按下4层楼按键,再按下下楼按键,我按1层楼呼叫按键,电梯先行至4层楼,然后再下楼行至1层楼。初始电梯在1层楼,我先按下2层楼呼叫按键,在电梯运行的时候,先后按下1层楼按键和3层楼按键,电梯先停在2层楼,然后再上升至3层楼停下后再下降至1层楼,按下3层楼按键之后重复以上操作同样先响应电梯运行方向上的信号。综上测试,电梯在上升或者下降过程中先响应上升或者下降楼层的信号,并对最近楼层呼叫有优先级的响应。系统具有方向优先、距离优先的功能,基本模拟了实际电梯运行,完成题目设计要求。6小结经过这一段时间选择和设计,完成了一个具有基本功能的电梯控制系统。系统是一个四层楼电梯控制系统。它能实现一个电梯具有的基本功能,包括:电梯上下运行功能,电梯选层功能,楼层显示功能,电梯自动开关门功能,智能初始化功能。并且加入了自我设计的电机模块,不仅基本达到了设计要求和目的,同时也不乏自我的创新设计。通过这次毕业设计,虽然遇到的困难重重,但是受益匪浅,对单片机在实物中应用的能力有一个很好的了解,这种开放式的毕业设计,我从中学到的不仅仅是所设计方面的知识,更重要的是学会了去学习,去理解的方法,学会了利用身边现有的资源和人缘,作为我去更好学习的一个阶梯,虽然这次毕业设计时间并不长,但是我发现我对我的自主学习能力有所提高,。学无止境,在今后的学习生活中,我将把学到的知识灵活的运用到学习、工作和生活当中。而且在毕业设计过程中,不仅是在学习新知识这一块上有了很大的提高,同时我的意志力也得到了很好的锻炼。只有不断挑战自己,才能让自己学到和收获更多,才能适应我们这些即将走出校园走向社会的学生。致谢经过一个多月的忙碌,在工作中同时要完成自己的毕业设计,如今毕业设计已经基本完成,作为一个本科毕业生的毕业设计,因为经验的匮乏和其他一些因素,还有许多考虑不周全的地方,如果没有指导老师陈老师的督促指导和同学们的帮助,完成这个设计是没有这么顺利的。在这里首先要感谢我的指导老师陈老师,平时对于我的毕业设计一直严格督促。在我做毕业设计的这段时间,从选题到题目确定,还有期间的一些其他关于毕业设计的问题,老师曾多次打电话来询问情况,足以显示老师对我的督促和关心,而且我自己不懂的还需要打给老师去询问,占用了老师的时间不说,还要老师为我提出意见和看法。这些老师确没有表示任何的不满,在此谨向陈老师致以诚挚的谢意和崇高的敬意。其次我要感谢那些在我设计过程中遇到困难而帮助我的人,特别是我的同班同学,这里名字就不提了,他们教会我一些软件应用调试和硬件上的一些指导,在这段时间他们帮助下我才能顺利完成我的毕业设计,再次感谢他们对我的帮助。最后,对于那些给了我无言帮助的师长、同学、朋友,在这里请接受我诚挚的谢意!谢谢你们!参考文献[1]张毅刚.彭喜元.单片机原理与应用设计[M].北京电子工业出版社,2008.4[2]张齐.杜群贵.单片机应用系统设计技术[M].电力工业出版社,2007.7[3]谭浩强.C程序设计第三版[M].清华大学出版社,2006.6[4]阎石主.数字电子技术基础[M].高等教育出版社,2007.11[5]李华主.MCS-5系列单片机使用接口技术[M].北京航天航空出版社,2003.6[6]童诗白.华成英.模拟电子技术基础第三版[M].高等教育出版社,2006.12[7]赵广林.轻松跟我学Protel99se电路设计与制作[M].北京电子工业出版社,2005.2[8]冯建华.赵亮.单片机应用系统设计与产品开发[M].人民邮电出版社,2004年[9]廖伟强.郑崇林.单片机与嵌入式系统课程的教改与探索[J].《大众科技》.2013年,第04期[10]冯川放.基于仿真开发平台实现单片机与嵌入式系统的设计[J].《常州工学院学报》.2011年,第02期[11]谢国强.基于案例教学的单片机与嵌入式系统教学改革研究[J].《科教导刊(上旬刊)》.2013年,第09期[12]BriggsWS.Single-chipmicrocomputerwithinternaltime-multiplexedaddress/data/interruptbus:U.S.Patent4,626,985[P].1986-12-2.[13]ZHANGH,WANGX,WANGX.ReformofSingle-chipMicrocomputerExperimentTeachingBasedonProteusandKeil[J].JournalofElectrical&ElectronicEducation,2008.6附录1C语言程序代码#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitcloseDoor=P3^3; //关门控制定义sbitopenDoor=P3^0; //开门控制定义sbitopen=P2^0;//开门按钮sbitclose=P2^1;//关门按钮sbitfirstFloor=P3^7; //第一层按键呼叫sbitsecondFloor=P3^6; //第一层按键呼叫sbitthirdFloor=P3^5; //第一层按键呼叫sbitfourthFloor=P3^4; //第一层按键呼叫sbitLED0=P0^0; //方向指示LEDsbitLED1=P0^1; //方向指示LEDsbitLED2=P0^2; //方向指示LEDsbitPWM1=P2^4;//步进电机sbitPWM2=P2^5;//步进电机sbitPWM3=P2^6;//步进电机sbitPWM4=P2^7;//步进电机uinttime;ucharnowFloor=1;//电梯所在的层/********数码管引脚与单片机P1口对应关系*******//************01234567****************//************gfbaedhc****************//*********************************************/ucharTab[]={0x41,0x7B,0xC2,0x52,0x78,0x54,0x44,0x73,0x40,0x50,0x60,0x4C,0xC5,0x4A,0xC4,0xE4};bitfirst_Floor=0; //电梯呼叫层1bitsecond_Floor=0; //电梯呼叫层2bitthird_Floor=0; //电梯呼叫层3bitfourth_Floor=0; //电梯呼叫层4voidDelay(uintt){ uchari; while(t--) { for(i=0;i<200;i++) { if(firstFloor==0) //电梯呼叫层1 first_Floor=1; if(secondFloor==0) //电梯呼叫层2 second_Floor=1; if(thirdFloor==0) //电梯呼叫层3 third_Floor=1; if(fourthFloor==0) //电梯呼叫层4 fourth_Floor=1; if(!open)openDoor=0; if(!close){openDoor=1;time=0;} closeDoor=~openDoor;//关门和开门状态相反 P1=Tab[nowFloor];//刷新电梯所在楼层 } }}voiddelayPWM(uintt) //步进电机延时{ while(t--) { if(firstFloor==0) //电梯呼叫层1 first_Floor=1; if(secondFloor==0) //电梯呼叫层2 second_Floor=1; if(thirdFloor==0) //电梯呼叫层3 third_Floor=1; if(fourthFloor==0) //电梯呼叫层4 fourth_Floor=1; }}voidting() { PWM1=PWM2=PWM3=PWM4=0; //步进电机停止转动 LED0=LED1=LED2=1; //上下行箭头指示灯熄灭}voidfan(uintt){ while(t--) { closeDoor=1; //电梯运行前先关门 openDoor=0;//电梯运行前先关门 PWM1=1;PWM2=PWM3=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM2=PWM1=1;PWM3=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM2=1;PWM1=PWM3=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM3=PWM2=1;PWM1=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM3=1;PWM2=PWM1=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM4=PWM3=1;PWM2=PWM1=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM4=1;PWM2=PWM3=PWM1=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM4=PWM1=1;PWM2=PWM3=0;delayPWM(150); //步进电机8个节拍循环旋转 P1=Tab[nowFloor];//刷新显示当前楼层 } ting();}voidzheng(uintt){ while(t--) { closeDoor=1; //电梯运行前先关门 openDoor=0;//电梯运行前先关门 PWM4=PWM1=1;PWM2=PWM3=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM4=1;PWM2=PWM3=PWM1=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM4=PWM3=1;PWM2=PWM1=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM3=1;PWM2=PWM1=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM3=PWM2=1;PWM1=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM2=1;PWM1=PWM3=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM2=PWM1=1;PWM3=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 PWM1=1;PWM2=PWM3=PWM4=0;delayPWM(150); //步进电机8个节拍循环旋转 P1=Tab[nowFloor];//刷新电梯楼层 } ting();}voidUpward() //电梯上行指示LED{ LED1=LED0=0;LED2=1; //上行箭头指示灯打开 zheng(256); //步进电机顺时针旋转半周,旋转一周360度是512,半周是256}voidDownward() //电梯下行指示LED{ LED1=LED2=0;LED0=1; //下行箭头指示灯打开 fan(256); //步进电机逆时针旋转半周,旋转一周360度是512,半周是256}voidArrival() //电梯到达{ openDoor=1;//打开电梯开门 Delay(500);//等待乘客上下电梯时间 openDoor=0;//关门 Delay(50);//等待关门时间时间 } voidSYS_Init() //系统初始化{ P0=0xFF; //系统初始化 P1=0xFF; //系统初始化 P2=0xFF; //系统初始化 P3=0xFF; //系统初始化 PWM1=PWM2=PWM3=PWM4=0;}voidmain(){ SYS_Init(); nowFloor=1;//电梯处于一层 openDoor=0;//电梯门处于关闭状态 while(1) { if(first_Floor) //第1层呼叫 { if(nowFloor>1) { if(nowFloor==4) //如果电梯在第4层 { Downward(); //向下走 nowFloor=3; //到达3楼 if(third_Floor) //运动过程中遇到呼叫 { Arrival(); //到达 third_Floor=0; } } if(nowFloor==3) //如果电梯在第3层 { Downward(); //向下走 nowFloor=2; if(second_Floor)//运动过程中遇到呼叫 { Arrival(); //到达 second_Floor=0; } } if(nowFloor==2) //如果电梯在第2层 { Downward(); //向下走 nowFloor=1; if(first_Floor) //运动过程中遇到呼叫 { Arrival(); //到达 first_Floor=0; } } } else//电梯就在第一层 { Arrival(); //到达 } first_Floor=0; } if(second_Floor)//第2层呼叫 { if(nowFloor<2) { Upward(); nowFloor=2; if(second_Floor) //运动过程中遇到呼叫 { Arrival(); //到达 second_Floor=0; } } else if(nowFloor>2) //电梯所在层 { if(nowFloor==4) //电梯所在层 { Downward(); nowFloor=3; if(third_Floor) //运动过程中遇到呼叫 { Arrival(); //到达 third_Floor=0; } } if(nowFloor==3) //电梯所在层 { Downward(); nowFloor=2; if(second_Floor)//运动过程中遇到呼叫 { Arrival(); //到达 second_Floor=0; } } if(first_Floor) //运动过程中遇到呼叫 { Downward(); //向下走 nowFloor=1; Arrival(); //到达 first_Floor=0; } } else//电梯就在二层 { Arrival(); //到达 if(first_Floor) //运动过程中遇到呼叫 { Downward(); //向下走 nowFloor=1; Arrival(); //到达 first_Floor=0; } } second_Floor=0; } if(third_Floor) //第3层呼叫 { if(nowFloor>3) //电梯所在层 { Downward(); //向下 nowFloor=3; if(third_Floor) //运动过程中遇到呼叫 { Arrival(); //到达 third_Floor=0; } if(second_Floor)//运动过程中遇到呼叫 { Downward(); //向下 nowFloor=2; Arrival(); //到达 second_Floor=0; } if(first_Floor) //运动过程中遇到呼叫 { if(nowFloor==3) { Downward(); //向下 nowFloor=2; } Downward(); //向下走 nowFloor=1; Arrival(); //到达 first_Floor=0; } } else if(nowFloor<3) { if(nowFloor==1) //电梯所在层 { Upward(); nowFloor=2; if(second_Floor)//运动过程中遇到呼叫 { Arrival(); //到达 second_Floor=0; } } if(nowFloor==2) //电梯所在层 { Upward(); //向上 nowFloor=3; if(third_Floor) //运动过程中遇到呼叫 { Arrival(); //到达 third_Floor=0; } } } else //电梯就在三楼 { Arrival(); //到达 } third_Floor=0; } if(fourth_Floor) //第4层呼叫 { if(nowFloor<4) { if(nowFloor==1) //电梯所在层 { Upward(); nowFloor=2; if(second_Floor)//运动过程中遇到呼叫 { Arrival(); //到达 second_Floor=0; } } if(nowFloor==2) //电梯所在层 { Upward(); nowFloor=3; if(third_Floor) //运动过程中遇到呼叫 { Arrival(); //到达 third_Floor=0; } } if(nowFloor==3) //电梯所在层 { Upward(); nowFloor=4; if(fourth_Floor)//运动过程中遇到呼叫 { Arrival(); //到达 fourth_Floor=0; } } fourth_Floor=0; } else //电梯就在四楼 { Arrival(); //到达 } } Delay(10); time++; if(time>=50)//手动开门后延时后自动关闭 { time=0; closeDoor=1; openDoor=0; } }}附录2电路板图及焊接图附录3材料附录4实物图基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阳江广东省阳江市市直有关学校引进高层次(急需紧缺)人才107人历年参考题库(频考版)含答案解析
- 金昌2025年甘肃金昌市金川区教育系统引进人才26人历年参考题库(频考版)含答案解析
- 1.2治国安邦的总章程(原卷版)
- 湖州2024年浙江湖州长兴县自然资源和规划局招聘编外工作人员2人历年参考题库(频考版)含答案解析
- 2024香港离婚协议书附带共同房产买卖及租赁合同3篇
- 2025年浙江嘉兴海宁市水利勘测设计所有限责任公司招聘笔试参考题库附带答案详解
- 2025年湖北宜昌市秭归县楚元控股集团有限责任公司招聘笔试参考题库附带答案详解
- 2025年北大荒营销股份有限公司招聘笔试参考题库含答案解析
- 2025年上海市保安服务有限公司招聘笔试参考题库含答案解析
- 2025年浙江慈溪市工业投资集团招聘笔试参考题库含答案解析
- 化学-山东省潍坊市、临沂市2024-2025学年度2025届高三上学期期末质量检测试题和答案
- 领导学 课件全套 孙健 第1-9章 领导要素- 领导力开发
- 2024-2025学年七年级上学期语文期末考前押题卷(统编版2024+含答案)
- 土建定额培训课件
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之13:“6策划-6.2创新目标及其实现的策划”(雷泽佳编制-2025B0)
- 2024年保护环境的建议书范文(33篇)
- 2025新译林版英语七年级下单词默写表
- 退休人员公益活动合作合同
- 四年级数学(四则混合运算带括号)计算题专项练习与答案
- 急诊创伤疼痛护理
- 2022年期货从业资格《期货基础知识》考试题库(含典型题)
评论
0/150
提交评论