毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc

上传人:laozhun 文档编号:3979992 上传时间:2023-03-30 格式:DOC 页数:49 大小:3.04MB
返回 下载 相关 举报
毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc_第1页
第1页 / 共49页
毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc_第2页
第2页 / 共49页
毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc_第3页
第3页 / 共49页
毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc_第4页
第4页 / 共49页
毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于VHDL六层电梯控制器控制系统设计.doc(49页珍藏版)》请在三一办公上搜索。

1、 TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY 毕业设计(论文)题目:基于VHDL六层电梯控制系统目录摘要IIIABSTRACTV第1章 绪论- 1 -第2章 总体方案设计- 3 -2.1 设计要求- 3 -2.2 电梯控制器的总体设计方案- 3 -2.3 电梯上下层运行流程图- 4 -2.4 电梯运行控制流程图- 5 -2.5 六层电梯控制器的设计思路- 6 -第3章 总体设计电路图- 9 -3.1 顶层电路原理图- 9 -3.2 六层电梯控制器的实体设计- 9 -3.3 六层电梯控制器的结构体设计- 10 -3.4 六层电梯控制器VHDL设计- 11

2、 -3.5 选择器件- 11 -3.6 功能模块- 12 -3.6.1 电梯主控制模块- 12 -3.6.2 分频器模块- 14 -3.6.3 译码器模块- 14 -3.6.4 数据选择器模块- 14 -第4章 六层电梯模块仿真- 17 -4.1 电梯控制器控制仿真分析- 17 -4.2 译码器仿真分析- 21 -4.3 数据选择器仿真分析- 22 -4.4 分频器模块仿真分析- 23 -4.5 顶层电路仿真分析- 23 -第5章 设计的扩展性- 27 -参考文献- 29 -致谢- 31 -附录- 33 -基于VHDL的六层电梯控制器的设计摘要电梯作为垂直方向的交通工具,在高层建筑和公共场所已

3、成为不可或缺的设备。中国是全球最大的电梯市场,也具有最强的电梯生产能力,但由于缺乏自主知识产权和核心技术,自主品牌占市场的份额很少。随着社会需求的变化,电梯朝着节能、环保及智能化方向发展。EDA技术打破了软件和硬件间的壁垒,是计算机的软件技术与硬件实现、设计效率与产品能合二为一,它代表了电子技术和应用技术的发展方向。VHDL主要用于描述数字系统的接口,结构和功能,它的语法简单易懂,移植性好。本设计采用VHDL,源程序Altera公司的Quartus II软件仿真。运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。在主进程中定义了7个状态,分别

4、是“stopon1”“dooropen”“doorclose”“doorwait4”“up”“down”和“stop”,在电梯时钟的触发下,通过当前状态和信号灯信号判定下一状态。信号灯控制进程中,信号灯存储按键请求情况,它的熄灭是由状态机进程中传出的信号来控制。关键字:电梯控制器,VHDL,状态机,CPLDBase on VHDL Six Layer of Elevator Control SystemABSTRACTElevator has become an indispensable device as a vertical transport in high-rise building

5、s and public places. China is the worlds largest elevator market ,and also has the highest lift capacity. But the lack of independent intellectual property rights and core technologies, the market share of own brands account for very little. With the changing of the communitys needs, elevator develo

6、p towards energy saving, environmental protection and intelligent.EDA breaks the barriers between hardware and software. Not only the computer software technology and hardware but also the design efficiency and product performance are combined. EDA represents the electronic design technology and app

7、lication technologys development. VHDL digital system is mainly used to describe the interface, structure and function. Its syntax is easy and transplantable.This design which uses VHDL simulated by Alteras Quartus II software. I use method named finite state machine which two processes complement e

8、ach other. The state machine process act as the main process, and the signal control process act as a assistant. Seven states were defined in the main process, namely “stopon1” “dooropen” “doorclose” “doorwait4” “up”“down” and “stop”. Triggered by the lifts clock, the next state is determined by the

9、 current state and the signal. In signal control process, registers keep input value, and lamps black out when the control process, registers keep input value, and lamps black out when the control signal in the main process is high value.Key words: Elevator Controller, VHDL State Machine,CPLD第1章 绪论随

10、着社会的发展,电梯的使用越来越普遍,已经从原来只在商业大厦,宾馆使用,过度到在办公楼,居民楼等场所使用,并且对电梯功能的要求也不断提高,相应地其控制方式也在不停地发生变化.对于电梯的控制,传统的方法是使用继电器接触器控制系统进行控制,随着技术的 不断发展,微型计算机在电梯控制上的 应用日益广泛,现在已进入全微化控制的时代。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,

