三层电梯控制电路

上传人:re****.1 文档编号:454758483 上传时间:2022-11-01 格式:DOCX 页数:9 大小:256.06KB
返回 下载 相关 举报
三层电梯控制电路_第1页
第1页 / 共9页
三层电梯控制电路_第2页
第2页 / 共9页
三层电梯控制电路_第3页
第3页 / 共9页
三层电梯控制电路_第4页
第4页 / 共9页
三层电梯控制电路_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《三层电梯控制电路》由会员分享,可在线阅读,更多相关《三层电梯控制电路(9页珍藏版)》请在金锄头文库上搜索。

1、三层电梯控制电路设计一. 设计要求每层电梯入口处设有上下请求开关,电梯设有顾客到达层次的停站请求开关。1. 设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。2. 电梯每秒升(降)一层楼。3. 电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当前层。4. 能记忆电梯外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。5. 电梯运行规则一当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,

2、则相反。6. 电梯初始状态为一层开门状态。二. 设计目的电梯控制器是控制电梯按顾客要求自动上下的装置。本文采用VHDL语言来设计实用三层电梯控制器,其代码具有良好的可读性和易理解性,通过对三层电梯控制器的设计,可以发现本设计有一定的扩展性,而且可以作为更多层电梯控制器实现的基础。三. 控制器的设计方案控制器的功能模块如图1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控制器进行处理,同时显示电梯

3、的运行状态和电梯所在楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。四. 图1.电梯控制器原理图三层电梯控制器的结构体设计首先说明一下状态。状态机设置了lO个状态,分别是电梯停留在l层(stoponl)、开门(dooropen)、关门(doorclose)、开门等待第1秒(doorwaitl)、开门等待第2秒(doorwait2)、开门等待第3秒(doorwait3)、开门等待第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在实体说明定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句,来定义状态机。在结构体中,设计了俩

4、个进程互相配合,一个是状态机进程作为主要进程,另外一个是信号灯控制进程作为辅助进程。状态机进程中的很多判断条件是以信号灯进程产生的信号灯信号为依据的,而信号灯进程号灯的熄灭又是由状态机进程中传出的clearup和cleardn信号来控制。在状态机进程中,在电梯的上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升、下降还是停止。本设计需要完成的任务是编写VHDL弋码来模拟现实中的三层电梯工作。在点阵上显示电梯所在的楼层,当其它楼层有上或下的

5、请求信号时,表示该楼层上或下的绿色或黄色指示灯亮,电梯开始上或下运行,当到达该楼层时,表示该楼层上或下的绿色或黄色指示灯灭,表示到达该楼层的红色指示灯亮,点阵显示楼层数,红色指示灯灭。五.vhdl源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityelevatorisport(clk:instd_logic;-ClockSignalk1,k2u,k2d,k3:instd_logic;-Pushbuttond1,d2u,d2d,d3ou

6、tstd_logic;-Ledofeveryfloordoor1,door2,door3:bufferstd_logic;-doorledr0,r1,r2,r3,r4,r5,r6,r7:outstd_logic;-7segmentdriversa,sb,sc:outstd_logic);-DisplaySelectendelevator;architecturebehaveofelevatorissignalstate1,state3:std_logic;signalstate2u,state2d:std_logic;signaldoorflag:std_logic;signaludflag,

7、runflag:std_logic;-upanddownflag,runflagsignaldcount:std_logic_vector(2downto0);-displaycountersignaldisplay:std_logic_vector(7downto0);signallocation:std_logic_vector(1downto0);signalwcount:std_logic_vector(10downto0);-waitcountersignalcounterdoorcountstd_logic_vector(9downto0);-doorsignalcol1,col2

