五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

FPGA學習筆記-按鍵消抖

2023-06-29 16:42 作者:snow_404  | 我要投稿

????????按鍵按下到穩(wěn)定之前有一定時間的抖動若不消除這部分抖動容易導致按鍵不靈敏。

按鍵抖動的時候會被誤認為多次觸發(fā)按鍵。

????? ? 抖動時間的長短由按鍵的機械特性決定因此需要通過延時的方法來消抖只在中間穩(wěn)定的某一時刻取一個使能值就可以很好的去抖。

????????實現(xiàn)在按鍵按下的10ms左右取一個尖峰信號作為按鍵按下的標準就可以消除抖動,舉例使用按鍵控制一個led燈的亮滅。

//代碼實現(xiàn)

`timescale 1ns / 1ps


module key(

? ? input sysclk,

? ? input rst_n,

? ? input key,

? ? output reg led

? ? );

? ??

? ? parameter data=50_000_0;//芯片晶振10毫秒需要的次數(shù)

? ? reg [18:0] cnt;//計時器

? ? wire key_flag;//尖峰信號

?

?//按鍵按下10毫秒計時器

? ? always@(posedge sysclk or negedge rst_n)

? ? ? ? begin

? ? ? ? ? ? if (!rst_n)

? ? ? ? ? ? ? ? cnt<=0;

? ? ? ? ? ? else if (key == 0)//按鍵按下的時候

? ? ? ? ? ? ? ? begin

? ? ? ? ? ? ? ? ? ? if (cnt == data-1)//計滿10毫秒之后保持

? ? ? ? ? ? ? ? ? ? ? ? cnt<=cnt;

? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ? ? cnt=cnt+1;

? ? ? ? ? ? ? ? end

? ? ? ? ? ? else

? ? ? ? ? ? ? ? cnt<=0;

? ? ? ? end

? ? ? ??

//取穩(wěn)定時候的尖峰信號

? ? assign key_flag = (cnt == data-2)?1:0;//三目運算符

? ??

//當按鍵按下的尖峰信號為1的時候led燈取反

? ? always@(posedge sysclk or negedge rst_n)

? ? ? ? begin

? ? ? ? ? ? if (!rst_n)

? ? ? ? ? ? ? ? led<=0;

? ? ? ? ? ? else if (key_flag)

? ? ? ? ? ? ? ? led<=~led;

? ? ? ? ? ? else

? ? ? ? ? ? ? ? led<=led;

? ? ? ? end

? ? ? ??

endmodule

FPGA學習筆記-按鍵消抖的評論 (共 條)

分享到微博請遵守國家法律
丹棱县| 永胜县| 东丽区| 澎湖县| 商丘市| 象州县| 广河县| 白朗县| 南投市| 藁城市| 油尖旺区| 彰武县| 舞钢市| 喜德县| 万全县| 乌拉特中旗| 通城县| 峡江县| 金门县| 奇台县| 普定县| 长沙市| 朝阳区| 中宁县| 喀喇沁旗| 应城市| 饶河县| 油尖旺区| 吉首市| 迭部县| 汪清县| 万山特区| 建水县| 长泰县| 巩义市| 镇康县| 辛集市| 宣化县| 奉化市| 广东省| 分宜县|