11、及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。电梯的微机化控制主要有以下几种形式:1PLC控制

12、2 单片机控制 3 单板机控制 4 单微机控制 5 多微机控制 6 人工智能控制 。随着EDA技术的快速发展 ,VHDL已广泛应用于电子设计与控制的各个方面 本文采用VHDL语言来设计实用六层电梯控制器,其代码具有良好的可读性和易理解性,源程序经A1tera公司的 Quartus II软件仿真,目标器件选用CPLD器件。通过对六层电梯控制器的设计,可以发现本设计有一定的扩展性,而且可以作为更多层电梯控制器实现的基础。第2章 总体方案设计2.1 设计要求六层电梯控制器将实现的功能:(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。(2)设有电梯入口处位置指示装置及电梯运

13、行模式(上升或下降)指示装置。(3)电梯每秒升(降)一层楼。(4)电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当前层。(5)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。(6)电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反。(7)电梯初始状态为一层开门状态。2.2 电梯控制器的

14、总体设计方案控制器的功能模块如图2.1所示,包括主控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。由于其他模块相对简单很多,所以主控制器是核心部分。 图2.1 总体设计方案2.3 电梯上下层运行流程图电梯上升流程图,如图2.2:图2.2 电梯上升流程图电梯下降流程图,如图2.3:图2.3 电梯下降流程图2.4 电梯运行控制流程图如图2.4:图2.4 电梯运行控制流程图2.5 六层电梯控制器的设计思路电梯控制器运用状态机的设计方法,思路比较清晰。

15、可以将电梯等待的每秒钟以及开门、关门都看成一个独立的状态2。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置7个状态,分别是“电梯停留在第1层”、“开门”、“关门”、 “开门等待4秒”、“上升”、“下降”和“停止状态”。各个状态之间的转换条件可由上面的设计要求所决定。各状态机之间转换图如图2.5:图2.5 状态机转换图第3章 总体设计电路图3.1 顶层电路原理图电梯控制器为其中的核心部件,控制其电梯的运行情况,而其控制则由按钮来决定,通过按钮指示灯判断电梯的工作状态及显示其运行情况。实验板上输入过大的脉冲序列,通过分

16、频器将高频转换为低频,即buttonclk,通过此时钟信号控制电梯信号灯。当按钮为高电平时,电梯开始工作,并通过按钮信号灯决定电梯的运行。电梯所处位置显示通过译码器,再通过数据选择器显示到数码管上。udsig和doorlight显示电梯门和电梯的状态。stoplight6.1 fuplight6.1 fdnlight6.1 显示按钮指示。Reset按钮使电梯恢复到初始位置。楼层position变化相应的数码管也跟着变。其顶层原理图如图3.1:图3.1 顶层原理图3.2 六层电梯控制器的实体设计首先考虑输入端口,一个异步复位端口reset,用于在系统不正常时回到初始状态;在电梯外部,必须有升降请

17、求端口,一层是最低层,不需要有下降请求,六层是最高层,不需要有上升请求3,二三四五层则上升、下降请求端口都有;在电梯的内部,应该设有各层停留的请求端口:一个电梯时钟输入端口,该输入时钟以1秒为周期,用于驱动电梯的升降及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯时钟高。其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响应,有请求信号以后,该输出端口输出逻辑l。被响应以后则恢复逻辑0;同样,在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现在所处的位置;电梯开门关门的状态也能用一个输出端口来指示3;为了观察电梯的运行是

18、否正确,可以设置一个输出端口来指示电梯的升降状态。3.3 六层电梯控制器的结构体设计 首先说明一下状态。状态机设置了7个状态,分别是电梯停留在l层(stoponl)、开门(dooropen)、关门(doorclose)、开门等待4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在实体说明定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句,来定义状态机。 type lift_state is (stoponl,dooropen,doorclose, doorwait4,up,down,stop): signal mylift:lift

19、_state: 在结构体中,设计了两个进程互相配合,一个是状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程5。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程中信号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。 在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。 在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键

20、的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯(逻辑值为1)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑l使得相应的信号灯熄灭。3.4 六层电梯控制器VHDL设计六层电梯控制器的源代码可知。(1)本程序设计调用了IEEE库,IEEE库是VHDL6设计中最为常用的库,它包含有IEEE标准的程序包和其他一些支持工业标准的程序包。本设计采用了STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED程序包。 (2)以关键词ENTITY引导,END ENTITY lift结尾的语句部分,称为实体

21、。VHDL的实体描述了电路器件的外部情况及各信号端口的基本性质。本设计定义了关于六层电梯控制器用到的各类时钟、异步复位按键、信号灯指示、电梯的请求。端口模式主要就是IN、BUFFER、OUT端口。及定义了各端口信号的数据类型,主要是STD_LOGIC(标准逻辑位数据类型)、INTEGER(整数类型)、STD_LOGIC_VECTOR(标准逻辑矢量数据类型)。这些都满足上面调用的IEEE库中的程序包7。 (3)以关键词ARCHITECTURE引导,END ARCHITECTURE art结尾的语句部分,称为结构体8。结构体负责描述电路器件的内部逻辑功能或电路结构。本设计定义了7个状态。描述了在六

22、层电梯中出现的各种可能的情况作为控制电梯的主要进程。信号灯控制作为辅助进程9。3.5 选择器件1. 数据选择器逻辑功能表如表3.1 表3.1 数据选择器逻辑功能表2. 译码器逻辑功能表如表3.2表3.2 译码器逻辑功能表3.6 功能模块3.6.1 电梯主控制模块如图3.3:图3.3 电梯主控制模块电梯主控制模块端口说明:buttonclk 按钮时钟信号 liftclk 电梯时钟信号 reset 复位键 f1upbutton 一楼上楼按钮 f2upbutton 二楼上楼按钮 f3upbutton 三楼上楼按钮f4upbutton 四楼上楼按钮 f5upbutton 五楼上楼按钮f2dnbutto

23、n 二楼下楼按钮 f3dnbutton 三楼下楼按钮f4dnbutton 四楼下楼按钮 f5dnbutton 五楼下楼按钮 f6dnbutton 六楼下楼按钮 stop1button 电梯内部一楼按钮stop2button 电梯内部二楼按钮 stop3button 电梯内部三楼按钮stop4button 电梯内部四楼按钮 stop5button 电梯内部五楼按钮stop6button 电梯内部六楼按钮 fuplight6.1 每楼层上升指示灯fdnlight6.1 每楼层下降指示灯 stoplight6.1 电梯内部楼层指示灯 position2.0 楼层位置显示 doorlight 电梯门状

24、态显示 udsig 电梯上升下降显示3.6.2 分频器模块如图3.4:图3.4 分频器模块模块端口说明:clk_in 电源输入端 div_out 分频后时钟输出端3.6.3 译码器模块如图3.5:图3.5译码器模块aaa2.0 楼层位置输出端 bbb3.0 译码输出端3.6.4 数据选择器模块如图3.6:图 3.6 数据选择器模块数据选择器模块端口说明:input3.0 译码器输入端 output6.0 数据选择器输出端第4章 六层电梯模块仿真4.1 电梯控制器控制仿真分析示例1: 图4.1所示仿真的是在第五层电梯外部有上升请求,也就是f5upbuttton信号的一个脉冲9,可以看到电梯从一层

25、上升到五层,position信号由1变到5,doorlight信号1表示开门,0表示关门。当乘客进入电梯以后,在电梯内部要求上升到第六层,也就是stop6button产生一个脉冲,电梯上升到第6层,开门4秒以后关门,停留在第六层,position最后的值为6。在仿真图中看不到buttonclk,只显示为一条黑色的线,是因为采用了频率较大的时钟。 再看fuplight信号灯,当五层有上升请求的时候,它的值由0变到16。(注意fuplight和fdnlight是6位的二进制向量,这里的“010000”,表示五层有请求;“000100”也就是4,表示三层有请求)。当电梯停留到第五层以后,表明该请求被

26、响应,所以它的值变为0,由于没有下降请求信号,所以fdnlight信号灯的值一盲都为0。当电梯处于第五层时,udsig=0,即此时若没有其他请求,电梯处于上升模式;当stop6button=1,即电梯内部按了六层请求时,电梯门灯灭电梯开始上升udsig=0,即处于上升模式10,抵达六层时,udsig=即无论什么请求电梯都开始下降,且doorlight=1,即灯亮,电梯门开。四秒之后灯灭,电梯门关。图4.1 示例1示例2:图4.2是有下降请求的情况,它是图4.1的继续,当电梯停留在第六层的时候,在电梯外第四层有下降请求,这时候fdnlight信号灯由0变为8,说明第四层有下降请求。电梯下降到第四

27、层,响应了下降请求,所以fdnlight信号灯清0。电梯开始下降,即udsig=1,抵达四楼后电梯门开,doorlight=1, 这时候,在电梯内部有一楼向上请求,接着电梯内部有三楼的请求,所以电梯继续下降,到达三层后,电梯门开11,四秒后电梯门关,又因为一楼有请求所以最终到达一楼停止响应,position信号的值保持在1,电梯处于上升模式。四秒后电梯门关。图4.2 示例2示例3:图4.3仿真的情况是,原先电梯停留在第一层,这时候电梯外第六层有下降请求,电梯上升到第六层,乘客进入电梯以后要求下降到一层,与此同时,在电梯外第三层有上升请求,电梯首先要响应下降请求然后再响应这个上升请求,所以电梯得

28、先下降到一层,然后再上升到第三层来,接着电梯内部五楼,三楼都有请求信号,于是电梯升到五楼然后下降到三楼,这是符合常理的。从仿真的波形看,电梯的位置变化和想象是一致的。电梯的运行情况完全正确。最后乘客在电梯内部要求上升到三层,所以电梯最后的停留位置为三层。图4.3 示例3示例4: 图4.4所示的仿真,原先电梯停留在第一层,电梯外第六层有下降请求,电梯上升到六层,乘客进入电梯以后要求下降到一层,此时,二层有下降请求,接着又有上升请求,电梯首先在二层停留。然后下降到一层。随后要响应二层上升请求,上升到二层,乘客进入电梯以后要求上升到三层,所以电梯最后的停留位置在三层。图4.4 示例44.2 译码器仿

29、真分析本模块的主要功能是将10进制数转换成4位二进数。当输入信号aaa=1时,输出bbb=0001;当输入信号aaa=2时,输出bbb=0010;当输入信号aaa=3时,输出bbb=0011;当输入信号aaa=4时,输出bbb=0100;当输入信号aaa=5时,输出bbb=0101;当输入信号aaa=6时,输出bbb=0110;其他都为0000;仿真波形如图4.5图4.5 译码器仿真波形4.3 数据选择器仿真分析此模块的功能是根据输入不同的数据输出不同的数据,即由输入定输出,输出量通过数码管显示数据。当input=0001时, 输出 0110000, 数码管显示 1;当input=0010时,

30、 输出 1101101, 数码管显示2;当input=0011时, 输出 1111001, 数码管显示3;当input=0100时, 输出 0110011, 数码管显示4;当input=0101时, 输出 1011011, 数码管显示5;当input=0110时, 输出 1011111, 数码管显示6;仿真波形如图4.6图4.6 数据选择器仿真波形4.4 分频器模块仿真分析此模块的功能是把高频率的时钟信号转换为低频脉冲信号。仿真波形图如图4.7:图4.7 分频器仿真波形4.5 顶层电路仿真分析实例(1):当二楼上升按钮为高电平时,即f2uplight=1;电梯门开始上升,到达二楼时,门灯为高电

31、平,即doorlight=1;数码管显示2;此时电梯内stop3button=5;即电梯收到五楼的请求指示,门关,到达五楼后,此时数码管显示5;4秒后门关,等灭,doorlight=0。仿真图如图4.8:图4.8 实例(1)实例(2):当电梯六楼向下按钮f3dnlight=1时,电梯到达六楼,此时电梯内部按钮stop1button=1;与此同时,三楼电梯f3dnlight=1,电梯到达三楼停后,最终到达一楼。仿真波形如图4.9:图4.9 实例(2)第5章 设计的扩展性在本设计中,因为考虑了扩展性,所以在信号定义的时候就使用了二进制的向量,而不是整数。在设计方法上也做了特殊的设计,所以使得扩展性

32、较好。如果要实现n层电梯的控制,首先在端口的地方就要加入所有的按键,而指示灯只要把向量中的6改成n就可以了。同时需要在按键控制进程里加入其他按键触发指示灯的语句。在电梯的升降状态将6改成n,在电梯的开门状态中将2改成n一1,在关门状态,将position=6改成position=n,关键是修改position=6的部分,如果按照每层罗列,将十分烦琐,所以得寻求各层判断条件的共性,解决方法之一就是,新建一个全局向量abc为std_logic_vector(n downto 1),abc的赋值为abc1,other=0)。在电梯的上升模式时,如果有本层请求信号,则电梯开门;如果没有任何请求信号,则