8、,col3,col4,col5,col6:std_logic_vector(7downto0);beginprocess(clk)-judgethekeyisorisnotbeenpushedbeginif(clkeventandclk=1)thenif(k1=0anddoor1=0)thenstate1=1;d1=1;elsif(location=0andwcount=0)thend1=0;if(doorcount=1020)thenstate1=0;endif;endif;if(k2u=0anddoor2=0)thenstate2u=1;d2u=1;elsif(location=1andu

9、dflag=1andwcount=0)thend2u=0;if(doorcount=1020)thenstate2u=0;endif;endif;if(k2d=0anddoor2=0)thenstate2d=1;d2d=1;elsif(location=1andudflag=0andwcount=0)thend2d=0;if(doorcount=1020)thenstate2d=0;endif;endif;if(k3=0anddoor3=0)thenstate3=1;d3=1;elsif(location=2andwcount=0)thend3=0;if(doorcount=1020)then

10、state3=0;endif;endif;endif;endprocess;process(clk)beginif(clkeventandclk=1)thenif(location=0)then-display1col1=00000001;col2=00100001;col3=01111111;col4=11111111;col5=00000001;col6=00000001;elsif(location=1)then-display2col1=01100011;col2=11100111;col3=10001101;col4=10011001;col5=11110011;col6=01100

11、111;elsif(location=2)then-display3col1=01000010;col2=11011011;col3=10011001;col4=10011001;col5=11111111;col6=01100110;endif;endif;endprocess;process(clk)-accumulatedcountbeginif(clkeventandclk=1)thendcount=dcount+1;endif;endprocess;process(clk)beginif(clkeventandclk=1)thensa=dcount(0);sb=dcount(1);s

12、cdisplaydisplay=00000000;endcase;endif;endprocess;process(clk)-Inthisprocess,a,b,c,d,e,f,ganddotwilloutputbeginif(clkeventandclk=1)thenr0=display(7);r7=display(0);endif;endprocess;endbehave;注释:1. 本程序设计调用了IEEE库,IEEE库是VHDL设计中最为常用的库,它包含有IEEE标准的程序包和其他一些支持工业标准的程序包。本设计采用了STD_LOGIC_1164、STD_LOGIC_ARITH、STD

13、_LOGIC_UNSIGNED程序包。图2.三层电梯控制器的vhdl描述以关键词ENTITY引导,ENDENTITYthreeflift结尾的语句部分,称为实体。VHDL的实体描述了电路器件的外部情况及各信号端口的基本性质。本设计定义了关于三层电梯控制器用到的各类时钟、异步复位按键、信号灯指示、电梯的请求。端口模式主要就是IN、BUFFER、OUT端口。及定义了各端口信号的数据类型,主要是STD_LOGIC(标准逻辑位数据类型)、INTEGER(整数类型)、STD_LOGIC_VECTOR(标准逻辑矢量数据类型)。这些都满足上面调用的IEEE库中的程序包。以关键词ARCHITECTURE弓I导

14、,ENDARCHITECTUREa结尾的语句部分,称为结构体。结构体负责描述电路器件的部逻辑功能或电路结构。本设计定义了IO个状态。描述了在三层电梯中出现的各种可能的情况作为控制电梯的主要进程。信号灯控制作为辅助进程。三层电梯控制器模块原理图时钟输入信号灯显示电梯控制器图3.三层电梯控制器模块原理图六. 三层电梯控制器的仿真模块下图所示仿真的是在第二层电梯外部有上升请求,也就是f2upbuttton信号的一个脉冲,可以看到电梯从一层上升到二层,position信号由1变到2,doorlight信号1表示开门,0表示关门。当乘客进入电梯以后,在电梯部要求上升到第三层,也就是stop3button

15、产生一个脉冲,电梯上升到第3层,开门4秒以后关门,停留在第三层,position最后的值为3。在仿真图中看不到buttonclk,只显示为一条黑色的线,是因为采用了频率较大的时钟。再看fuplight信号灯,当二层有上升请求的时候,它的值由0变到2。(注意fuplight和fdnlight是3位的二进制向量,这里的2代表“010”,表示二层有请求;“100”也就是4,表示三层有请求)。当电梯停留到第二层以后,表明该请求被响应,所以它的值变为0,由于没有下降请求信号,所以fdnlight信号灯的值一盲都为O。#-f*!00*kUh0UDV-關却IXHB011TuaCMtiMnD卫4*上Imh0亦JIM图4.有上升请求的仿真波形.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号