Advertisement

蜂鸣器(正点原子V1)

阅读量:

实验任务:通过按键操作实现对蜂鸣器开关状态的切换

module key_debounce(
input clk,
input rst_n,

input key,
output reg key_value,
output reg key_flag
);

reg key_reg; //用于记录按键当前状态的寄存器,用以判断是否处于消抖起始时刻
reg [19:0]delay_cnt; //实现延时功能的计数器

always@(posedge clk or negedge rst_n)begin
if(!rst_n)begin //当复位信号有效时
key_reg <= 1'b1; //寄存器中存储高电平,代表按键未被按下时的状态
delay_cnt <= 20'd0; //将计数器清零
end
else begin
key_reg <=key; //将当前按键值保存到寄存器中
if(key!=key_reg) //若检测到按键状态发生改变
delay_cnt <= 20'd1000_000; //使计数值达到最大值并开始倒计

全部评论 (0)

还没有任何评论哟~