• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于FPGA的电梯请求显示系统Verilog代码Quartus仿真

07/22 14:57
296
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-2405111J63L25.doc

共1个文件

名称:基于FPGA的电梯请求显示系统Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

(1)按键S1-S6分别为一到六楼的上行请求按狃,拨动开关K2-K7分别为二到七楼的下行请求按扭。七段数码管显示当前电梯所在楼层数字(初始为4);每次只有一个有效请求(不用考虑优先级):当请求发出后,比较请求接层和当前楼层数值,数码管按照电梯每秒升或降一层(1Hz)进行数值变换,直到显示楼层与请求接层相等后停止,同时绿灯闪烁三次(4Hz)。

(2)外部输入脉冲信号频平为1mHz。

(3)扩展要求:1、按键S1按键消抖:2、在电梯运行过程中可以有多个有效请求,优化电梯响应顺序。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真文件

7. 仿真图

部分代码展示:

//电梯
module?Elevator(
input?clk_in,//1MHz
input?S1,S2,S3,S4,S5,S6,//上行请求按键
input?K2,K3,K4,K5,K6,K7,//下行请求按键
output?LED,//green?led
output?[2:0]?seg_bit,//数码管位选
output?[7:0]?segment//数码管段选
);
wire?clk_1Hz;//1Hz时钟使能
wire?clk_4Hz;//4Hz信号
wire?S1_xiaodou;//消抖S1
//分频模块
fenpin?i_fenpin(
.?clk_in(clk_in),//1MHz
.?clk_1Hz(clk_1Hz),//1Hz时钟使能
.?clk_4Hz(clk_4Hz)//4Hz信号
);
//消抖
xiaodou?i_xiaodou(
.?clk_in(clk_in),//1MHz
.?key_in(S1),//输入
.?key_out(S1_xiaodou)//消抖后按键
);
//控制模块
Elevator_ctrl?i_Elevator_ctrl(
.?clk_in(clk_in),//1MHz
.?clk_1Hz(clk_1Hz),//1Hz时钟使能
.?clk_4Hz(clk_4Hz),//4Hz信号
//请求按键
.?S1(S1_xiaodou),//消抖S1
.?S2(S2),
.?S3(S3),
.?S4(S4),
.?S5(S5),
.?S6(S6),
.?K2(K2),
.?K3(K3),
.?K4(K4),
.?K5(K5),
.?K6(K6),
.?K7(K7),
.?LED(LED),
.?seg_bit(seg_bit),//数码管位选
.?segment(segment)//数码管段选
);
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=726

  • 2-2405111J63L25.doc
    下载

相关推荐