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

名称:火警报警器设计Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

要求

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

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

(3)扩展要求

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

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

(c)可在倒计时过程中随时键盘输入数字,并显示核心温度为该数字。拨回开关后,键盘输入无效

(d)可利用红黄绿交通灯来显示不同级别警情

设计原理

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

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

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

整体仿真图

分频模块

按键控制模块

显示模块

部分代码展示:

//分频到1KHz模块
module clk_div1K(
input  clk  ,//50MHz
output  clk1K//1KHz
);
reg CLK_1KHZ=0;
reg [31:0] cnt_1KHZ='d0;
always@(posedge clk)
if(cnt_1KHZ>=31'd25)begin//计数25000--仿真减小为50
cnt_1KHZ<=31'd0;
CLK_1KHZ<=~CLK_1KHZ;//翻转得到1KHZ
end
else
cnt_1KHZ<=cnt_1KHZ+1;//计数
//输出
assign clk1K =CLK_1KHZ;//1KHz
endmodule
源代码

点击下方的公众号卡片获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值