呼叫铃设计Verilog代码Quartus 开发板
名称:呼叫铃设计Verilog代码Quartus 开发板
软件:Quartus
语言:Verilog
代码功能:
1、用1~4个拨码开关模拟4个病房的呼叫输入信号,1号优先级最高;1~4优先级依次降低;
2、用一个数码管显示呼叫信号的号码,没信号呼叫时显示0;有多个信号呼叫时,显示优先级最高的呼叫号(其它呼叫号用指示灯显示);(数码管8显示当前呼叫号码)
3、凡有呼叫发出5秒的呼叫声(蜂鸣器频率1Hz,持续5秒,LED1频率1Hz一直闪烁);
4、对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理。(按键S5进行处理)
本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:





部分代码展示:
module sickroom_ctrl( input clk,//时钟50MHz input rst_p,//低电平复位 //4个呼叫按键 input key_1, input key_2, input key_3, input key_4, input deal_key,//处理按键,按下表示处理当前最高优先级 output [5:0] led,//呼叫指示灯 output [7:0] dig, output reg [7:0] dataout ); assign dig=8'b1111_1110; reg [3:0] number;//数码管显示呼叫信号的号码 reg [5:0] call_data=6'd0; always@(posedge clk or negedge rst_p) if(rst_p==0) call_data<=6'd0; else if(key_1==0)//呼叫按键1 call_data<=call_data | 6'b100000; else if(key_2==0)//呼叫按键2 call_data<=call_data | 6'b010000; else if(key_3==0)//呼叫按键3 call_data<=call_data | 6'b001000; else if(key_4==0)//呼叫按键4 call_data<=call_data | 6'b000100; else if(call_data[5]==1) if(deal_key==0)//处理按键 call_data<=call_data & 6'b011111; else call_data<=call_data; else if(call_data[4]==1) if(deal_key==0)//处理按键 call_data<=call_data & 6'b101111; else call_data<=call_data; else if(call_data[3]==1) if(deal_key==0)//处理按键 call_data<=call_data & 6'b110111; else call_data<=call_data; else if(call_data[2]==1) if(deal_key==0)//处理按键 call_data<=call_data & 6'b111011; else call_data<=call_data; else if(call_data[1]==1) if(deal_key==0)//处理按键 call_data<=call_data & 6'b111101; else call_data<=call_data; else if(call_data[0]==1) if(deal_key==0)//处理按键 call_data<=call_data & 6'b111110; else call_data<=call_data;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 呼叫铃设计Verilog代码Quartus 开发板
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 呼叫铃设计Verilog代码Quartus 开发板
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm