这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 这段代码怎么理解啊?

共1条 1/1 1 跳转至

这段代码怎么理解啊?

菜鸟
2014-10-08 09:51:42     打赏
always @(posedge clk  or negedge rst_n)

    if (!rst_n) low_sw <= 3'b111;

    else if (cnt == 20'hfffff)    //满20ms,将按键值锁存到寄存器low_sw中      cnt == 20'hfffff

      low_sw <= {sw3_n,sw2_n,sw1_n};

      

//---------------------------------------------------------------------------

reg  [2:0] low_sw_r;       //每个时钟周期的上升沿将low_sw信号锁存到low_sw_r中

 

always @ ( posedge clk  or negedge rst_n )

    if (!rst_n) low_sw_r <= 3'b111;

    else low_sw_r <= low_sw;

   

//当寄存器low_sw由1变为0时,led_ctrl的值变为高,维持一个时钟周期 

wire[2:0] led_ctrl = low_sw_r[2:0] & ( ~low_sw[2:0]);





这段代码怎么理解啊?

按键消抖的,检测到按键,延时20ms后的代码





共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]