《大学毕业设计---电梯控制系统的设计.doc》由会员分享,可在线阅读,更多相关《大学毕业设计---电梯控制系统的设计.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、合肥师范学院2015届本科生毕业论文(设计) 本科生毕业论文(设计)题目: 电梯控制系统的设计与实现学 院 计算机学院 学科门类 工科 专 业 计算机科学与技术 学 号 姓 名 指导教师 年 月 日摘 要随着当前时代的进步和发展,单片机技术已经普及到我们生活、工作、科研以及各个领域,已经成为一种比较成熟的技术。本文主要介绍了一个基于STC89C52单片机的电梯控制系统,详细描述了一个电梯控制系统的调度模块,即根据每个楼层不同用户的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务,重点是对整个电梯控制系统在单片机下的软件编程、硬件连接和各个控制模块系统流程进行的一步步透彻分析,
2、同时对各部分硬件电路也进行了一一介绍。整个电梯控制系统,以单片机为核心,再辅以各楼层按键和控制程序来控制整个电梯的运行,并通过数码管和发光二极管来显示电梯的实时运行状态,具有成本低、通用性强、灵活性大及易于实现复杂控制等优点,适合于我们的日常生活中的电梯控制,应用前景较广泛。关键词:单片机;电梯控制;调度模块 IIIAbstractWith the progress and developmentof the current era,microcontrollertechnology has spread to our life,work,scientific researchandvario
3、us fields,has become a relatively matu-retechnology.This paper introduces anelevatorcontrol system based on STC89C52 micro-controller,a detailed description of thescheduling module ofan elevator control system,ac-cording todifferent userneedsbuttonson each floor,the elevatortomake a reasonable jud-g
4、ment,knowcorrectly and efficientlyfinish the passenger elevator,keyis connectedand eac-hmodule of the systemforthecontrol processathorough analysisof the elevator control s-ystemunder the singlechipsoftware programmingand hardwareat the same time,each par-t of thehardware circuitwereintroducedin one
5、 one.Theelevator control system,singlechi-p microcomputer as the core,supplemented bythe floorbuttons and thecontrol programco-ntrol theoperation of the elevator,andthrough the digitaltube and the light emitting diod-eto display therealtime operation state ofelevator,has the advantages of low cost,
6、versat-ility,flexibility andhas the advantages ofeasy to implementcomplexcontrol,control of the elevatoris suitable forusin daily life,wide application prospect.Key Words:single chip microcomputer; elevator control system; scheduling module目 录摘 要IAbstractII1.引言12.设计目的及功能需求22.1 设计目的22.2 设计功能需求23.课题的开
7、发环境简介33.1 电路仿真图制作软件33.2 C51的程序开发软件34.系统方案论证与设计54.1 主控制器模块的选用54.2 电梯楼层显示模块的选择54.3 电梯楼层按键模块的设计65.系统的硬件设计75.1主控制模块的设计75.1.1 单片机STC89C52概述75.1.2 单片机时钟电路105.1.3 单片机复位电路105.2 显示模块的设计115.3 按键模块的设计125.4 蜂鸣器鸣响模块的设计136.系统的软件设计146.1程序设计思路146.2系统主程序框图146.3系统程序流程图157.系统实物的焊接与调试167.1系统焊接步骤167.2系统电路的调试167.3系统实物展示1
8、68. 结语17参考文献18附 录19致 谢271. 引言近年来我国的经济飞速发展,人民生活水平的迅速提高,座座高楼大厦崛地而起,工作居住条件得到了巨大的改善。在高楼大厦中,为了提高人们的生活工作效率,电梯便进入人们的生活,它作为高层建筑中安全、可靠、垂直上下的运载工具,对改善劳动条件、减轻劳动强度起到很大的作用。电梯的应用范围很广,可用于宾馆、饭店、办公大楼、商场、娱乐场所、仓库以及居民住宅大楼等。在当今社会中,电梯已成为人类必不可少的垂直运输交通工具。追溯电梯的历史,发现电梯进入人们的生活已经150年了。1854年,在纽约水晶宫举行的世界博览会上,美国人伊莱沙格雷夫斯奥的斯第一次向世人展示
9、了他的发明历史上第一部安全升降梯。从那以后,升降梯在世界范围内得到了广泛应用,以奥的斯的名字而命名的电梯公司也开始了她辉煌的旅程。一个半世纪的风风雨雨,翻天覆地的历史变迁,科技在发展,电梯也在进步,人们的生活也因此变得更加美好。中国最早的一部电梯出现在上海,是由美国奥的斯公司于1901年安装的。1932年由美国奥的斯公司安装在天津利顺德酒店的电梯至今还在安全运转着1。十一届三中全会后,沐浴着改革开放的春风,我国电梯业进入了高速发展的时期。未来的社会是城镇与城市渐渐融合,并相互影响,电梯将是现代人不可或缺的代步工具,随着科技的不断进步,经济的深入发展,科技将引领电梯进行质的飞跃,电梯将越来越智能
10、,越来越安全。 本文给出了一种基于单片机的电梯控制系统设计,通过在单片机上完成电梯的调度控制系统,单片机又称单片微控制器,是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器、随机存储器、只读存储器、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的完善的微型计算机系统,它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件,同时也在工业控制领域广泛应用。2. 设计目的及功能需求2.1 设计目的本设计的主要任务是完成一个电梯系统的调度模块,即根据每个楼层不同顾客的按键需求,让电梯做出合理的判断,正确高效地知道电梯完成各项载客任务。根据此任务,本课题
11、需要研究的内容有:(1)根据系统的设计技术要求,进行系统硬件的总体方案设计;(2)研究51单片机的相关知识,掌握并且加以运用;(3)学习C语言编程,并且规定电梯的工作规则,用C语言编程加以实现,以完成电梯的各项功能;(4)学习Proteus电路仿真系统,学会软件的使用并且画出电梯仿真图,以便编程时进行代码调试;(5)在软件编程和硬件电路焊接完成后,对软件和硬件进行调试,让其协调工作,完成指定任务。2.2 设计功能需求本设计为八层电梯的控制系统,如下为系统的功能需求及设计内容:本电梯控制系统设计拟实现通电后,系统默认电梯停在一层;按下不同的按键电梯可以到达不同的楼层,如果电梯在上行,下面的楼层有
12、呼叫电梯会继续上行,直到上行完了才会下行。同样如果电梯在下行,上面的楼层有呼叫电梯会继续上行 ,直到下行完了才会上行;如需上行,请按下所要到达楼层的上行呼叫按钮,电梯显示开始上行,所经楼层号用数码管进行显示,到达,楼层号持续显示,并有蜂鸣器鸣叫以示到达;当轿厢停留在中间楼层时,可实现上或下行呼叫,行进方向按呼叫顺序进行,如同时呼叫,则坚持先上行,后下行原则;由LED箭头指示电梯是上行和下行的方向。3. 课题的开发环境简介3.1 电路仿真图制作软件Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完
13、整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持PIC10/12/16/18/24/30/33、8051、AVR、ARM、8086和MSP430等,可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果2。Proteus 是单片机课堂教学的先进助手。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运
14、行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,使用 Proteus开发环境进行培训,在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。对于我们来说课程设计、毕业设计是我们走向就业的重要实践环节。由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性
15、、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。 实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。3.2 C51的程序开发软件单片机开发中除必要的硬件外,同样离不开软件。我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了3。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用
16、高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用C语言编程,那么Keil几乎就是不二之选。在设计中,我使用的就是程序开发软件就是 Keil C51。当开始一个新项目,只需简单的从设
17、备数据库选择使用的设备芯片,uVision IDE将设置好所有的编译器、汇编器、链接器和存储器选项。C51工具包的整体结构,Vision与Ishell分别是C51 for Windows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.obj)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.abs)。abs文件由OH51 转换成标准的hex 文件,以供调试器dScope51 或tScope51
18、使用进行源代码级调试4。4. 系统方案论证与设计该电梯控制系统主要由楼层按键和楼层鸣响及各楼层实时状态显示三部分电路组成,下面将一一介绍实现此系统功能的方案。4.1 主控制器模块的选用方案1:采用可编程逻辑器件CPLD作为控制器。CPLD主要是由可编程逻辑宏单元围绕中心的可编程互连矩阵单元组成,它编程灵活集成度高、设计开发周期短、适用范围宽、开发工具先进、对设计者的硬件经验要求低、标准产品无需测试保密性强等特点,采用并行的输入输出方式,提高了系统的处理速度,其中MC结构较复杂,并具有复杂的I/O单元互连结构可由用户根据需要生成特定的电路结构,完成一定的功能,适合作为大规模控制系统的控制核心。但
19、本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高,且从其编程语言也不熟悉的角度考虑我们放弃了此方案5。方案2:采用STC89C52单片机作为整个系统的核心,用其控制电梯运行功能,分析我们的系统,其关键在于实现电梯各个楼层的运行记录并显示,完成电梯的调度功能,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MC
20、S-51完全兼容,且采用高密度非易失存储器制造技术制造,将多功能8位CPU和闪烁存储器组合在单个芯片中,另外其程序的电可擦写特性,使得开发与试验比较容易,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案6。综合考虑,还是选择方案2,使用STC89C52作为主控制模块。4.2 电梯楼层显示模块的选择方案1:用LED点阵进行显示各个楼层及电梯上下行状态。LED点阵具有显示清晰,显示内容丰富、清晰,显示原理简单、控制方便,显示快速的特点。但单对于此系统我们不需要显示丰富的内容,而且LED点阵价格贵,且使用起来易损坏。方案 2:用数码管和发光二极管进行显示。数码管由于显示速度快,亮度强,高频特性好,
21、使用简单,显示效果简洁明了,体积小,重量轻,寿命长,价格低廉而得到了广泛应用,且在此系统中可以用单个数码管显示楼层,使用不同颜色的发光二极管来区分电梯处于上下行。综上所述选择方案2。4.3 电梯楼层按键模块的设计由于本系统的电梯是八层楼使用,电梯外部每一层一般要使用一个上行按键和一个下下行按键,电梯内部每一楼层一个按键,所以加起来一共是24个按键,由于芯片上的I/O引脚有限,所以使用一个4*4的矩阵按键和8个按键组合起来完成按键模块,且共使用16个I/O引脚,既有足够的按键控制电梯运行,也留下了足够的芯片引脚供其他模块使用。5. 系统的硬件设计5.1主控制模块的设计如图5-1所示为单片机最小系
22、统。图5-1 单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。在本设计中,最小系统应该包括:单片机、晶振电路、复位电路等。5.1.1 单片机STC89C52概述STC89C52是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,片内4bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置用8位中央处理器(CPU)和Flash存储单元,功能强大。STC89C52单片机可灵活应用于各种控制领域7。STC8
23、9C52单片机提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时、计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,STC89C52单片机可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时、计数器,串行通行口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位8。STC89C52的引脚图如下图5-2所示。图5-2 STC89C52引脚图下面对STC89C52的各个引脚作如下说明:VCC:供电电压。 GND
24、:接地。 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位
25、双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为
26、输入,由于外部下拉为低电平,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:当
27、访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时
28、,这两次有效的/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和晶振组成,晶振是给单片机提供工作信号脉冲的。它的速率就是单片机的工作速
29、率,简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。并在晶振的两引脚处接入两个10pF-50pF的瓷片电容接地用来削减偕波对电路的稳定性的影响。晶振的频率越高则系统的时钟频率也越高,单片机的运行速度也越快。但反过来运行速度越快对内存的速度要求就越高,对印刷电路板的工艺要求也越高,即要求产生的寄生电容要小,晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。基于以上本设计我们考虑选择频率为12MHz的晶振,当振荡脉冲频率为12MHz时,一个机器周期为1us。5.1.3 单片机复位电路单片机复位电路如图5-4所示。图5
30、-4 单片复位电路图复位是单片机的初始化操作,程序给单片机的复位引脚RST加大于2个机器周期(即24个时钟振荡周期)的高电平就可使单片机复位。STC89C52的复位是由外部的复位电路来实现的。复位电路通常采用上电复位和手动复位两种方式,手动复位有电平方式和脉冲方式两种,我们采用了手动复位为电平方式的复位。如图5-4所示,我们通过RST端经由电阻与电源VCC接通而实现,当按键按下时,RST端为高电平复位。当时钟频率选用12MHz时,C1取10uF,R1取10K时,电容C1充放电时间=R1*C1=0.1s2us(2个机器周期)。如果RST持续为高电平,单片机就处于循环复位状态。每次复位后,单片机的
31、程序都会从第一条开始从新执行。另外,还额外设计了滤波防干扰电路,由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 蜂鸣器鸣响模块的设计当电梯到达目地楼层,蜂鸣器响鸣,电梯开
32、门并等待3s。蜂鸣器鸣响模块如图5-8所示。图5-8 蜂鸣器鸣响模块图6. 系统的软件设计6.1 程序设计思路本设计是为一八层电梯设计调度系统,即使电梯能够合理高效地运行,完成各楼层顾客的接送任务。形象地说,就是要应对不同楼层顾客的不同需求,作出合理高效的判断,使所有顾客在整体运用时间最短的条件下将其运往各自的目的地。在整个电梯控制中,我们首先必须得合理考虑按键的响应问题。一段时间内可能有多个不同的按键有动作,程序必须记录每一个按键的动作,并根据电梯本身所处的楼层情况与按键楼层之间的位置关系,合理判断出电梯应当做出上升或下降的响应动作。然后,两个楼层之间应考虑有一段运行时间,而且也要设置在一个
33、楼层的停留时间。本设计中两个楼层之间的运行时间设为1s,当电梯到达目的层时蜂鸣器要及时鸣响,每层停留时间设为3s。另外,当电梯上升或者下降时,相应的状态指示灯应及时同步准确点亮。这个设计的成品应该可以作为真实电梯的控制系统一样,遵守以下两个原则:一是高效性,二是人性化。而实际电梯所面临的情况无比复杂,故本设计的难点除了硬件上面外,还有对这些复杂的情况归类化,分为若干个基本情况,另外是用恰当的C语言描述来表达这些复杂的逻辑11。6.2 系统主程序框图系统主程序框图如6-1所示。楼层上行下行呼叫按键电梯内楼层选择按键单片机控制楼层显示数码管电梯状态 指示灯控制信息运行状态信息楼层信息楼层到达蜂鸣器
34、响到达目地信息图6-1 系统主程序框图6.3 系统程序流程图系统程序流程图如图6-2所示。图6-2 电梯程序流程图7.系统实物的焊接与调试7.1 系统焊接步骤按电路图买好元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。而且要认真核对原理图是否一致,在检查好后才可上件、焊件,防止出现错误焊件后不便改正。按原理图的位置放置各元件,在放置过程中要先放置、焊接较低的元件,后焊较高的和要求较高的元件。特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要超过10s,注意芯片的安装方向,以及各器件的正负极,以免出错,使电路烧坏。7.2 系统电路的调试首先烧入显示程序,看显
35、示正不正常。在调试程序时,发现有的指令用的不正确,导致电路功能不能完全实现,另外软件程序中的延时有的过长、有的过短。7.3 系统实物展示系统实物如图7-1所示。图7-1 系统实物8. 结语经过了近半年的毕业设计的制作,通过在图书馆、互联网上查阅有关资料,不仅了解了电梯的起源和发展过程,而且加深了对电梯的运行过程、控制系统的认识,同时也对单片机有了更加进一步的学习和认识。由于是第一次完成单片机系统的设计,在开始阶段感到很困难,但坚持下来并在同学和老师的帮助下,一步步解决了。在整个设计过程中,也将原来所学的知识系统化、理论化、实用化,对如何使用已有知识及获取相关资料方面的能力又有了提高,也认识到无
36、论做什么,都需要踏、勤奋、严谨的工作态度,这对以后的工作产生深远的影响。总的来说,本次毕业设计的成品完成了我们生活中电梯的调度系统,而且本程序的编写不仅仅是为了应对八层楼的电梯,更多层的电梯也可以实现,如果对单片机的其他I/O再进行扩展的话,可以实现十几层电梯的需求。当然,如果更高层的电梯,就会受到单片机管脚资源的限制了。而程序本身的思想本身是可以支持更多层电梯的运行调度的,如果用其他管脚多的处理器的话(如ARM型处理器),则这一设想完全可以实现。不过本次电梯系统的设计也有不足之处,比如由于没有电机模块,所以无法控制电梯的运行速度;也需要优化电梯的选向功能,使之随客流量的变化而改变,打到高效运
37、送乘客的目的,增加出现紧急情况时的电梯处理办法等等,有待改进。参考文献1 杨正新.单片机在电梯控制系统中的应用J.计算机应用,2001.9 2 李勋等.单片机实用教程M.北京航空航天大学出版社,20003 Lauener J.The lift in the 100-storeyed building disposesA.2000.4 谢宜仁.单片机实用技术问答M.北京:人民邮电出版社,2003.5.5 何立民.单片机高级教程M.北京航空航天大学出版社,19956 张佳薇.数字电子技术基础.哈尔滨工程大学出版社,20097 陈志强,胡辉.单片机应用系统设计实践指南J.科学出版社,20058 Ye
38、ager Brent.How to troubleshoot your electronic scaleJ.Bulk Engineering. 19959 李朝青.单片机原理及接口技术M.北京航空航天大学出版社,199810 马忠梅.单片机C语言应用程序设计.航空航天大学出版,1997.1011 谢自美.电子线路设计.华中科技大学出版社,2000.5附 录附录1:程序代码#include#include Msg.h#define uint unsigned int#define uint8_t unsigned char#define BOOL unsigned char#define FAL
39、SE 0#define TRUE 1#define MAX 8sbit upLED = P20;sbit downLED = P21;sbit beep = P27;sbit F1=P30;sbit F2=P31;sbit F3=P32;sbit F4=P33;sbit F5=P34;sbit F6=P35;sbit F7=P36;sbit F8=P37;sbit P10=P10;sbit P11=P11;sbit P12=P12;sbit P13=P13;#define upLED_ON() upLED = 0#define upLED_OFF() upLED = 1#define down
40、LED_ON() downLED = 0#define downLED_OFF() downLED = 1void Beep(void);void delayMs(uint time);BOOL isUp(uint8_t cf);BOOL isDown(uint8_t cf);uint8_t code LED=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;struct floor BOOL up;BOOL down;BOOL stop;F10;void main()uint8_t curf=1,reaf=1,i;char dir = 0;u
41、pLED_OFF();downLED_OFF();EA=1; /中断优先级 PT1 PT0ET0=1;ET1=1;TMOD=0x11; TH0=(65536-5000)/256; TL0=(65536-5000)%256;TR0=1;TR1=1;P0 = LEDcurf;for(i=0;i10;i+) Fi.up = FALSE;Fi.down = FALSE;Fi.stop = FALSE;while(1)if (dir = 0) /dir=0if (Fcurf.up) dir = 1; Beep();delayMs(3000); Fcurf.up = FALSE; else if (Fcu
42、rf.down) dir = -1;Beep();delayMs(3000);Fcurf.down = FALSE;else if (Fcurf.stop)Beep();delayMs(3000);Fcurf.stop = FALSE;if (isUp(curf)dir = 1;else if (isDown(curf)dir = -1;if (dir = 1) if (isUp(curf)upLED_ON();curf+;P0 = LEDcurf;delayMs(1000);if (Fcurf.up | Fcurf.stop)Fcurf.up = FALSE;Fcurf.stop = FALSE;upLED_OFF();Beep();delayMs(3000);elsedir = 0;upLED_OFF();if (dir = -1) if (isDown(curf) downLED_ON();dir = -1;curf-;P0 = LEDcurf;delayMs(1000);if (Fcurf.down | Fcurf.stop)Fcurf.down = FALSE;Fcurf.stop = FALSE;downLED_OFF();Beep();delayMs(3000); else dir = 0;