国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

Verilog HDL實(shí)現(xiàn)智能藥盒—主文件中使用的按鍵消抖模塊

2022-12-05 11:13 作者:老司機(jī)的陽(yáng)光628  | 我要投稿

給各位推薦可以去CSDN或者GITHUB上查找自己想要的項(xiàng)目代碼,里面比較全,也有講解和注釋

// ********************************************************************

// >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<

// ********************************************************************

// File name? ? : debounce.v

// Module name? : debounce

// Author? ? ? ?: STEP

// Description? :?

// Web? ? ? ? ? : www.stepfpga.com

//?

// --------------------------------------------------------------------

// Code Revision History :?

// --------------------------------------------------------------------

// Version: |Mod. Date:? ?|Changes Made:

// V1.0? ? ?|2017/03/02? ?|Initial ver

// --------------------------------------------------------------------

// Module Function:按鍵消抖

?

module debounce_button (clk,rst,key,key_pulse);

?

? ? ? ? parameter? ? ? ?N? =? 1;? ? ? ? ? ? ? ? ? ? ? //要消除的按鍵的數(shù)量

?

input? ? ? ? ? ? ?clk;

? ? ? ? input? ? ? ? ? ? ?rst;

? ? ? ? input [N-1:0]? ?key;? ? ? ? ? ? ? ? ? ? ? ? //輸入的按鍵

output? [N-1:0]? ?key_pulse;? ? ? ? ? ? ? ? ? //按鍵動(dòng)作產(chǎn)生的脈沖

?

? ? ? ? reg? ? ?[N-1:0]? ?key_rst_pre;? ? ? ? ? ? ? ? //定義一個(gè)寄存器型變量存儲(chǔ)上一個(gè)觸發(fā)時(shí)的按鍵值

? ? ? ? reg? ? ?[N-1:0]? ?key_rst;? ? ? ? ? ? ? ? ? ? //定義一個(gè)寄存器變量?jī)?chǔ)存儲(chǔ)當(dāng)前時(shí)刻觸發(fā)的按鍵值

?

? ? ? ? wire? ? [N-1:0]? ?key_edge;? ? ? ? ? ? ? ? ? ?//檢測(cè)到按鍵由高到低變化是產(chǎn)生一個(gè)高脈沖

?

? ? ? ? //利用非阻塞賦值特點(diǎn),將兩個(gè)時(shí)鐘觸發(fā)時(shí)按鍵狀態(tài)存儲(chǔ)在兩個(gè)寄存器變量中

? ? ? ? always @(posedge clk? or? negedge rst)

? ? ? ? ? begin

? ? ? ? ? ? ?if (!rst) begin

