verilog PS2键盘解码程序
[09-08 11:50:26] 来源:http://www.88dzw.com 单片机学习 阅读:8181次
文章摘要: .clk_bps(clk_bps), .rx_data(ps2_byte), .rx_int(ps2_state), .rs232_tx(rs232_tx), .bps_start(bps_start)
verilog PS2键盘解码程序,标签:单片机开发,单片机原理,http://www.88dzw.com.clk_bps(clk_bps),
.rx_data(ps2_byte),
.rx_int(ps2_state),
.rs232_tx(rs232_tx),
.bps_start(bps_start)
);
Endmodule
module ps2scan(clk,rst_n,ps2k_clk,ps2k_data,ps2_byte,ps2_state);
input clk; //50M时钟信号
input rst_n; //复位信号
input ps2k_clk; //PS2接口时钟信号
input ps2k_data; //PS2接口数据信号
output[7:0] ps2_byte; // 1byte键值,只做简单的按键扫描
output ps2_state; //键盘当前状态,ps2_state=1表示有键被按下
//------------------------------------------
reg ps2k_clk_r0,ps2k_clk_r1,ps2k_clk_r2; //ps2k_clk状态寄存器
//wire pos_ps2k_clk; // ps2k_clk上升沿标志位
wire neg_ps2k_clk; // ps2k_clk下降沿标志位
always @ (posedge clk or negedge rst_n) begin
if(!rst_n) begin
ps2k_clk_r0 <= 1'b0;
ps2k_clk_r1 <= 1'b0;
ps2k_clk_r2 <= 1'b0;
end
else begin //锁存状态,进行滤波
ps2k_clk_r0 <= ps2k_clk;
ps2k_clk_r1 <= ps2k_clk_r0;
ps2k_clk_r2 <= ps2k_clk_r1;
end
end
assign neg_ps2k_clk = ~ps2k_clk_r1 & ps2k_clk_r2; //下降沿
//------------------------------------------
reg[7:0] ps2_byte_r; //PC接收来自PS2的一个字节数据存储器
reg[7:0] temp_data; //当前接收数据寄存器
reg[3:0] num; //计数寄存器
always @ (posedge clk or negedge rst_n) begin
if(!rst_n) begin
num <= 4'd0;
上一页 [1] [2] [3] [4] [5] [6] 下一页
Tag:单片机学习,单片机开发,单片机原理,维修教程知识 - 单片机学习
《verilog PS2键盘解码程序》相关文章
- › 电脑开机显示verifying DMI Pool Data 后黑屏
- › 电脑突然无法启动屏幕显示"verifying dmi pool data"错...
- › verilog PS2键盘解码程序
- 在百度中搜索相关文章:verilog PS2键盘解码程序
- 在谷歌中搜索相关文章:verilog PS2键盘解码程序
- 在soso中搜索相关文章:verilog PS2键盘解码程序
- 在搜狗中搜索相关文章:verilog PS2键盘解码程序
最新更新