课程设计说明书
end if;
when c2=> current<=\
if d(2)='1' and u(1)='0' and ting(1)='0' and ting(3)='0' and d(3)='0' then
f5:='1';d(2):='0';state:=time4;---优先判断第三层梯内外信号,如有进入开门状态
elsif u(2)='1' and u(1)='0' and ting(1)='0' and ting(3)='0' and d(3)='0' then
f5:='1';u(2):='0';state:=time4;---优先判断第三层梯内外信号,如有进入开门状态
elsif ting(2)='1' and u(1)='0' and ting(1)='0' and ting(3)='0' and d(3)='0' then
f5:='1';ting(2):='0';state:=time4;---优先判断第三层梯内外信号,如有进入开门状态
elsif u(2)='1' and up='1' then u(2):='0'; down<='0';f2:='1';f5:='0';
state:=time4;--到达第二层,处于上升状态,有上升请求,响应并转开门状态
elsif d(2)='1' and down='1' then d(2):='0'; up<='0'; f2:='1';f5:='0'; state:=time4;--
到达第二层,处于下降状态,有下降请求,转开门状态
elsif ting(1)='1' and down='1' then f2:='1' ; down<='0';f5:='0'; state:=time3;
---下降时响应梯内一层停信号
elsif ting(3)='1' and up='1' then
f2:='1'; up<='0';f5:='0';state:=time3;---上升时
响应梯内三层停信号
elsif u(1)='1' and down='1' then f2:='1';up<='0';f5:='0'; state:=time3;---下降时响
应梯外一层停信号
elsif d(3)='1' and up='1' then f2:='1';down<='0';f5:='0'; state:=time3;---上升时
响应梯外三层停信号
elsif u(1)='1' or ting(1)='1' then f2:='1';f5:='0'; up<='0';down<='1';
state:=time3;---一层梯外或梯内有请求,下降
elsif ting(3)='1' or d(3)='1' then f2:='1' ;f5:='0'; up<='1';down<='0';
state:=time3;---三层梯外或梯内有请求,上升
else state:=c2; end if;
when c3=> current<=\ f1:='0'; f2:='0';f3:='0';up<='0';down<='0';
if (d(3)='1' and u(1)='0' and ting(1)='0' and u(2)='0' and d(2)='0' and ting(1)='0')
then f4:='1';d(3):='0';state:=time4;---优先判断第三层梯内外信号,如有进入开门状态
24
课程设计说明书
elsif (ting(3)='1' and u(1)='0' and ting(1)='0' and u(2)='0' and d(2)='0' and
ting(1)='0') then f4:='1';ting(3):='0';state:=time4;---优先判断第三层梯内外信号,如有进入开门状态
elsif
d(3)='1'
or
ting(3)='1'
then
f3:='1';f4:='0';down<='1';d(3):='0';ting(3):='0';state:=time4;---优先判断第三层梯内
外信号,如有进入开门状态
elsif u(1)='1' or ting(1)='1' or u(2)='1' f3:='1';f4:='0';down<='1';state:=time3;
else state:=c3;
end if;
when others => null; end case;
end if;-----clk信号上升沿判断的if结束 end process; end dianti;
25
or d(2)='1' or ting(2)='1' then

