3层电梯控制器设计VHDL代码Quartus仿真

名称:3层电梯控制器设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

3层电梯控制器

(1)控制电梯完成至少3层楼的载客服务,并遵循优先原则;

(2)能控制关门开门;

(3)显示电梯楼层


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

电梯设计文档.doc

1. 工程文件


2. 程序文件


3. 程序编译


4. 管脚分配


5. vwf文件


6. 仿真图





部分代码展示:

-- 三层电梯控制器 
library ieee;
use ieee.std_logic_1164.all;
entity lift is
port(
 clk:in std_logic;--1KHz
 up1,up2,down2,down3:in std_logic;--梯外按键,低电平有效
 floor1,floor2,floor3:in std_logic;--梯内按键,低电平有效
     led1,led2,led3:out std_logic;--梯内目的楼层,高电平有效
     door:out std_logic;--开门
     DEL  : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--数码管位选
     LEDAG: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管段选
 );--door门开关,高电平有效
end entity lift;
architecture behave of lift is
type stateTYPE is(c1,c2,c3,open_door);
signal floor_num: std_logic_vector(2 downto 0):="000";--楼层
begin
--电梯控制进程
  process(clk)
  variable up,down,goal:std_logic_vector(3 downto 1):="000";
  variable storey:std_logic_vector(2 downto 0):="000";
  variable mo,x,y,z:std_logic:='0';--mo控制方向,低电平表示上
  variable clk_cnt,time_cnt:integer:=0;
  variable state:stateTYPE:=c1;
  begin
    if clk'event and clk='1' then
      if up1='0' then up(1):='1';--按键低电平有效,信号存入up
      end if;
      if up2='0' then up(2):='1';--按键低电平有效,信号存入up
      end if;
      if down3='0' then down(3):='1';--按键低电平有效,信号存入down
      end if;
      if down2='0' then down(2):='1';--按键低电平有效,信号存入down
      end if;
      if floor1='0' then goal(1):='1';--按键低电平有效,信号存入goal
      end if;
      if floor2='0' then goal(2):='1';--按键低电平有效,信号存入goal
      end if;
      if floor3='0' then goal(3):='1';--按键低电平有效,信号存入goal
      end if;
      if clk_cnt<1000 then clk_cnt:=clk_cnt+1;--计数
      else

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 3层电梯控制器设计VHDL代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员