关键词不能为空

当前您在: 主页 > 英语 >

六层电梯设计

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 18:32
tags:

-

2021年2月28日发(作者:理发店)





VH

< p>
DL








< br>测




























通信工程学院





六层电梯设计
















一、设计要求与功能




1.


设计要求




1


)完成


6


个楼层多用户的载客服务控制。





2


)对于载客请求,遵循同向优先的原则。

< br>






3


)能够响应提前关电梯门和延时关电梯门的请求。





< p>


4


)显示电梯的运行情况,楼层运行方向。



2.


设计功能



本文涉及了一个六层电梯控制系统,基本功能如下:



(1)


每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停 站请


求开关。



(2)


设有电梯入口处位置指示装置及电梯运行模式


(


上升或 下降


)


指示装置。


< br>(3)


电梯每秒升


(



)


一层楼。



(4)< /p>


电梯到达有停站请求的楼层,经过


1


秒电 梯门打开,开门指示灯亮,开



4


秒后 ,


电梯门关闭


(


开门指示灯灭


)



电梯继续进行,


直 至执行完最后一个请


求信号后停留在当前层。



(5)


能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求< /p>


信号保留至执行后消除。



(6)


电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上


楼请求信号,


由下而上逐个执行,


直到最后一个上楼请求执行完 毕;


如果高层有


下楼请求,


则直接升到 由下楼请求的最高层,


然后进入下降模式。


当电梯处于下


降模式时则与上升模式相反。



< p>
8


)人数超载或超重用一按钮代替,高电平有效,超载时电梯不能运行,< /p>


并有相应指示。




9


)事故报警按钮高电平有效,事故报警不能运行,并有 指示灯,信号保


留至事故消除



(10 )


电梯初始状态为一层开门状态。



二、总体设计方案



控制器的功能模块 如图


1


所示,包括主控制器、楼层选择器、状态显示器、


译码器和楼层显示器。


乘客在电梯中选择所要到达的楼层,

< p>
通过主控制器的处理,


电梯开始运行,


状态显示器 显示电梯的运行状态,


电梯所在楼层数通过译码器译


码从而在楼 层显示器中显示。


由于其他模块相对简单很多,


所以主控制器是 核心


部分。





1


总体设计方案



三、设计思路



电梯控制器运用状态机 的设计方法,


思路比较清晰。


可以将电梯等待的每秒

< p>
钟以及开门、关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,

所以就可以通过一个统一的


1


秒为周期的时钟来触发状态机 。


根据电梯的实际工


作情况,


可以把状 态机设置


7


个状态,


分别是

< p>
“电梯停留在第


1


层”



“开门”



“关门”、“开门等待


4


秒”、“上升”、“下降”和“停止状态”。各个状态

< p>
之间的转换条件可由上面的设计要求所决定。各状态机之间转换图如图


2< /p>






2


状态机转换图



四、原理图说明



电梯控制器为其中的 核心部件,


控制其电梯的运行情况,


而其控制则由按钮


来决定,


通过按钮指示灯判断电梯的工作状态及显示其运行情况。


当按钮为高电


平时,


电梯开始工作,


并通过按钮信号灯决定电梯的运行。


电梯所处位置显示通


过译码器,再通过数据选择器显示到数码管上。


udsig


doorlight


显示电梯门


和电梯的状态。


stoplight[6..1]


fuplight[6..1]


fdnlight[6..1]


显示按钮指

< br>示。


Reset


按钮使电梯恢复到初始位置。楼层


position


变化相应的数码管也跟


着变 。



其顶层原理图如图


3





< br>3


顶层原理图




各功能模块如下:



1




电梯主控制模块



电梯控制器为其中的 核心部件,


控制其电梯的运行情况,


而其控制则由按钮


来决定,通过按钮指示灯判断电梯的工作状态及显示其运行情况。





4


电梯主控制模块



电梯主控制模块端口说明:



buttonclk



按钮时钟信号



liftclk



电梯时钟信号



reset



复位键



f1upbutton



一楼上楼按钮



f2upbutton



二楼上楼按钮



f3upbutton


三楼上楼按钮



f4upbutton



四楼上楼按钮



f5upbutton



五楼上楼按钮



f2dnbutton



二楼下楼按钮



f3dnbutton



三楼下楼按钮



f4dnbutton



四楼下楼按钮



f5dnbutton



五楼下楼按钮



f6dnbutton



六楼下楼按钮



stop1button



电梯内部一楼按钮



stop2button



电梯内部二楼按钮



stop3button



电梯内部三楼按钮



stop4button



电梯内部四楼按钮



stop5button



电梯内部五楼按钮



stop6button



电梯内部六楼按钮



fuplight[6..1]



每楼层上升指示灯