33、电梯停在当前层;否则用abc和stoplight与fuplight向量比较,如果stoplight或fupligh比abc大,则说明更高层还有上升或者停战请求,电梯需继续上升;如果abc更大,则用abc与fdnlight作比较,如果fdnlight更大,则说明更高层有下降请求,电梯继续上升,否则电梯下降。电梯处在下降模式时同原理分析判定下一状态。这样可以大大简化程序,但要注意的是abc向量作为判断依据,需实时更新,可以单独写一个进程,触发时钟周期要设置得很小。在电梯的上升状态和开门状态中,把6改为n,在信号灯控制进程中加入其它按键触发指示灯的语句。参考文献1黄正巾,徐坚等. CPLD系统设计与

34、应用M.北京:电子工业出版社,2002,110123.2蒋璇,臧春花.数字系统设计与PLD应用技术M.北京:电子工业出版社, 2001,2334.3孟宪元.可编程ASIC集成数字系统M.北京:电子工业出版社,2003,231243.4潘松,王国栋. VHDL实用教程(修订版)M.成都:成都电子科技大学出版社,2002,4587.5宋万杰,罗丰,吴顺君.CPLD技术及其应用M.西安:西安电子科技大学出版社,2005,2556.6王锁萍.电子设计自动化(EDA)教程M.成都:成都电子科技大学出版社,2006,6790.7 邱玉春. 李文俊.VHDL系统设计M.电子产品世界,2007, 5053.8

