📄 keyinterface.v
字号:
`timescale 1ns / 100ps
module KeyInterface(Clk4096Hz,Clk100HzCE,Clk8HzTC,Reset,Key3,Key2,Key1,ModeKey,SetSelKey,SetKey,StartPause,HoldReset,SetCP,IsFastAdjust);
input Clk4096Hz,Clk100HzCE,Clk8HzTC,Reset,Key3,Key2,Key1;
output ModeKey,SetSelKey,SetKey,StartPause,HoldReset,SetCP,IsFastAdjust;
reg [2:0] Count4Fast ;
KeyInput U_Key3(.KeyIn(Key3),.Clk(Clk4096Hz),.CE(Clk100HzCE),.Reset(Reset),.KeyOut(ModeKey),.KeyCP()) ;
KeyInput U_Key2(.KeyIn(Key2),.Clk(Clk4096Hz),.CE(Clk100HzCE),.Reset(Reset),.KeyOut(SetSelKey),.KeyCP(StartPause)) ;
KeyInput U_Key1(.KeyIn(Key1),.Clk(Clk4096Hz),.CE(Clk100HzCE),.Reset(Reset),.KeyOut(SetKey),.KeyCP(HoldReset)) ;
assign IsFastAdjust= &Count4Fast; //是否进入快调状态
always @(negedge SetKey or posedge Clk4096Hz)
begin
if(!SetKey)Count4Fast<=0;
else if(Clk8HzTC & ~IsFastAdjust )Count4Fast<=Count4Fast+1;
//没进入快调就计数
end
//进入快调就输出8Hz脉冲,否则就是输出按键的电平
assign SetCP=(IsFastAdjust)? Clk8HzTC : (HoldReset & Clk100HzCE);
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -