PS2键盘编码Verilog源程序.doc
《PS2键盘编码Verilog源程序.doc》由会员分享,可在线阅读,更多相关《PS2键盘编码Verilog源程序.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datePS2键盘编码Verilog源程序PS2键盘编码Verilog源程序PS2键盘编码Verilog源程序之前探讨过PS/2键盘编解码以及数据传输协议,这次自己动手实现了利用FPGA接收键盘编码,然后通过串口传输到PC。做的比较简单,只是通过FPGA把大写字母A-Z转换成相应的ASCII码,只要字母按键被按下,就能在串口调试助手里显示相应大写字母。下面就共享代码吧! 除了
2、顶层模块,三个底层模块分别为PS/2传输处理模块、串口传输模块以及串口波特率选择模块(下面只给出顶层模块和PS/2传输处理模块的verilog代码)。 module ps2_key(clk,rst_n,ps2k_clk,ps2k_data,rs232_tx); input clk; /50M时钟信号 input rst_n; /复位信号 input ps2k_clk; /PS2接口时钟信号 input ps2k_data; /PS2接口数据信号 output rs232_tx; / RS232发送数据信号 wire7:0 ps2_byte; / 1byte键值 wire ps2_state;
3、/按键状态标志位 wire bps_start; /接收到数据后,波特率时钟启动信号置位 wire clk_bps; / clk_bps的高电平为接收或者发送数据位的中间采样点 ps2scan ps2scan( .clk(clk), /按键扫描模块 .rst_n(rst_n), .ps2k_clk(ps2k_clk), .ps2k_data(ps2k_data), .ps2_byte(ps2_byte), .ps2_state(ps2_state) ); speed_select speed_select( .clk(clk), .rst_n(rst_n), .bps_start(bps_st
4、art), .clk_bps(clk_bps) ); my_uart_tx my_uart_tx( .clk(clk), .rst_n(rst_n), .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
5、 ps2k_clk; /PS2接口时钟信号 input ps2k_data; /PS2接口数据信号 output7: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 rs
6、t_n) begin if(!rst_n) begin ps2k_clk_r0 = 1b0; ps2k_clk_r1 = 1b0; ps2k_clk_r2 = 1b0; 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; /下降沿 /- reg7:0 ps2_byte_r; /PC接收来自PS2的一个字节数据存储器 reg7:0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PS2 键盘 编码 Verilog 源程序
限制150内