? ? ? ? ? ? ? ? ?key_rst <= {N{1'b1}};? ? ? ? ? ? ? ? //初始化時(shí)給key_rst賦值全為1,{}中表示N個(gè)1

? ? ? ? ? ? ? ? ?key_rst_pre <= {N{1'b1}};

? ? ? ? ? ? ?end

? ? ? ? ? ? ?else begin

? ? ? ? ? ? ? ? ?key_rst <= key;? ? ? ? ? ? ? ? ? ? ?//第一個(gè)時(shí)鐘上升沿觸發(fā)之后key的值賦給key_rst,同時(shí)key_rst的值賦給key_rst_pre

? ? ? ? ? ? ? ? ?key_rst_pre <= key_rst;? ? ? ? ? ? ?//非阻塞賦值。相當(dāng)于經(jīng)過(guò)兩個(gè)時(shí)鐘觸發(fā),key_rst存儲(chǔ)的是當(dāng)前時(shí)刻key的值,key_rst_pre存儲(chǔ)的是前一個(gè)時(shí)鐘的key的值

? ? ? ? ? ? ?end? ??

? ? ? ? ? ?end

?

? ? ? ? assign? key_edge = key_rst_pre & (~key_rst);//脈沖邊沿檢測(cè)。當(dāng)key檢測(cè)到下降沿時(shí),key_edge產(chǎn)生一個(gè)時(shí)鐘周期的高電平

?

? ? ? ? reg [17:0] ? cnt;? ? ? ? ? ? ? ? ? ? ? ?//產(chǎn)生延時(shí)所用的計(jì)數(shù)器,系統(tǒng)時(shí)鐘12MHz,要延時(shí)20ms左右時(shí)間,至少需要18位計(jì)數(shù)器? ? ?

?

? ? ? ? //產(chǎn)生20ms延時(shí),當(dāng)檢測(cè)到key_edge有效是計(jì)數(shù)器清零開(kāi)始計(jì)數(shù)

? ? ? ? always @(posedge clk or negedge rst)

? ? ? ? ? ?begin

? ? ? ? ? ? ?if(!rst)

? ? ? ? ? ? ? ? cnt <= 18'h0;

? ? ? ? ? ? ?else if(key_edge)

? ? ? ? ? ? ? ? cnt <= 18'h0;

? ? ? ? ? ? ?else

? ? ? ? ? ? ? ? cnt <= cnt + 1'h1;

? ? ? ? ? ? ?end??

?

? ? ? ? reg? ? ?[N-1:0]? ?key_sec_pre;? ? ? ? ? ? ? ? //延時(shí)后檢測(cè)電平寄存器變量

? ? ? ? reg? ? ?[N-1:0]? ?key_sec;? ? ? ? ? ? ? ? ? ??

?

?

? ? ? ? //延時(shí)后檢測(cè)key,如果按鍵狀態(tài)變低產(chǎn)生一個(gè)時(shí)鐘的高脈沖。如果按鍵狀態(tài)是高的話說(shuō)明按鍵無(wú)效

? ? ? ? always @(posedge clk? or? negedge rst)

? ? ? ? ? begin

? ? ? ? ? ? ?if (!rst)?

? ? ? ? ? ? ? ? ?key_sec <= {N{1'b1}};? ? ? ? ? ? ? ??

? ? ? ? ? ? ?else if (cnt==18'h3ffff)

? ? ? ? ? ? ? ? ?key_sec <= key;??

? ? ? ? ? end

? ? ? ?always @(posedge clk? or? negedge rst)

? ? ? ? ? begin

? ? ? ? ? ? ?if (!rst)

? ? ? ? ? ? ? ? ?key_sec_pre <= {N{1'b1}};

? ? ? ? ? ? ?else? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ?key_sec_pre <= key_sec;? ? ? ? ? ? ?

? ? ? ? ?end? ? ??

? ? ? ?assign? key_pulse = key_sec_pre & (~key_sec);? ? ?

?

endmodule

————————————————

本文代碼編輯部分因UP比較初級(jí),不太會(huì)敲,我是初學(xué)者,所以有的借鑒了這位博主的,敲得一模一樣,所以我不要版權(quán)!

原文鏈接:https://blog.csdn.net/m0_54218263/article/details/121726857

版權(quán)聲明:本文為CSDN博主「hhh江月」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。注釋:本文部分轉(zhuǎn)載自博主,轉(zhuǎn)載會(huì)附作者版權(quán)聲明!感謝作者讓我這個(gè)JAVA卡拉米體會(huì)到編程的神奇!



Verilog HDL實(shí)現(xiàn)智能藥盒—主文件中使用的按鍵消抖模塊的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
周至县| 富源县| 民县| 池州市| 长顺县| 昭苏县| 福海县| 南靖县| 伊宁市| 吉木萨尔县| 大悟县| 泽州县| 韩城市| 镇宁| 灵台县| 漠河县| 三都| 镇远县| 临桂县| 重庆市| 临沧市| 饶河县| 龙州县| 衡阳县| 霍林郭勒市| 开江县| 盘山县| 石首市| 台前县| 即墨市| 海晏县| 丹凤县| 麻阳| 明溪县| 墨脱县| 宁德市| 汝南县| 九寨沟县| 资溪县| 林州市| 新疆|