五月天青色头像情侣网名,国产亚洲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學習筆記-按鍵消抖的評論 (共 條)

分享到微博請遵守國家法律
肇州县| 冕宁县| 漳州市| 广东省| 全州县| 岳池县| 陵水| 六枝特区| 祁东县| 连城县| 临邑县| 沈阳市| 师宗县| 新密市| 习水县| 上虞市| 东源县| 丰镇市| 大竹县| 辽源市| 石泉县| 绍兴市| 章丘市| 松溪县| 将乐县| 新绛县| 扶绥县| 景东| 瑞金市| 白城市| 中江县| 抚顺市| 壤塘县| 崇文区| 休宁县| 武邑县| 诏安县| 木兰县| 太保市| 汾阳市| 浦江县|