35、 苏长赞. 电梯设计与应用M. 北京:人民邮电出版社,2008,7691.9 楼然苗. CPLD设计指导M. 北京航空航天大学出版社,2007,223225.10 彭为. 数字系统设计M. 电子工业出版社,2006,6171.11 吴国经. 单片机应用技术M. 中国电力出版社,2004,112131.12 戴佳. VHDL程序设计实例精讲M. 电子工业出版社,2007,8892.13 朱清慧. VHDL教程. 清华大学出版社M.2008,201210.14 何立民EDA应用技术选编M北京:北京航空航天大学出版社,2008,445115 李华EDA实用接口技术M. 北京航空航天大学出版社2003

36、,176182.致谢通过这次课程设计,让我明白了理论和实际操作之间差距,而且也让我很明确得意识到自己在数电上有很多的知识漏洞,以后应该多钻研一下。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示,结果经过再三检查发现是Endtime设置不合理,后来改过来之后,就能观察到正确的仿真结果了。在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。总的来说在这次

37、实课程设计中,我们虽然碰到了很多困难和问题,到最后还是靠自己的努力与坚持独立的完成了任务。当遇到了自己无法解决的困难与问题的时候,还请教老师给予指导和帮助。这次设计给我最深的印象就是扩大自己的知识面,了解更多与本专业有关的科技信息,与时代共同进步,才能在将来成为有用的科技人才,觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。 最后再次感谢老师的辅导以及同学的帮助,因为他们使我对这门学科有了更深刻的了解。附录电梯程序:library ieee;use ieee.std_log

