《《硬件综合》课程设计报告基于VHDL语言的电梯控制器设计 .doc》由会员分享,可在线阅读,更多相关《《硬件综合》课程设计报告基于VHDL语言的电梯控制器设计 .doc(29页珍藏版)》请在三一办公上搜索。
1、长沙理工大学硬件综合课程设计报告 张巧玲 学 院 计通学院 专 业 计算机科学与技术 班 级 计08-01班 学 号 学生姓名 指导教师 课程成绩 完成日期 2011年6月30日课程设计任务书计算机与通信工程学院 计算机科学与技术专业课程名称硬件综合课程设计时间20102011学年第二学期1819周学生姓名张巧玲指导老师蔡烁题 目基于VHDL语言的电梯控制器设计主要内容:本课程设计要求设计一个电梯控制器。要求如下:(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。(2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。(3)电梯到达有停站请求的楼层,开门
2、指示灯亮,开门8秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当前层。 (4)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。 (5)电梯初始状态为一层开门状态。要求:(1)要求能独立地运用VHDL语言、EDA相关知识和Max Plus II仿真软件,编制一个简单的课程设计。(2)学生按要求编写课程设计报告书,能正确阐述设计和实验结果。(3)通过课程设计培养学生严谨的科学态度和团队协作精神。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课
3、程设计报告。(2)课程设计附件(源程序、各类图纸、实验数据、仿真截图等实证材料)。课程设计成绩评定学 院 计通学院 专 业 计算机科学与技术 班 级 计08-01班 学 号 200850080105 学生姓名 张巧玲 指导教师 蔡烁 完成日期 2011年6月30日 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日基于VHDL语言的电梯控制器设计学生姓名:张巧玲 指导老师:蔡烁 摘 要: 本设计就是基于电子设计
4、自动化(Electronic Design Automation)技术中的甚高速集成电路硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language)语言所开发的三层电梯控制程序,实验调试平台是Altera 公司的MAX +plus软件。本程序具有VHDL语言设计里最为常用的三个模块:实体entity,对控制器的实体(输入输出)端口进行定义;结构体architecture,对控制器内部的信号端以及寄存器进行定义;进程执行单元process,对控制器的所有输入输出端口、内部信号端口以及寄存器进行功能、行为描述。通过
5、程序调试及运行仿真,结果表明,本程序可以完成:电梯运行所在楼层显示、电梯运行方向指示、关门延时设置等。本设计对更高层的电梯控制设计具有一定的拓展性。 关键词: 电梯控制;程序设计;EDA;VHDL;MAX +plusDesign of Lift Controller Based on VHDL Language Student: Zhang qiaoling Advisor:CaishuoAbstract: The lift ,as the modernized result ,are entered in our life in last century .This thesis desig
6、ns the three-floor lift control on the basis of the electron basic on the electronic design automation(EDA) technologys the very high-speed integrated circuit hardware describe language(VHDL) ,it is debugged in the Altera companys MAX +plus software as a platform in experiment .This procedure has co
7、mmonly most used three pieces of module in language designs :the entity ,the architecture and the process .Through testing the connection of the EDA case ,realize the following main functions:The lifts floor shows , the lift operation direction shows ;closes prolonging ,etc. The design can make some
8、 evolution for designing to on the senior level lift control. Key word: lift control; programmer; EDA; VHDL; MAX +plus目录1 引 言11.1 问题的提出11.2 设计目的11.3 电梯控制的未来22 设计的基础依据32.1 EDA技术介绍32.2 VHDL语言介绍32.2.1 VHDL的简介32.2.2 VHDL语言的特点42.2.3 VHDL的设计流程43 程序设计及调试63.1 设计方案63.1.1 控制器的设计方案63.1.2 三层电梯控制器的设计思路63.2 三层电梯控
9、制器的综合设计63.2.1 三层电梯控制器的实体设计63.2.2 三层电梯控制器的结构体设计73.2.3 三层电梯控制器VHDL设计83.2.4三层电梯控制器的模块93.3 程序调试94 程序仿真134.1 波形输入建立134.2三层电梯控制器的仿真145 结束语17致谢18参考文献19附录201 引 言1.1 问题的提出当今世界,部分地区人口高度密集,人和土地资源短缺的矛盾日趋激化。这就注定了必须合理地利用土地去解决人和土地的矛盾。而兴建高层建筑是其中的有效措施之一。因此,能使人们快速、便捷地到达目的楼层的电梯便应运而生了。在一些发达国家和地区,人均电梯拥有数量一般在每万人30台以上,某些国
10、家甚至达到每万人120台以上,随着城镇化程度的加大,电梯市场会更加繁荣。中国的电梯市场增长也很乐观,目前,每年增长率为15%18%。随着电梯普及率的升温,人们对电梯的要求也会越来越高。如何更安全、更快捷地到达目的楼层,也就成了人们对电梯最为根本的要求。而电梯系统里控制这方面技术参数的是电梯控制系统。因此,控制系统的设计就成了在电梯设计领域里最为核心的技术。在电子技术飞速发展的今天,现代电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品进一步提高 ,加速了电子设计激素的普及进程及技术革新。电子设计在日常生活和物质产品生产都占到了举足轻重的
11、地位,这尤其体现在其对电子产品的开发和设计上。面对如此广袤的电梯市场,所谓“科技就是第一生产力”,处于科技前沿的电子设计技术很自然地就与电梯控制设计一拍即合,给设计师们以巨大的设计空间。因此,本设计就是希望在以开发更安全、更快捷的三层电梯控制系统为前提下,结合电子设计技术,对电梯控制进行设计。1.2 设计目的三层电梯广泛应用在大型的货运之中。其使用便捷,货运周期短,效率高,成本低,对货运事业具有普相当的经济价值。在客运上,三层电梯虽然涉及楼层不高,应用范围不大,但就特殊而言,可以为一些上下楼层不方便的人们提供相当的帮助,照顾了这些特殊群体的感情。因此,在某些层面上说,三层电梯的设计也具有一定的
12、社会价值。本着“一理通,百理明”的原则,本设计希望通过在简单的三层电梯控制设计之中如何解决升、降请求信号因电梯所处状态而产生的冲突等问题发散出去,由此及彼,对高层电梯控制的开发作一个技术的铺垫,对高层电梯设计者提供一个基础。针对目前中小型电梯所能实现的功能,本控制设计拟实现以下功能:(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。(2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。(3)电梯到达有停站请求的楼层,开门指示灯亮,开门8秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当前层。 (4)能记忆电梯内外所有请
13、求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。 (5)电梯运行规则一当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反。 (6)电梯初始状态为一层开门状态。1.3 电梯控制的未来电梯产业将走向信息化、网络化的道路。电梯控制系统如何与网络技术相结合将是未来电梯设计的主流趋势。在21世纪的今天如何提供用户满意产品和服务已成为关系到各企业生死存亡问题。电梯上网能确保为客户提供更优质全程的服务。在将来各大品牌厂家为了生存和发
14、展都会在公共网络系统中建立自己电梯网站(电梯专用平台),这也是一条必由之路。电梯上网主要能实现以下功能:(1)用网络把所有电梯监管起来,保证电梯安全运行,确保乘客安全。(2)当电梯出现故障时,电梯通过网络向客户服务中心发出信号使维保人员能及时准确了解电梯出现故障的原因及相关信息,客户的人身安全是否受到威胁,并在第一时间内赶赴事故现场进行抢修,同时通过网络对在电梯内乘客安慰,把电梯出现故障的负面影响降到最低。 (3)也可以通过电梯网络在规定时间内自动扫描每台电梯内各部件以发现事故隐患做到事先维修,减少停梯时间,提高企业的服务质量。2 设计的基础依据现代电子设计技术的核心是EDA技术。基于EDA技
15、术开发的实现三层电梯自动控制与目前主流的利用可编程逻辑控制器实现电梯控制紧密相连。硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。使用VHDL语言进行程序的设计,在MAX +plus软件上对程序进行编译、仿真。在MAX +plus平台上的开发具有编程软件具有采自易学易懂的梯形图语言、控制灵活方便、抗干扰能力强、运行稳定可靠等优点。2.1 EDA技术介绍 20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应
16、用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动
17、地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。2.2 VHDL语言介绍2.2.1 VHDL的简介VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language),翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。诞生于1982年。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计
18、环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。2.2.2 VHDL语言的特点(1)与其他的硬件描述语言相比,VH
19、DL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VH
20、DL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.2.3 VHDL的设计流程(1)设计规范的定义明确设计的目的,进行设计的总体规划。分析设计要求,以及自己要达到的设计目的和目标。(2)采用VHDL进行设计描述这部分包括设计规划和程序的编写。设计规划主要包括设计方式的选择及是否进行模块划分。设计方式一般包括直接设计,自顶向下和自底向下设计。(3)VHDL程序仿真对于某些人而言,仿真这一步似乎是可有可无的。但是对于一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。另外,对于作为一个独立的设计项目而言,仿真文件的提供
21、足可以证明你设计的完整性。(4)综合、优化和布局布线综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是一组逻辑方程;优化,这个主要是为了提高程序的执行效率及减少资源的利用;布局布线,指的是将逻辑关系转化成电路连接的方式。(5)仿真这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。3 程序设计及调试3.1 设计方案3.1.1 控制器的设计方案控制器的功能模块如图1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器
22、译码从而在楼层显示器中显示。分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。图1 电梯控制器原理图3.1.2 三层电梯控制器的设计思路电梯控制器采用状态机来实现,思路比较清晰。可以将电梯等待的每秒钟以及开门、关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置10个状态,分别是“电梯停留在第1层”、“开门”、“关门”、“开门等待第1秒”、“开门等待第2秒”、“开门等待第3秒”、“开门等待第4秒”、“上升”、“下降
23、”和“停止状态”。各个状态之间的转换条件可由上面的设计要求所决定。3.2 三层电梯控制器的综合设计3.2.1 三层电梯控制器的实体设计首先考虑输入端口,一个异步复位端口reset,用于在系统不正常时回到初始状态;在电梯外部,必须有升降请求端口,一层是最低层,不需要有下降请求,三层是最高层,不需要有上升请求,二层则上升、下降请求端口都有;在电梯的内部,应该设有各层停留的请求端口:一个电梯时钟输入端口,该输入时钟以1秒为周期,用于驱动电梯的升降及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯时钟高。其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响应,有请求信号以后
24、,该输出端口输出逻辑l。被响应以后则恢复逻辑O;同样,在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现在所处的位置;电梯开门关门的状态也能用一个输出端口来指示;为了观察电梯的运行是否正确,可以设置一个输出端口来指示电梯的升降状态。 3.2.2 三层电梯控制器的结构体设计 首先说明一下状态。状态机设置了lO个状态,分别是电梯停留在l层(stoponl)、开门(dooropen)、关门(doorclose)、开门等待第1秒(waitl)、开门等待第2秒(wait2)、开门等待第3秒(wait3)、开门等待第4秒(wait4)、上升(up)、下降(dow
25、n)和停止(stop)。在实体说明定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句,来定义状态机。 type state_typeis(stopon1,dooropen,doorclose,waitl,wait1,wait2,wait3,wait4,up,down,stop);signal state:state_type:=stopon1;signal clearup,cleardn,buttclk,fliclk:std_logic;signal q : std_logic_vector(3 downto 0); 在结构体中,设计了俩个进程互相配合,一个是
26、状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键
27、后产生的点亮的信号灯(逻辑值为1)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑l使得相应的信号灯熄灭。3.2.3三层电梯控制器VHDL设计三层电梯控制器的VHDL描述模块流程如图2所示。三层电梯控制器的源代码(见附录)可知: 图2 三层电梯控制器的VHDL描述(1)本程序设计调用了IEEE库,IEEE库是VHDL设计中最为常用的库,它包含有IEEE标准的程序包和其他一些支持工业标准的程序包。 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logi
28、c_unsigned.all; (2)以关键词ENTITY引导,END ENTITY flift 结尾的语句部分,成为实体。VHDL的实体描述了电路器件的外部情况及各信号端口的基本性质。本设计定义了关于三层电梯控制器用到的各类时钟、异步复位按键、信号灯指示、电梯的请求。端口模式主要就是IN、BUFFER、OUT端口。及定义了各端口信号的数据类型,主要是STD_LOGIC(标准逻辑位数据类型)、INTEGER(整数类型)、STD_LOGIC_VECTOR(标准逻辑矢量数据类型)。这些都满足上面调用的IEEE库中的程序包。entity flift isport(clk,reset,up1,up2,
29、down2,down3,stop1,stop2,stop3: in std_logic; uplight,downlight,stoplight: buffer std_logic_vector(3 downto 1); udsig:buffer std_logic; position:buffer integer range 1 to 3; doorlight:out std_logic);end flift; (3)以关键词ARCHITECTURE引导,END ARCHITECTURE behav结尾的语句部分,称为结构体。结构体负责描述电路器件的内部逻辑功能或电路结构。本设计定义了lO个
30、状态。描述了在三层电梯中出现的各种可能的情况作为控制电梯的主要进程。信号灯控制作为辅助进程。(具体语句见附录)3.2.4 三层电梯控制器的模块 图3 三层电梯控制器的模块3.3 程序调试 (1)建立好工作库目录,以便设计工程项目的存储,打开MAX +plus软件,其初始界面如图4所示。图4 MAX +plus软件初始界面(2)在工具栏中选择“新建”按钮。在选择输入路径时,选择“Text Editor File”以进行文本输入,如图5所示。图5 输入路径选择为文本输入(3) 在文本输入界面内进行程序输入,如图6所示。图6 程序输入界面(4)输入完毕后,需要对程序进行保存。文件名和实体定义的符号必
31、须保持一致,即文件名为flift。因为是使用VHDL语言,所以文件后缀名须改成vhd,详见图7所示。图7 文本输入保存界面 (5)保存以后,对程序进行编译。在编译前,需要把文件设置为顶层文件,或称工程文件Project。选择菜单“File”“Project”“Set Project to Current File”,当前的文件即被指定。详见图8所示。图8 设置顶层文件 (6)在“MAX +plus”下拉按钮里选择“Compiler”,对程序进行编译,此时,MAX +plus软件会对程序进行纠错等处理。当程序被确认无误以后会出现如下界面,如图9所示。第一次编译时由于实体名和保存时的名字不相符,所
32、以出现了一个错误,改正后无误。图9 编译完成图(7)在编译完成以后,打开程序页面,选择“File”“Edit Symbol”,出现引脚图,如下图10所示。图10 引脚图4 程序仿真4.1 波形输入建立(1)编译完全通过后,新建波形编辑器进行设计仿真。通过“新建”按钮,选择“Waveform Editor file”,详见如图11所示。图11 新建波形编辑器(2)新建波形编辑器后,对文件进行保存。同样是使用相同的文件名flift,后缀则改为scf。(3)在编辑器的Name 栏点击鼠标右键,选择“Enter Nodes from SNF”选择添加需要观察的节点信号,如图12所示。图12 添加节点信
33、号 (4)通过编辑器左侧的一些快捷按钮对所加节点中的输入信号进行相关的赋值后,就可对程序进行仿真,观察输出信号,得出结论。如对时钟信号clk符默认值,如图13所示。图13 对clk信号赋值图(5)在进行仿真前,还需对仿真截止时间和最小单位时间进行一下调整。在“File”栏对截止时间“End Time”设置为“10.0us”,如图14所示。图14 截止时间设置图(6)得出初始仿真图,如图15所示。图15 初始仿真界面4.2 三层电梯控制器的仿真 (1)图16所示仿真的是在第二层电梯外部有上升请求,也就是up2信号的一个脉冲,电梯原先停在第一层,这可由当电梯门打开时,position信号由0变为1
34、可知,doorlight信号1表示开门,0表示关门。再看uplight信号灯,当二层有上升请求的时候,它的值由0变到2。电梯将执行电梯控制器的命令由第一层上升到第二层,然后电梯门打开,乘客进入电梯以后,在电梯内部要求上升到第三层,也就是stop3 产生一个脉冲,此时stoplight由0变为4,即在第三层有停的请求,电梯上升到第三层,停留在第三层。由于没有下降请求信号,所以downlight信号灯的值一直都为0。图16 有上升请求的波形 (2)图17所示仿真的是在第三层电梯外部有下降请求,也就是down3信号的一个脉冲,电梯原先停在第一层,这可由当电梯门打开时,position信号由0变为1可
35、知,doorlight信号1表示开门,0表示关门。再看downlight信号灯当三层有下降请求的时候,它的值由0变到4。电梯将执行电梯控制器的命令由第一层上升到第三层,然后电梯门打开,乘客进入电梯以后,在电梯内部要求下降到第一层或者第二层。即按按钮stop1或stop2。由于没有上升请求信号和在哪个楼层停留的信号,所以downlight信号灯和stoplight信号灯的值一直都为0,电梯也停留在三层。图17 有下降请求的波形 (3)图18所示,电梯首先由第一层上升到第二层,开门,乘客进入,关门,电梯继续上升到第三层,开门,乘客出去,关门,又有乘客要进来,开门,乘客进入,关门,下降到第二层,开门
36、,乘客出去,再有乘客进来,关门,继续下降到第一层,开门乘客出去,再有乘客进来,关门,电梯上升到第三层,开门,乘客出去,关门,电梯停留在第三层,等待下一个命令。图18 复杂波形5 结束语 两周的课程设计结束了,在此次课程设计中,我收获了许多,不仅在知识学习方面,而且在动手能力方面、团结合作能力等方面都有了一定的成就。 首先,在知识学习方面,虽然我们开始有在数字电子技术这一门课程中接触过VHDL这一门语言,但是我们都还不是很了解,只知道它由实体、结构体组成,其余的就不是很了解,但是在此次课程设计中,我有了比较详细的了解,基本能够写出一个比较完整的程序。这两周的自学中,我也体会到了自学得快乐。 其次
37、,在动手能力方面,很多时候我都是知识不能够结合实践,所以很多时候我都不知道应该怎么样开始,不过此次由于有了老师的详细讲解,所以,我能够很快知道接下来应该做什么,有什么作用,得出什么结果。最后,在团结合作能力方面,虽然每个人有每个人的题目,但是我们还是充分发挥了我们的团结合作能力,找到程序的同学帮没找到的同学找,有什么错误的大家一起讨论,一起找资料解决,最后,实在不行还有我们坚强的后盾我们的指导老师,所以我们合作得很快乐。在这次设计过程中,体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。同时,也再次体
38、会到了团结合作的快乐。致谢在本次课程设计中,首先,我要感谢老师,他们永远在这里或那里为我们解答着各种各样的问题,无论是什么问题老师都会认真对待,为我们想出处理方案,每个老师都严谨细致、一丝不苟,我们的课程设计就是因为有了你们的帮助才能够如此顺利的完成,我记得我有一个问题比较棘手,老师是牺牲了他的个人时间为我们整整讲解了九十多分钟,直到我们完全弄懂为止,所以我很感谢老师们,特别是这种精神在鼓舞着我,让我努力着。我还要感谢帮助过我的同学,谢谢你们对我的帮助和支持,让我感受同学的友情,同时,我也要感谢问我问题的同学,由于你们我学到了更多,也体会了更多快乐。 参考文献1毛宗源等,微机控制电梯M,国防工
39、业出版社出版,19962李鼎培,当前电梯研制开发技术动态J,中国电梯,19953梁延东主编。电梯控制技术M。中国建筑工业出版社,19974张汉杰,王锡钟编著。现代电梯控制技术M。哈尔滨工业大学出版社,19965Kim C B,Kyoung Aseong,et a1A fuuzzy aproach to elevator group controlsystemIEEE Trans SystDMan,Cybern,1995,256SIEMENS公司编著,西门子(中国)有限公司译Z。SIEMATIC S一7 300可编程序控制器硬件和安装手册。2001年5月7SIEMENS公司编著,西门子(中国)有
40、限公司译Z。SIEMTIC STEP7 V50系统手册。2001年5月8武自芳,虞鹤松著。微机控制系统及其应用M。西安交通大学出版社,19989汪晓光,孙晓瑛等编著。可编程控制器原理及应用(上下册)M。机械工业出版社,200110温照方主编。SIMATIC S7300可编程序控制器教程M。北京理工大学出版社,2002 附录程序名: flift.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity flift isport(cl
41、k,reset,up1,up2,down2,down3,stop1,stop2,stop3: in std_logic; uplight,downlight,stoplight: buffer std_logic_vector(3 downto 1); udsig:buffer std_logic; position:buffer integer range 1 to 3; doorlight:out std_logic);end flift;architecture behav of flift istype state_type is(stopon1,dooropen,doorclose,
42、waitl,wait1,wait2,wait3,wait4,up,down,stop);signal state:state_type:=stopon1;signal clearup,cleardn,buttclk,fliclk:std_logic;signal q : std_logic_vector(3 downto 0);begin process(clk) begin if reset=1 then q=0000; elsif rising_edge(clk) then q=q+1; end if; buttclk=q(0); fliclk=q(3); end process; con
43、t:process(reset,fliclk) variable pos:integer range 3 downto 1; begin if reset=1 then state=stopon1; clearup=0; cleardndoorlight=1; position=1; pos:=1; statestateclearup=0;cleardn=0;statestatestatedoorlight=0; if udsig=0 then -上升情况 if position=3 then -电梯在三楼 if stoplight=000and uplight=000and downlight=000 then udsig=1;state=doorclose; else udsig=1;state=down; end if; elsif position=2 then -电梯在二楼 if stoplight=000and upl