PS2 按键
主要用2根数据线 1脚 DATA 2脚 CLK
每次传递11位数据,第0位位开始位 第1-8位 数据位,第9位 奇偶校验位 第10位 结束位
在CLK的下降沿更新
输出具体的值有一个 传说中的 第二套编码表格 见书P61
每次按下时为送出 通码(Make) 释放时 送出断码(Break) ,先输出0XF0 ,再输出代表当前按键的8位数据
整个检测按键模块 需要 一个检测低电平模块,一个解码模块
对于下降沿 检测,参照试验一,通过一个BOOL 运算 ,在每次测得PS2_clk 下降沿时 输出一个高电平,供给后面模块做判断用
/*************** Internal Registers *****************/ reg H2L_F1 ; reg H2L_F2 ; /****************** Internal Wire *******************/ /**************** Code Starts Here ******************/ always @ ( posedge clk or negedge rst_n ) if ( !rst_n ) begin H2L_F1 <= 1'b1 ; H2L_F2 <= 1'b1 ; end else begin H2L_F1 <= PS2_clk_pin ; H2L_F2 <= H2L_F1 ; end /*****************************************************/ assign H2L_sig = H2L_F2 & ( !H2L_F1 ) ; /*****************************************************/