最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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學習筆記-按鍵消抖的評論 (共 條)

分享到微博請遵守國家法律
和平县| 河池市| 安图县| 扶风县| 勃利县| 永泰县| 商都县| 前郭尔| 新宁县| 池州市| 黎城县| 永仁县| 卢氏县| 满洲里市| 安新县| 盐源县| 余江县| 永清县| 大方县| 东台市| 贵德县| 仙桃市| 固阳县| 佛坪县| 淄博市| 鄯善县| 太湖县| 府谷县| 乌兰县| 双城市| 颍上县| 林周县| 临江市| 凭祥市| 阿合奇县| 增城市| 普兰县| 阳原县| 图木舒克市| 灵川县| 墨竹工卡县|