实验十二SOPC的键盘与LCD显示控制实验4页

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验3 SOPC的键盘与LCD显示控制实验

【实验目的】

1.熟悉矩阵键盘的工作特性。

2.学会使用VHDL语言描述一个矩阵键盘的电路功能。

3.了解字符型液晶显示控制器。

4.掌握1602液晶的操作方法。

5.学会使用VHDL语言描述一个1602液晶控制的电路功能。

【实验内容】

1.使用VHDL语言描述一个矩阵键盘的电路功能,程序实现的功能是测试

4X4矩阵按键;具体的键值通过FPGA核心板上的数码管来显示。如按下K1,数码管就显示0,按下K16,数码管就显示F。

2.使用VHDL语言描述一个1602液晶显示屏控制的电路功能,使1602液

晶屏可以显示你自己的名字(拼音)。

【实验器材】

1. HS-EDA5.1实验箱

2.USB-BLASTER烧写器

3. Quartus II 8.0

【实验原理】

本实验需要使用VHDL语言描述一个矩阵键盘以及1602液晶控制的电路功能,下面我们先来介绍一下矩阵键盘和1602液晶显示屏。

1.矩阵键盘:键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用

的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机

键盘.而靠软件编程来识别的称为非编码键盘;在一般常用系统中,用的最多的是非编码键盘。也有用到编码键盘的。非编码键盘有分为:独立键盘和行列式(又称为矩阵式)键盘。

矩阵键盘结构图如上图

矩阵键盘的读取都经历一个扫描的过程,程序先将L1输出低电平,,即端口输入11111110,

即十六进制0FEH,然后读回端口的数据,此时如果 L1 上的四个按键没有按下,读到的P0 口的数据还是11111110,如按下了按键 8,H2 便被拉成低电平,读回的端口数据11011110(十六进制:0DEH),程序就根据读回的数据来判断某个按键按下了,如果没有按键按下,则再将 L2 输出低电平(P0=11111101,十六进制:0FDH),然后也一样读回端口数据,判断有按键按下否,如此下去,到 L4 的完成,为一个扫描过程。刚才按键 8 按下读回的数值是 0DEH,如果做为简单的程序,可以直接用0DEH 来认定是8 键的键值码,也可以认为它是一个无名键的键值码,所以上面写的 8 不是特定的,而只是序号,你怎么排列键序都可以,甚至认为是游戏手柄的上下左右出拳踢腿键都没问题,问题是按下某下按键后,你知道读回的键值是多少就可以了,键值才有用。

2.1602液晶显示屏:工业字符型液晶,能够同时显示16x02即32个字符,每个字符是5X7的点阵。1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H

中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,实验可以用ASCII码直接赋值。

管脚说明如下图

时序图

地址映射图

主要时序结构如下图:

【实验步骤】

1.打开Quartus II 软件,建立一个key44的工程.。并将keyboarddeco.v

和led_disp的文件加入到工程中,并新建一个Block Diagram的文件。

(软件代码过长,程序附在主机上)

2.在Project Navigator框中选择file栏,右键点击keyboarddeco.v

选择create symbol files for current file生成symbol,也对

led_disp.vhdl生成symbol,生成以后我们就能在图形界面编程时就能选择我们自定义的接口程序。如图:

3.在图形编程中编译如下:

(图中的管脚标注是定义pins后编译在图中生成)

4.点击processing/start compilation编译文件。定义管脚如下:

5.点击processing/start compilation编译生成文件,下载至FPGA,

具体的键值就能通过板上的数码管来显示。按下K1就显示0,K2就显示1。

6.建立一个新的工程,并将div_256.v,div16.v ,ps2_keyboard.v和

lcd.v文件加入工程,并create symbol files for current file。

7.建立图形编程界面如下:

8.编译并定义管脚如下图:

9.编译生成文件,下载至FPGA,ps/2键盘输入,稍等可以在lcd1602

上显示输入的字符。

【实验要求】

1.掌握4x4矩阵键盘的扫描方法。

2.掌握1602的操作方式。

3.进一步学习VHDL语言编写程序。

4.完成思考题。

【思考题】

1.分析电路原理图,思考如果要用SOPC板上的ps/2接口,应该如何定义

pins?

2.尝试采用Verilog HDL语言编写程序。(选做)

3.希望以上资料对你有所帮助,附励志名言3条:

4.1、上帝说:你要什么便取什么,但是要付出相当的代价。

5.2、目标的坚定是性格中最必要的力量源泉之一,也是成功的利器之一。

没有它,天才会在矛盾无定的迷径中徒劳无功。

6.3、当你无法从一楼蹦到三楼时,不要忘记走楼梯。要记住伟大的成功

往往不是一蹴而就的,必须学会分解你的目标,逐步实施。

7.

相关文档
最新文档