• 开关消抖的讨论


            今天在EEPW 论坛上看到了一个前辈写的code。说是用10行实现开关消抖。当时我就在想,如果让我写一个开关消抖,我会怎么写呢,先琢磨了一下  

     1 //date : 2013/12/16
     2 //designer :pengxiaoen
     3 // version : QuartusII 13.0  64bit 
     4 //function : 
     5 module key_ON_OFF (
     6                    clock ,reset,
     7                          key_in,
     8                          key_out
     9                          );
    10 input clock ,reset;
    11 input key_in ;
    12 output key_out ;
    13 
    14 reg [7:0]  counter1;
    15 reg        key_reg0,key_reg1,key_reg2;
    16 
    17 always @ (posedge clock )
    18     if(!reset) begin 
    19              key_reg0  <= 1'd0;
    20                 counter1  <= 8'h00;
    21                 end 
    22      else if(counter1 == 8'dff)  begin 
    23              counter1  <= 8'h00;
    24                 key_reg0  <= key_in;
    25              end 
    26       
    27 always @ (posedge clock)
    28     if(!reset)  begin 
    29             key_reg1 <= 1'd0;
    30               key_reg2 <= 1'd0;
    31               end         
    32      else begin 
    33              key_reg1 <= key_reg0;
    34                 key_reg2 <= key_reg1;
    35                 end 
    36                 
    37 assign key_out = (key_reg1 == !(key_reg2)) ?  1'd1  : 1'd0; 
    38 
    39 endmodule 


           一不小心 30行就被我花销掉了。看着繁琐的代码后来还是要参考前辈们的了

     1 reg key_reg1,key_reg2,key_out;
     2 always @( posedge clk)//CLK 50M
     3     begin
     4     count2<=count2+1;
     5     if(count2==500000)
     6     begin
     7         key_reg1<=key1; 
     8         count2<=0;
     9     end
    10     key_reg2<=key_reg1; 
    11     key_out<=key_reg2&(!key_reg1); 
    12 end

    代码行数只有我的一半。主要是很好看懂,思维很清晰。

    个人一点私下观点:我自己的代码设计思路是参照特权同学的(没有说人家的思路不好的意思),分模块的思维很强烈,就是将电路分解出来进行设计。  而下面的一种我想到我看黑金的资料,有点像他们的设计思路,有点软件的味道。个人意见,不喜勿喷。

  • 相关阅读:
    txt文本处理---行未添加逗号
    wav转txt格式的代码实现(c,python)
    程序员的健康--预防
    程序员的健康--病因
    朴素贝叶斯算法简介及python代码实现分析
    hdf 5文件格式及python中利用h5py模块读写h5文件
    C 语言restrict 关键字的概念及使用例子
    一个程序员卑微的目标
    【ES】学习4-结构化搜索
    【python】正则表达式中的转义问题
  • 原文地址:https://www.cnblogs.com/sepeng/p/3477215.html
Copyright © 2020-2023  润新知