日本精品久久-日本精品二区-日本精品二区-日本极品少妇-成人欧美一区二区三区黑人免费-成人欧美一区二区三区黑人免费

在FPGA內(nèi)實現(xiàn)按鍵消抖的方法

來源:網(wǎng)絡(luò)

點擊:1032

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: FPGA,按鍵消抖

      抖動的產(chǎn)生

      通常的按鍵所用開關(guān)為機械彈性開關(guān),當(dāng)機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。

      抖動時間

      抖動時間的長短由按鍵的機械特性決定,一般為5ms~10ms。這是一個很重要的時間參數(shù),在很多場合都要用到按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數(shù)秒。鍵抖動會引起一次按鍵被誤讀多次。為確保FPGA對鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩(wěn)定時讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。

    在FPGA內(nèi)實現(xiàn)按鍵消抖的方法

      圖1 按鍵抖動

      FPGA內(nèi)實現(xiàn)消抖的方法

      在FPGA內(nèi)實現(xiàn)按鍵消抖的方法多種多樣,但是最簡單的是采用移位寄存器的方法進行消抖。因為移位寄存器的方法不需要對時鐘進行分頻,也不需要進行延時等復(fù)雜操作,即可實現(xiàn)對按鍵邊沿的檢測。假設(shè)未按下時鍵值=1.

      1、在無鍵按下時,移位寄存器samp[7:0]始終采集到高電平,即samp[7:0]=8b1111_1111;

      2、當(dāng)鍵按下時,samp[7:0]將采集到低電平,數(shù)據(jù)的變化方式為samp[7:0]=8b1111_1110-->8b1111_1100-->8b1111_1000--> ........-->8b0000_0000;samp[7:0]=8b1111_1110即為按鍵下降沿。

      3、當(dāng)松開按鍵時,samp[7:0]將重新采集到高電平,數(shù)據(jù)變化方式為samp[7:0]=8b0000_0001-->8b0000_0011--> ........-->8b1111_1111;當(dāng)samp[7:0]=8b0111_1111時,即為按鍵上升沿。

    在FPGA內(nèi)實現(xiàn)按鍵消抖的方法

      圖2 移位寄存器消抖原理圖

      參考Verilog代碼

      //模塊名:EdgeDetect,邊沿檢測

      //button:按鍵,無鍵按下時為高電平//clk:10M時鐘

      //rst:復(fù)位按鈕,低電平有效

      //rise:檢測到上升沿,高電平有效,寬度為1個clk

      //fall:檢測到下降沿,高電平有效,寬度為1個clk

      module EdgeDetect(

      input clk,

      input rst,

      input button,

      output reg rise,

      output reg fall

      );

      reg[7:0] samp;//移位寄存器采集button鍵值

      //移位寄存器采集button信息

      always@(posedge clk or negedge rst)

      begin

      if(!rst)

      samp<=8b1111_1111;

      else

      samp<={samp[7:1],button};

      end

      //產(chǎn)生上升沿信息

      always@(posedge clk or negedge rst)

      begin

      if(!rst)

      rise<=1b0;

      else if(samp==8b1111_1110)

      rise<=1b1;

      else

      rise<=1b0;

      end

      //產(chǎn)生下降沿信息

      always@(posedge clk or negedge rst)

      begin

      if(!rst)

      fall<=1b0;

      else if(samp==8b0111_1111)

      fall<=1b1;

      else

      fall<=1b0;

      end

      endmodule

    (審核編輯: 智匯張瑜)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。

    主站蜘蛛池模板: 驯服型男刑警队长| 我的刺猬女孩大结局| 孽债电视剧演员表| 欢颜电视剧40集免费观看全集高清| 狂野鸳鸯| 王菀之个人资料简介| 香蜜沉沉烬如霜吻戏| 少年智力开发报| 电影《kiskisan》在线播放| 摇曳庄的幽奈小姐| 游泳池play高h| 雀圣 电影| 糯玉米和甜玉米哪个热量高| 罪孽天使| 天注定在线观看| 莫斯科保卫战电影| 中长发图片2024最新款女| 火花 电影| 08版包青天狸猫换太子| 汤唯和梁朝伟拍戏原版视频在线观看| silk电影| 欧美一级毛片无遮挡| 隐藏的秘密电影免费观看全集| 老男孩之猛龙过江 电影| 男微信头像| 常乐镇| river flows in you钢琴谱| 迈克尔·j·福克斯| 烽火流金电视剧全集免费观看| 第一财经现场直播| 上香香灰打卷图解| 火辣身材| 徐童| 欲孽迷宫电影| 淮剧赵五娘| 大场久美子| 182tv在线视频| 李欣聪个人资料| 方谬神探结局细思极恐| 求佛的歌词| 头像女伤感|