3120403069电信121周煜.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3120403069电信121周煜.doc

课程设计(论文) 题 目 PS2键盘控制VGA图片切换 姓 名 朱栋梁 专业班级 12电子信息工程1班 学 院 信息科学与工程学院 完成日期 2014年月日 ps2_module)和VGA显示模块(VGA_Ctrl)相结合的用PS2键盘控制VGA切换图片的系统设计,并且通过数码管来显示PS2键盘键值。 关键词: PS2;VGA;切换图片 目 录 摘 要 1 第1章 概述和原理 1 1.1 概述 1 1.2 原理 1 第2章 设计过程 1 第3章 设计结果 1 第4章 总结 1 参考文献 1 附 录 电路或者源代码 2 1 顶层模块程序 2 2 数码管动态扫描显示模块程序 4 3 PS2键盘模块程序 6 4 VGA键盘显示模块程序 8 概述和原理 1.1 概述 采用PS2键盘输入,用相应模块(ps2_module)获得其键值,当按下不同键时,返回不同的键值,来切换显示不同图片,将得到的键值用数码管(DTcontrl)显示,图片存在响应的ROM0~9中,最后锁相环(alp9llo)产生25M脉冲,供给VGA显示模块(VGA_Ctrl)。 1.2 原理 VGA显示模块 基于FPGA的VGA显示控制器,一组VGA视频信号包含5个有效信号:行同步信号 HS TTL电平,场同步信号 VS TTL电平,三基色信号:R、G、B 0.7 ~1.0V p_p。 VGA显示器进行显示时采用逐行扫描方式,是从屏幕的左上方开始逐点扫描,每行(640个点)扫描完成后,产生行同步负脉冲,并进行行消隐,然后回到下一行的最左边,开始新一行的扫描,直到屏幕的最右下方,即扫描完一帧图像(共480行),然后产生场同步负脉冲,并进行场消隐,最后又回到屏幕的最左上方,开始下一帧的扫描。VGA显示模式(640*480)的行、场扫描时序如下图(1),图所示是行扫描时序,单位是像素,即输出一个像素的时间间隔。图中各时间段的像素时间分别是:Ta(行同步头) 96,Tb 40,Tc 8,Td(行图像) 640,Te 8,Tf 8,Tg(行周期) 800. 图(2)是场扫描时序,单位是行,即输出一行图像的时间间隔。图中各时间段为:Ta(场同步头) 2,Tb 25,Tc 8,Td(场图像) 480,Te 8,Tf 2,Tg(场周期) 525. VGA图像显示扫描示意图:行计数数器的计数时钟可以采用25.2MHz,行计数器的溢出信号可作为场计数器的计数时钟。由行场计数器控制行场同步信号的产生,并在图像显示区域输出对应像素点的RGB数据,就能显示出相应的图像。 设计过程 首先调用数码管动态扫描程序,将键值显示在数码管上 DTcontrl decode8 CLK,count,oDTsel,oDTdata ; 其中count与pdata的关系为assign count 24h000000,pdata ; 然后调用PS2键盘模块,获得其键值(pdata) ps2_module X2 CLK, RST,KBclk, KBdata,pdata, ps2Done ; 将相应图片添加到ROM中 ROM0 uuu7 ram_addr,vga_clk,ram_data[0] ; ROM1 uuu8 ram_addr,vga_clk,ram_data[1] ; ROM2 uuu2 ram_addr,vga_clk,ram_data[2] ; ROM3 uuu3 ram_addr,vga_clk,ram_data[3] ; ROM4 uuu4 ram_addr,vga_clk,ram_data[4] ; ROM5 uuu5 ram_addr,vga_clk,ram_data[5] ; ROM6 uuu6 ram_addr,vga_clk,ram_data[6] ; nit_gray u0 ram_addr1,vga_clk,ram_data[7] ; lenna uuu1 ram_addr1,vga_clk,ram_data[8] ; ROM9 uuu9 ram_addr,vga_clk,ram_data[9] ; 再编写一个锁相环,产生25MHz脉冲给VGA显示器 alp9llo u1 CLK,clk25Mhz ; 不同的键值给VGA显示器不同的显示内容 always@ pdata if pdata 8h6c vga_data ram_data[7]; else if pdata 8h75 vga_data ram_data[8]; else if pdata 8h7d vga_data ram_data[9]; else if pdata 8h70 vga_data ram_data[0]; else

文档评论(0)

eorihgvj512 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档