fdnlight[6..1]



每楼层下降指示灯



stoplight[6..1]



电梯内部楼层指灯



position[2..0]



楼层位置显示



doorlight


电梯门状态显示



udsig


电梯上升下降显示



2


)分频器模块


通过分频器将高频转换为低频,即


buttonclk


,通 过此时钟信号控制电梯信


号灯。当按钮为高电平时,电梯开始工作,并通过按钮信号灯决 定电梯的运行。





5


分频器模块



模块端口说明:



clk_in



电源输入端



div_out



分频后时钟输出端



3




译码器模块




6


译码器模块



aaa[2..0]



楼层位置输出端



bbb[3..0]



译码输出端



4


)数据选择器模块






7


数据选择器模块



数据选择器将译码器输出显示到数码管上,来表示电梯所处层数



数据选择器模块端口说明:



input[3..0]



译码器输入端



output[6..0]


数据选择器输出端



五、源代码



电梯程序:



library ieee;


use _logic_;


use _logic_;


use _logic_;


entity sixlift is


port(





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_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 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 sixlift;


architecture art of sixlift is




type lift_state is






(stopon1,dooropen,doorclose,doorwait4,u p,down,stop);




- -


电梯所处的


7


个状态



signal mylift:lift_state;







--


内部电梯状态信号



signal clearup:std_logic;






--


上升清除信号













































signal cleardn:std_logic;






--


下降清除信号












































begin


controllift:process(reset,liftclk)














































variable pos:integer range 1 to 6;






--


楼层位置变量

































begin


if reset='1' then


































































mylift<=stopon1;





--


起始状态






clearup<='0';









--


上楼信号清除






cleardn<='0';









--


下楼信号清除






pos:=1;















--


处于一楼






position<=1;










--


处于一楼



else





if liftclk'event and liftclk='1' then











--


四秒后门关





































case mylift is









when stopon1




=> doorlight<='1';











--


电梯门开




























position<=1;












--


电梯处于一楼




























pos:=1;



























mylift<=doorwait4;
















































when doorwait4 => mylift<=doorclose;


















































when doorclose =>














doorlight<='0';


















--


电梯门关













































if udsig='0' then















--


电梯处于上升模式









































if position=6



then





































































if stoplight=


fdnlight=
























udsig<='1';mylift<=doorclose;





















































else udsig<='1';mylift<=down;

























































end if;




















































elsif position=5 then




































































if stoplight=


fdnlight=



then

























udsig<='0';mylift<=doorclose;





















































elsif stoplight(6)='1' or fdnlight(6)='1'



then

























udsig<='0';mylift<=up;



















else udsig<='1';mylift<=down;

























































end if;
















elsif position=4 then




































































if stoplight=


fdnlight=



then

























udsig<='0';mylift<=doorclose;





















































elsif stoplight(5)='1' or stoplight(6)= '1' or fdnlight(6)='1' or


fdnlight(5)='1'



then

























udsig<='0';mylift<=up;



















else udsig<='1';mylift<=down;

























































end if;
















elsif position=3 then




































































if stoplight=


fdnlight=



then

























udsig<='0';mylift<=doorclose;





















































elsif stoplight(4)='1' or stoplight(5)='1' or stoplight(6)= '1'


or fdnlight(6)='1' or fdnlight(5)='1' or fdnlight(4)='1'



then

























udsig<='0';mylift<=up;



















else udsig<='1';mylift<=down;

























































end if;
















elsif position=2 then




































































if stoplight=


fdnlight=



then

























udsig<='0';mylift<=doorclose;





















































elsif stoplight(3)='1' or stoplight(4)='1' or stoplight(5)='1' or


stoplight(6)= '1' or fdnlight(6)='1' or fdnlight(5)='1' or fdnlight(4)='1' or


fdnlight(3)='1'




then

























udsig<='0';mylift<=up;



















else udsig<='1';mylift<=down;

























































end if;
















elsif position=1 then




































































if stoplight=


fdnlight=



then

























udsig<='0';mylift<=doorclose;





















































else udsig<='0';mylift<=up;



















end if;
















end if;













elsif udsig='1' then






































































if position=1 then







































































if stoplight=


fdnlight=



then

























udsig<='0';mylift<=doorclose;





















































else udsig<='0'; mylift<=up;



























































end if;

















elsif position=2 then




































































if stoplight=


fdnlight=



then

























udsig<='1';mylift<=doorclose;





















































elsif stoplight(1)='1' or fuplight(1)='1'



then

























udsig<='1';mylift<=down;

























































else udsig<='0'; mylift<=up;



























































end if;
















elsif position=3 then


















































-


-


-


-


-


-


-


-



本文更新与2021-02-28 18:32,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/682999.html

六层电梯设计的相关文章