- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计基于FPGA的VGA图像汉字显示及_PS_2键盘控制设计与应用
电子信息工程专业综合设计(报告)
(课 程 设 计)
题目 基于FPGA的VGA图像汉字显示及PS/2键盘控制设计与应用
二级学院
专 业
班 级
学生姓名
学 号
指导教师
时 间
基于FPGA的VGA图像汉字显示及PS/2键盘控制设计与应用
摘 要:现在社会,以计算机技术为核心的信息技术迅速发展,以及信息的爆炸式增长,人类获得视觉信息的很大一部分是从各种各样的电子显示器件上获得的,对这些电子显示器件的要求也越来越高,在这些诸多因素的驱动下,显示技术也取得了飞速的发展。VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。romaddr_control = (vcnt(6 downto 0)-count_tempv(6 downto 0)) (hcnt(6 downto 0)-count_temph(6 downto 0));
注:romaddr_control为从rom中取数据时所需要的地址,它对应着图片的没一个像素点的三基色数据;vcnt(5 downto 0)和hcnt(7 downto 0)分别表示取vcnt(9 downto 0)、hcnt(10 downto 0)的后6、后8 个二进制位来做运算。count_tempv(5 downto 0)和count_temph(7 downto 0)同理可以理解其含义。Vcnt、hcnt实际上可以分别理解为屏幕显示的行和列计数器,count_tempv和count_temph可以分别理解为图片在屏幕上显示的起始行和列坐标。 抛开以上等式,按照正常思路,我们可以得到图片控制地址: addr_control=( vcnt - count_tempv ) * 256 + ( hcnt – count_temph ) 通过分析整个mid.vhdl文件,会发现其实上面代码是该等式的高效等效实现。
2.2.2 ROM内存模块
ROM内存中存储的是图片的依次行扫描三基色数据,作为显示时送给VGA显 示器的RGB数据。本设计存储的是一幅128*128的图片,所以定义了一输出为3位,大小为128*128=16384 byte的rom内存。
2.3 键盘控制模块
本模块主要实现由键盘上的WASD控制图片上下左右移动以及速度调节的功能。因此仅仅只需要对键盘的按键进行通码读取并进行相应操作即可。即由ROM内存地址控制模块读取键盘DATA端口数据。然后由ROM内存地址控制模块产生相应操作。
在实际操作中,我加入了两个中间变量对数据进行处理。即
code:in std_logic_vector(7 downto 0);
flag:in std_logic;
flag用于对键盘按下弹起进行判断以避免误操作。Code用与对键盘DATA口数据进行传输以及函数运算。(FLAG按下为0,弹起为1。加入与运算实现功能)
具体语句为
case 000 flag code is
when x01D = o:=o+1;j:=0;--w
when x01B = o:=d-1;j:=0;--s
when x01C = o:=0;j:=j-1;--a
when x023 = o:=0;j:=j+1;--d
(其中O为图片纵坐标控制变量,J为横坐标控制变量)
即可完成WASD对图片移动的控制。对应操作为:
W:图片上移。
S:图片下移。
A:图片右移。
D:图片左移。
2.4 按键控制模块
按键控制采用的电平触发机制,1Hz左右的扫描频率,适合于人们的使用习惯。其中按键的功能里包括了:a.上下、左右的移动;b.移动中的加速减速停止启动;c.屏保模式自由移动和停止选择按钮。
具体语句为
if(clkmevent and clkm=1) then
if(key1=0)then d:=d+1;e:=e+1;end if;
if(key2=0)then d:=d-1;e:=e-1;end if;
if(key3=0)then d:=d+1;e:=0;end if;
if(key4=0)then d:=0;e:=e+1;e
您可能关注的文档
- 论文如何提高低年级数学口算能力.doc
- 论文对我国中小企业会计信息披露制度的思考.doc
- 论文废弃家用医疗器械回收现状调查及解决方案探究.doc
- 论文建筑批评——后现代主义建筑浅谈.doc
- 论文开题报告三只松鼠”—坚果品牌的营销策略分析.doc
- 论文废菌丝体制备建筑石膏缓凝剂的研究.doc
- 论文开题报告浅析明清家具对现代家具的影响.doc
- 论文开题报告书_浅谈商务英语中新词的发展及翻译.doc
- 论文延胡索酸二钠对断奶羔羊小肠发育情况的影响.doc
- 论文基于CAE的驱动桥桥壳模态分析 09车辆工程.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)