资源描述:
《eda三层电梯控制器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程设计课程设计名称:EDA课程设计专业班级:电科0901学生姓名:学号:200948360指导教师:焦素敏课程设计时间:2012-2-20~2012-3-31设计任务及要求设计任务:设计一个三层电梯的控制器。要求:(1)用数码管显示电梯所在的楼层号,电梯初始状态为第一楼层。(2)每楼层电梯外都有上下楼请求开关,用发光二极管显示电梯是上升模式还是下降模式。(3)电梯每秒升降一层,电梯到达有停站请求的楼层后,经1秒电梯门打开,开门指示灯亮,开门4秒后,指示灯灭,关门,电梯继续运行。(4)当电梯处于上升模式时,只响应比电梯所在位置高的楼
2、请求信号,直到最后一个上楼请求执行完毕,再进入下降模式。设计要求:(1)根据设计题目要求编写相应程序代码(2)对编写的VHDL程序代码进行编译和仿真(3)利用实验箱完成硬件验证(4)总结设计内容,完成课程设计说明书2设计原理及总体框图电梯运行规则:当电梯处在上升模式时,只响应比电梯所在位置高的上楼请求,由下向上逐个执行,直到最后一个上楼请求执行完毕。如果高层有下楼请求,直接升到有下楼请求的最高楼层,然后进入下降模式。当电梯在一楼时,不管是梯内梯外,电梯都只可能接收到上升的请求信号。此时,电梯就进入预上升状态,准备作上升运行。如果电梯
3、没有接收到请求信号,电梯则在一楼待机。当电梯在二楼时,电梯则可能出现三种情况:电梯并没有接收到梯内梯外的任何请求信号时,电梯停在二楼待机;电梯接收到上升请求信号,进入预上升状态;电梯接收到下降请求信号,进入预下降状态。当电梯在三楼时,不管是梯内梯外,电梯都只可能接收到下降的请求信号。此时,电梯就进入预下降状态,准备作下降运行。如果电梯没有接收到请求信号,电梯则停在二楼待机。总体框图:3程序设计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;U
4、SEIEEE.STD_LOGIC_ARITH.ALL;ENTITYdiantiIS--程序实体定义PORT(clk,swich:INSTD_LOGIC;sel,uplift,downlift:INSTD_LOGIC_VECTOR(3DOWNTO1);opendoor,up_s,do_s,pa_s:OUTSTD_LOGIC;dis:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDdianti;ARCHITECTUREbehaveOFdiantiIS--结构体定义SIGNALclk1hz,clk4hz:STD_LOG
5、IC;SIGNALur,dr,openonce:STD_LOGIC;SIGNALclropen,clrrun,en,enrun:STD_LOGIC;TYPEstatetypeIS(pause,up,down);SIGNALstate:statetype;SIGNALopentime,runtime,urr,drr:STD_LOGIC_VECTOR(3DOWNTO1);SIGNALposition,seld,upd,downd:STD_LOGIC_VECTOR(3DOWNTO1);BEGINU0:PROCESS(clk)--分频进程V
6、ARIABLEq:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFclk'eventANDclk='1'THENq:=q+1;ENDIF;clk4hz<=q(1);--产生4HZ脉冲clk1hz<=q(3);--产生1HZ脉冲ENDPROCESS;U1:PROCESS(swich,clk,uplift,downlift)--将上升、下降请求记录BEGINIFrising_edge(clk)THENIFstate=pauseTHENdrr<=drrANDNOT(position);urr<=urrANDNOT(po
7、sition);IF(uplift/=updANDur/='1'ANDposition>uplift)THENdrr<=(drrORuplift);ELSIF(downlift/=downdANDur/='1'ANDposition>downlift)THENdrr<=(drrORdownlift);ELSIF(uplift/=updANDdr/='1'ANDposition8、ft)THENurr<=(urrORdownlift);ELSIF(sel/=seld)THENIF(selpositionANDdr