keyinterface.v
来自「数字钟可以说明的具体功能都在文件家中,请仔细参阅,希望大家可以相互学习,共同进步」· Verilog 代码 · 共 24 行
V
24 行
`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 + =
减小字号Ctrl + -
显示快捷键?