- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验十二SOPC的键盘与LCD显示控制实验.
实验3 SOPC的键盘与LCD显示控制实验
【实验目的】
熟悉矩阵键盘的工作特性。
学会使用VHDL语言描述一个矩阵键盘的电路功能。
了解字符型液晶显示控制器。
掌握1602液晶的操作方法。
学会使用VHDL语言描述一个1602液晶控制的电路功能。
【实验内容】
使用VHDL语言描述一个矩阵键盘的电路功能,程序实现的功能是测试4X4矩阵按键;具体的键值通过FPGA核心板上的数码管来显示。如按下K1,数码管就显示0,按下K16,数码管就显示F。
使用VHDL语言描述一个1602液晶显示屏控制的电路功能,使1602液晶屏可以显示你自己的名字(拼音)。
【实验器材】
1. HS-EDA5.1实验箱
2.USB-BLASTER烧写器
3. Quartus II 8.0
【实验原理】
本实验需要使用VHDL语言描述一个矩阵键盘以及1602液晶控制的电路功能,下面我们先来介绍一下矩阵键盘和1602液晶显示屏。
矩阵键盘:键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘;在一般常用系统中,用的最多的是非编码键盘。也有用到编码键盘的。非编码键盘有分为:独立键盘和行列式(又称为矩阵式)键盘。
矩阵键盘结构图如上图
矩阵键盘的读取都经历一个扫描的过程,程序先将L1输出低电平,,即端口输
即十六进制0FEH,然后读回端口的数据,此时如果 L1 上的四个按键没有按下,读到的P0 口的数据还如按下了按键 8,H2 便被拉成低电平,读回的端口数十六进制:0DEH),程序就根据读回的数据来判断某个按键按下了,如果没有按键按下,则再将 L2 输出低电平(P0十六进制:0FDH),然后也一样读回端口数据,判断有按键按下否,如此下去,到 L4 的完成,为一个扫描过程。刚才按键 8 按下读回的数值是 0DEH,如果做为简单的程序,可以直接用0DEH 来认定是 8 键的键值码,也可以认为它是一个无名键的键值码,所以上面写的 8 不是特定的,而只是序号,你怎么排列键序都可以,甚至认为是游戏手柄的上下左右出拳踢腿键都没问题,问题是按下某下按键后,你知道读回的键值是多少就可以了,键值才有用。
2.1602液晶显示屏:工业字符型液晶,能够同时显示16x02即32个字符1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,可以用ASCII码直接赋值keyboarddeco.v和led_disp的文件加入到工程中,并新建一个Block Diagram的文件。(软件代码过长,程序附在主机上)
在Project Navigator框中选择file栏,右键点击keyboarddeco.v选择create symbol files for current file生成symbol,也对led_disp.vhdl生成symbol,生成以后我们就能在图形界面编程时就能选择我们自定义的接口程序。如图:
在图形编程中编译如下:
(图中的管脚标注是定义pins后编译在图中生成)
点击processing/start compilation编译文件。定义管脚如下:
点击processing/start compilation编译生成文件,下载至FPGA,具体的键值就能通过板上的数码管来显示。按下K1就显示0,K2就显示1。
建立一个新的工程,并将div_256.v,div16.v ,ps2_keyboard.v和lcd.v文件加入工程,并create symbol files for current file。
建立图形编程界面如下:
编译并定义管脚如下图:
编译生成文件,下载至FPGA,ps/2键盘输入,稍等可以在lcd1602上显示输入的字符。
【实验要求】
掌握4x4矩阵键盘的扫描方法。
掌握1602的操作方式。
进一步学习VHDL语言编写程序。
完成思考题。
【思考题】
分析电路原理图,思考如果要用SOPC板上的ps/2接口,应该如何定义pins?
尝试采用Verilog HDL语言编写程序。(选做)
文档评论(0)