电梯程序设计.docVIP

  • 8
  • 0
  • 约9.1千字
  • 约 12页
  • 2017-12-22 发布于河南
  • 举报
电梯程序设计

电梯程序设计 ibrary ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity dianti is port ( clk : in std_logic; --时钟信号(频率为2Hz) full,deng,quick,clr : in std_logic; --超载、关门中断、提前关门清除报警信号 c_u1,c_u2,c_u3,c_u4,c_u5,c_u6: in std_logic; --电梯外人的上升请求信号 c_d2,c_d3,c_d4,c_d5,c_d6,c_d7 : in std_logic; --电梯外人的下降请求信号 d1,d2,d3,d4,d5,d6,d7 : in std_logic; --电梯内人的请求信号 g1,g2,g3,g4,g5,g6,g7 : in std_logic; --到达楼层信号 door : out std_logic_vector(1 downto 0); --电梯门控制信号 led : out std_logic_vector(13 downto 0); --电梯所在楼层显示 led_c_u:out std_logic_vector(6 downto 0); --电梯外人上升请求信号显示 led_c_d:out std_logic_vector(6 downto 0); --电梯外人下降请求信号显示 led_d : out std_logic_vector(6 downto 0); --电梯内请求信号显示 wahaha : out std_logic; --看门狗报警信号 ud,alarm : out std_logic; --电梯运动方向显示,超载警告信号 up,down : out std_logic ); --电机控制信号和电梯运动 end dianti; architecture behav of dianti is signal d11,d22,d33,d44,d55,d66,d77:std_logic; --电梯内人请求信号寄存信号 signal c_u11,c_u22,c_u33,c_u44,c_u55,c_u66:std_logic; --电梯外人上升请求信号寄存信号 signal c_d22,c_d33,c_d44,c_d55,c_d66,c_d77:std_logic; --电梯外人下降请求信号寄存信号 signal q:integer range 0 to 1; --分频信号 signal q1:integer range 0 to 6; --关门延时计数器 signal q2:integer range 0 to 6; --看门狗计数器 signal dd,cc_u,cc_d,dd_cc:std_logic_vector(6 downto 0); --电梯内外请求信号寄存器 signal opendoor:std_logic; --开门使能信号 signal updown:std_logic; --电梯运动方向信号寄存器 signal en_up,en_dw:std_logic; --预备上升、预备下降预操作使能信号 begin com:process(clk) begin if clkevent and clk=1 then if clr=1 then q1=0;q2=0;wahaha=0; --清除故障报警 elsif full=1 then alarm=1; q1=0; --超载报警 if q1=3 then door=07; else door=00; end if; elsif q=1 then q=0;alarm=0; if q2=3 then wahaha=1; --故障报警 else if opendoor=1 then door=7;q1=0;q2=0;up=0;down=0; --开门操作 elsif en_up=1 then --上升预操作 if deng=1 then door=7;q1=0;q2=q2+1; --关门中断 elsif quick=1 then q1=3; --提前关门 elsif q1=6 then door=00;updown=1;up=1; --关门完毕,电梯进入上升状态 elsif q1=3 then door=01;q1=q1+1; --电梯进入关门状态 else q1=q1+1;door=00; --电梯进入等待状态 end if; elsif en_dw=1 then --下降预操作 if deng=1 then door=07;q1=0;

文档评论(0)

1亿VIP精品文档

相关文档