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

火警报警器设计Verilog代码Quartus仿真

09/23 11:01
347
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241029205431334.doc

共1个文件

名称:火警报警器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

火警报警器

要求:

(1)拨动开关K1-K12,则对应的led红灯闪烁(闪烁频率为2-4Hz),七段数码管显示所对应的楼层1-12,例如拨动开关K6,则对应led6红灯闪烁,七段欻码管显示06。当拨回开关k6后,则灯关闭,七段数码管不显示。若同时按下多个开关,则对应的led灯均闪烁,七段数码管显示最高楼层

(2)外部输入脉冲信号频率为50mhz;

(3)扩展要求:

(a)16*16点阵显示屏幕,拔动开关K1的时候显示发生火灾的房间

(b)拨回开关后,屏幕显示火警解除

(c)可在倒计时过程中随时键盘输入数字,并显示核心温度为该数字。拨回开关后,键盘输入无效。(d)可利用红黄绿交通灯来显示不同级别警情

设计原理

(1)计数:输入脉冲信号为50mhz,七段数码管显示改变为1Hz,红灯闪烁频率为2-4Hz,需要计数脉冲信号或者设计分频器

(2)七段数码管显示:七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-1所示

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

整体仿真图

分频模块

控制模块

显示模块

部分代码展示:

//按键控制模块
module?control(
input?clk,//时钟50MHz
input?clk_2Hz,//2Hz
input?K1,K2,K3,K4,K5,K6,K7,K8,K9,K10,K11,K12,//开关K1~K12
output?reg?LD1,LD2,LD3,LD4,LD5,LD6,LD7,LD8,LD9?,LD10,LD11,LD12,//LED1~12
output?reg?[3:0]?F_H,//楼层十位
output?reg?[3:0]?F_L?//楼层个位
);
//高楼层优先,使用if语句
always@(posedge?clk)
if(K12)
begin
F_H<=4'd1;//楼层十位
F_L<=4'd2;//楼层个位
end
else?if(K11)
begin
F_H<=4'd1;//楼层十位
F_L<=4'd1;//楼层个位
end
else?if(K10)
begin
F_H<=4'd1;//楼层十位
F_L<=4'd0;//楼层个位
end
else?if(K9)
begin
F_H<=4'd0;//楼层十位
F_L<=4'd9;//楼层个位
end
else?if(K8)
begin
F_H<=4'd0;//楼层十位
F_L<=4'd8;//楼层个位
end
else?if(K7)
begin
F_H<=4'd0;//楼层十位
F_L<=4'd7;//楼层个位
end
else?if(K6)
begin
F_H<=4'd0;//楼层十位
F_L<=4'd6;//楼层个位
end
else?if(K5)
begin
F_H<=4'd0;//楼层十位
F_L<=4'd5;//楼层个位
end

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

  • 2-241029205431334.doc
    下载

相关推荐