电梯控制器的模拟实现Verilog代码Quartus软件AX301开发板

名称:Quartus电梯控制器的模拟实现Verilog代码AX301开发板

软件:Quartus

语言:Verilog

代码功能:

电梯控制器的模拟实现

设计一个模拟电梯控制器,完成4个楼层的向上载客服务。

要求:(1)电梯初始位置停靠在一楼,四个按键代表4个目标楼层,运输完成后回到一

楼。

(2)显示电梯的运行情况、电梯所在楼层等。

本代码已在AX301开发板验证,开发板如下,其他开发板可以修改管脚适配:

AX301开发板照片.png

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

整体仿真图

分频模块

控制模块

部分代码展示:

//电梯控制器的模拟实现
//设计一个模拟电梯控制器,完成4个楼层的向上载客服务。
//(1)电梯初始位置停靠在一楼,四个按键代表4个目标楼层,运输完成后回到一楼。
//(2)显示电梯的运行情况、电梯所在楼层等。
module lift(
input clk,//50MHz
input key_1,//超载报警
input key_2,
input key_3,
input key_4,
output beep,//报警
output [3:0] LED,//LED指示目前电梯位置
output [5:0] en,//数码管位选
output [7:0] seg//数码管段选
);
wire clk_1Hz;//1Hz
wire rst_n;
wire [3:0] floor;//楼层
assign rst_n=(key_1 & key_2 & key_3 & key_4);
//分频模块,分频到1Hz
clk_div i_clk_div(
. clk_50M(clk),//时钟
. rst_n(rst_n),//复位
. clk_1Hz(clk_1Hz)//分频到1Hz
);
//控制模块
control i_control(
. clk    (clk),//50MHz
. clk_1Hz(clk_1Hz),//1Hz
. key_1(key_1),
. key_2(key_2),
. key_3(key_3),
. key_4(key_4),
. floor(floor),//楼层
. beep(beep),
. LED(LED)//LED指示目前电梯位置
);
//显示模块
display i_display(
. clk(clk),//时钟
. floor(floor),//楼层
. en(en),//数码管位选
. seg(seg)//数码管段选
);
endmodule
源代码

 扫描文章末尾的公众号二维码

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值