38、ic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sixlift isport( buttonclk:in std_logic; -按钮时钟信号 liftclk: in std_logic; -电梯时钟信号 reset:in std_logic; -复位键 f1upbutton:in std_logic; -一楼上升按钮 f2upbutton:in std_logic; -二楼上升按钮 f3upbutton:in std_logic; -三楼上升按钮 f4upbutton:in std

39、_logic; -四楼上升按钮 f5upbutton:in std_logic; f2dnbutton:in std_logic; -二楼下降按钮 f3dnbutton:in std_logic; -三楼下降按钮 f4dnbutton:in std_logic; -四楼下降按钮 f5dnbutton:in std_logic; -五楼下降按钮 f6dnbutton:in std_logic; -六楼下降按钮 fuplight:buffer std_logic_vector(6 downto 1); -上升指示灯 fdnlight:buffer std_logic_vector(6 downto

40、 1); -下降指示灯 stop1button,stop2button,stop3button, stop4button, stop5button, stop6button:in std_logic; -电梯内部按钮 stoplight:buffer std_logic_vector(6 downto 1); -内部停止指示灯 position:buffer integer range 1 to 6; -楼层位置显示 doorlight:out std_logic; -电梯门指示灯 1 开 0关 udsig:buffer std_logic ); -0处于上升模式,1处于下降模式 end si

41、xlift;architecture art of sixlift is type lift_state is (stopon1,dooropen,doorclose,doorwait4,up,down,stop); -电梯所处的7个状态signal mylift:lift_state; -内部电梯状态信号signal clearup:std_logic; -上升清除信号 signal cleardn:std_logic; -下降清除信号 begincontrollift:process(reset,liftclk) variable pos:integer range 1 to 6; -楼层位置变量 beginif reset=1 then

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号