EDA矩阵键盘
矩阵键盘的使用流程解

矩阵键盘的使用流程解析1. 简介矩阵键盘是一种常见的输入设备,用于输入数字、字母和符号等文本信息。
它由一组按键组成,通常排列成矩形的形式。
本文将介绍使用矩阵键盘的详细流程和注意事项。
2. 连接矩阵键盘在开始使用矩阵键盘之前,首先需要将其连接到计算机或其他设备。
通常,矩阵键盘使用USB接口进行连接。
只需要将键盘的USB插头插入计算机的USB接口即可完成连接。
3. 检查键盘状态在使用矩阵键盘之前,我们需要确保键盘状态正常。
检查键盘是否接通电源,以及是否有任何损坏或松动的按键。
确保键盘的线缆与接口连接良好。
4. 输入文本信息使用矩阵键盘输入文本信息非常简单。
按下键盘上相应的按键即可输入相应的字符。
例如,按下数字键1会输入数字1,按下字母键A会输入字母A。
根据需要,可以使用矩阵键盘输入各种类型的字符,包括数字、字母、标点符号等。
通过按下不同的键盘按键,可以输入相应的字符。
5. 切换输入模式一些矩阵键盘还具有切换输入模式的功能,允许用户在不同的输入模式之间进行切换。
例如,可以切换为大写字母模式、小写字母模式或数字模式等。
切换输入模式通常通过特定的按键组合完成。
具体的切换方式可以参考键盘的说明文档或者在键盘上寻找切换模式的标识。
6. 使用快捷键矩阵键盘通常还配有一些快捷键,用于执行常见的操作或调整特定的功能。
这些快捷键可以提高工作效率和便利性。
快捷键的使用方法可以参考键盘的使用手册或者在互联网上搜索相关的资料。
通过学习和使用矩阵键盘的快捷键,可以更快速、高效地完成各种任务。
7. 注意事项在使用矩阵键盘时,需要注意以下几点:•键盘操作的力度应适中,避免过重或过轻按键,以免影响操作效果。
•避免在键盘上敲击过快,以免出现漏键或误输入的情况。
•定期清洁键盘,以保持按键的灵敏度和正常的使用寿命。
•在长时间使用键盘时,适当休息并放松手指、手腕和手臂,以防止过度疲劳和不适。
8. 小结本文介绍了矩阵键盘的使用流程,并提供了一些注意事项。
eda主要代码

矩阵键盘扫描主要代码分析:--数字分频器,对系统时钟进行适当分频,得1~10KHz左右的时钟进行矩阵键盘扫描process(clk)--分频器的进程variable cnt:integer range 0 to 500000;BEGINIF rst='0' then cnt:=0;else if clk'event and clk='1' thenIF cnt=499999 THENclkreg<=not clkreg;cnt:=0;ELSEcnt:=cnt+1;END IF;END IF;END IF;end process;--行扫描循环process(clkreg)beginif clkreg'event and clkreg = '1' thencase rowreg iswhen "1110" => rowreg <= "1101";when "1101" => rowreg <= "1011";when "1011" => rowreg <= "0111";when "0111" => rowreg <= "1110";when others => rowreg <= "1110";end case;end if;end process;row <= rowreg;com <= column&rowreg;--对行扫描信号和列扫描信号进行CASE语句判断。
得到是否有键被按下,输出按键按--键指示信号和按键的编码--数码管显示process(clkreg)beginif clkreg'event and clkreg = '1' thencase com iswhen "11010111" => display <= "11000000"; --数码管显示0when "11101011" => display <= "11111001"; --数码管显示1when "11011011" => display <= "10100100"; --数码管显示2when "10111011" => display <= "10110000"; --数码管显示3when "11101101" => display <= "10011001";--数码管显示4when "11011101" => display <= "10010010"; --数码管显示5when "10111101" => display <= "10000010"; --数码管显示6when "11101110" => display <= "11111000"; --数码管显示7when "11011110" => display <= "10000000"; --数码管显示8when "10111110" => display <= "10010000"; --数码管显示9when "10110111" => display <= "01111111"; --数码管显示.when "01111101" => display <= "10111001"; --数码管显示+when "01111011" => display <= "10111010"; --数码管显示enterwhen others => null;end case;end if;end process;weixuan<=q;交通灯控制代码分析:1、时钟分频代码:process(clk)variable cnt1 : integer range 0 to 50000000;beginif (clk'event and clk='1') thenif cnt1=24999999 thenclk_1<=not clk_1;cnt1:=0;else cnt1:=cnt1+1;end if;end if;end process;--产生1Hz的时钟频率,时间为一秒。
4×4矩阵键盘EDA设计

else if(Clk4EN) begin
case(KeyOut) 4'b1110 : KeyTmp1[3:0] <= KeyDone;//扫描过程中消抖 4'b1101 : KeyTmp1[7:4] <= KeyDone; 4'b1011 : KeyTmp1[11:8] <= KeyDone; 4'b0111 : KeyTmp1[15:12] <= KeyDone; default : KeyTmp1 <= 16'hffff;//清零
2021/7/23
9
7/23/2021
硬件设计
8段数码管原理图
2021/7/23
11
硬件设计
2021/7/23
12
2021/7/23
软件设计
module matrix_keyboard(Clock,nRST,nEN,pEN,INT,KeyVal,KeyIn,KeyOut);
input
Clock;//系统时钟
KeyVal <= 8'hf2;
else if(pFlag[7])
KeyVal <= 8'hfa;
else if(pFlag[8])
KeyVal <= 8'hf9;
else if(pFlag[9])
KeyVal <= 8'hf6;
else if(pFlag[10])KeyVal <= 8'hf3;
else if(pFlag[11])KeyVal <= 8'hfb;
)
矩阵键盘的应用原理

矩阵键盘的应用原理什么是矩阵键盘矩阵键盘是一种常见的输入设备,它由多行多列的按键组成,可以通过按下不同的按键来输入不同的字符和命令。
矩阵键盘通常被用于计算机、电子设备和智能家居等领域。
矩阵键盘的工作原理矩阵键盘的工作原理非常简单,它通过将按键排列成行和列的形式,并使用矩阵的方式进行扫描和识别。
下面是矩阵键盘的工作原理的步骤:1.按键排列:矩阵键盘的按键被排列成多行多列的矩阵。
每个按键都与一个特定的行和列相连。
2.按键扫描:当用户按下某个按键时,这个按键所在的行和列都会被激活。
矩阵键盘会依次扫描每一行并检测是否有按键被按下。
3.按键识别:当矩阵键盘检测到某一行被激活时,它会继续扫描该行的每一列。
如果某一列也被激活,矩阵键盘就可以确定用户按下了特定的按键。
4.字符输入:根据按键识别的结果,矩阵键盘可以将相应的字符或命令发送给计算机或其他设备进行处理。
矩阵键盘的优势矩阵键盘相比其他类型的键盘有以下优势:•节省空间:由于按键被排列成矩阵的形式,矩阵键盘相对于其他键盘类型来说更加紧凑,占用空间更少。
•便于集成:矩阵键盘可以很容易地与其他电子设备集成在一起,其扁平化的设计也使得它更容易嵌入到各种设备中。
•多功能性:通过合理的布局和设计,矩阵键盘可以实现多种功能,例如数字输入、控制命令和快捷键等。
•灵活性:矩阵键盘的按键布局可以灵活调整,适应不同的应用场景和用户需求。
矩阵键盘的应用领域矩阵键盘在各种领域都有广泛的应用,其中包括:1.计算机:矩阵键盘是计算机最常见的输入设备之一,用于输入字符、命令和快捷键等。
2.电子设备:矩阵键盘也被广泛用于电子设备,如手机、平板电脑、数字相机等,用于输入字符、控制命令和菜单导航等。
3.智能家居:矩阵键盘可以作为智能家居控制面板的一部分,用于控制灯光、温度、音响等设备。
4.工业自动化:在工业自动化领域,矩阵键盘通常被用于控制面板和操作界面,用于操作和控制各种设备和机械。
5.安防系统:矩阵键盘还可用于安防系统中的控制面板,例如安全门、门禁系统和监控设备等。
矩阵键盘EDA技术课程设计

《电子设计EDA》课程设计专业:电子信息科学与技术班级:2010级电信本(1)班姓名: ***学号: *********指导老师: ***完成时间: 2012.11—2012.12教师评分:目录一、绪论 (1)1.1 FPGA概况 (1)1.2 本课题的研究意义 (2)二、课程设计的任务和目的 (3)三、矩阵键盘接口电路的原理与总体设计 (3)3.1 矩阵键盘接口电路的原理 (3)3.2 总体设计 (5)四、各模块的设计及仿真 (6)4.1 键盘扫描电路 (6)4.2 键盘译码电路和按键标志位产生电路 (8)4.3 时钟产生模块 (10)4.4 键盘接口电路顶层电路实现 (12)五、参考文献 (13)六、心得体会 (13)七、附录 (14)7.1 源程序代码 (14)2题目:矩阵键盘控制接口设计一、绪论1.1 FPGA概况早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。
由于结构的限制,它们只能完成简单的数字逻辑功能。
其后出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。
典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与—或”表达式来描述,所以PLD能以乘积和的形式完成大量的组合逻辑功能。
这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。
PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。
PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和E2PROM技术。
还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。
PLA 器件既有现场可编程的,也有掩膜可编程的。
在PAL的基础上又发展了一种通用阵列逻辑(GAL、Generic ArrayLogic),如GAL16V8、GAL22V10等。
EDA矩阵键盘控制接口电路设计

JINGGANGSHAN UNIVERSITY EDA作业设计题目:矩阵键盘控制接口设计学院:电子与信息工程学院专业:电子信息工程技术*名:***班级: 2008级专(1)班学号: ********指导老师:肖开选老师时间:2010年12月10号摘要20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
本次设计在EDA开发平台QUARTUSⅡ7.2上利用VHDL语言设计矩阵键盘控制接口电路。
要求设计一个4×9矩阵键盘,一共有三个模块,分别为:扫描电路模块、时钟产生模块、键盘译码电路和按键标志位产生电路。
扫描模块中是为了产生扫描信号,来利用扫描信号来扫描键盘中是否有按键按下。
键盘译码电路和按键标志位产生电路也是为了配合扫描模块来扫描电路中是否有按键按下,而且还要求它来产生按键标志信号,以便和外部电路握手。
时钟产生电路是为了产生不同频率的信号,来驱动上面两个电路的运转。
通过对课题的分析研究,掌握了VHDL语言编程方法,同时也增强了个人的学习能力和动手能力。
关键词:FPGA/CPLD;矩阵键盘;仿真目录1.绪论 (1)1.1FPGA概况 (1)1.2 本课题的研究意义 (2)本章小结 (2)2. VHDL语言介绍与Quartus II 7.2 (32-Bit)软件介绍 (3)2.1 VHDL语言的介绍 (3)2.1.1 VHDL语言概述 (3)2.1.2 VHDL语言的优点 (4)2.1.3 利用VHDL语言设计数字系统的特点 (6)2.1.4 VHDL语言的基本结构 (7)2.2 Quartus II 7.2 (32-Bit)软件介绍及其用法 (7)2.2.1 Quartus II 7.2软件介绍 (7)2.2.2 Quartus II 软件的用法 (10)本章小结 (13)3. 矩阵键盘接口电路的原理与总体设计 (14)3.1 矩阵键盘接口电路的原理 (14)3.2 总体设计 (16)本章小结 (16)4. 各模块的设计及仿真 (17)4.1 键盘扫描电路 (17)4.2 键盘译码电路和按键标志位产生电路 (19)4.3 时钟产生模块 (24)4.4 键盘接口电路顶层电路实现 (27)本章小结 (28)结论 (29)致谢 (30)参考文献 (31)附录程序 (32)1.绪论1.1FPGA概况早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。
EDA实验七 矩阵键盘与数码管显示测试

实验七4*4键盘数据读取及数据显示设计一、实验目的:1、了解数码管的工作原理;2、掌握4*4矩阵键盘和数码管显示的编程方法。
3、学会用于Verilog语言进行程序设计。
二、实验仪器设备1、PC机一台2、FPGA实验开发系统一套。
三、实验原理:本实验通过扫描4*4矩阵键盘的值,在数码管上显示对应按钮的编号数据。
矩阵键盘及数码管电路如下所示。
四、实验要求1、预习教材中的相关内容。
2、阅读并熟悉本次实验的内容。
3、完成实验内容。
五、实验步骤(1)启动 Quartus II 建立一个空白工程,选择的器件为 Altera 公司的 Cyclone 系列的 EP2C8Q240C8芯片,命名为 keyarray.qpf;(2)新建一个 Schematic File 文件,命名为 keyarray.bdf;(3)分别新建 3 个 Verilog HDL File 文件,分别命名为 seg_show.v、 divclk.v、keyarraycontrol.v。
输入程序代码并保存(对应源程序 8),然后进行综合编译。
若在编译过程中发现错误,则找出错误并更正错误,直至编译成功为止。
(4)从设计文件创建模块(File→Creat Update→Creat Symbol Files for Current File),seg_show.v 生成名为seg_show.bsf;divclk.v 生成名为divclk.bsf;keyarraycontrol.v 生成名为keyarraycontrol.bsf;(5)在 keyarray.bdf 文件中,在空白处双击鼠标左键,在 Symbol 对话框左上角的libraries 中,分别将 Project 下的 seg_show, divclk, keyarraycontrol 模块放在图形文件 keyarray.bdf 中,加入输入、输出引脚,双击每个引脚,进行引脚命名,并锁定管脚,将未使用的引脚设置为三态输入(一定要设置,否则可能会损坏芯片);完整的顶层模块原理图如图所示(6)将keyarray.bdf 设置为顶层实体。
矩阵键盘键信号检测电路设计-EDA课程设计说明书

课程设计说明书题目EDA技术与应用系(部)专业(班级)姓名学号指导教师起止日期EDA技术课程设计任务书系(部):专业:指导教师:目录引言 (5)一、绪论 (5)1.1 FPGA概况 (5)1.2 此课题的研究意义 (6)二、矩阵键盘接口电路的原理与总体设计 (6)2.1 矩阵键盘接口电路的原理 (6)2.2 总体设计 (8)三、各模块的设计及仿真 (8)3.1 键盘扫描电路 (8)3.2 键盘译码电路和按键标志位产生电路 (11)3.3 时钟产生模块 (16)3.4 键盘接口电路顶层电路实现 (18)四、硬件测试 (19)五、实验设备 (19)六、总结 (20)参考文献 (20)矩阵键盘键信号检测电路设计引言人类文明已进入到高度发达的信息化社会。
信息化社会的发展离不开电子信息产品开发技术、产品品质的提高和进步。
电子信息产品随着科学技术的进步,其电子器件和设计方法更新换代的速度日新月异。
实现这种进步的主要原因就是电子设计技术和电子制造技术的发展,其核心就是电子设计自动化(EDA,Electronic Design Automation)技术,EDA技术的发展和推广应用又极大地推动了电子信息产业的发展。
为保证电子系统设计的速度和质量,适应“第一时间推出产品”的设计要求,EDA技术正逐渐成为不可缺少的一项先进技术和重要工具。
目前,在国内电子技术教学和产业界的技术推广中已形成“EDA热”,完全可以说,掌握EDA技术是电子信息类专业学生、工程技术人员所必备的基本能力和技能。
此设计主要利用VHDL硬件描述语言在EDA平台Quartus II上设计一个4×4阵列键盘扫描电路,将行扫描信号输入阵列键盘,读取列信号的值,输出按键编码,从而判断出按键按下的位置。
并且进行模拟仿真,下载到EDA实验箱进行硬件验证。
一、绪论1.1 FPGA概况早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(E2PROM)三种。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十五矩阵键盘接口电路的设计
一、实验目的
1、了解普通4×4键盘扫描的原理。
2、进一步加深七段码管显示过程的理解。
3、了解对输入/输出端口的定义方法。
一、实验原理
实现键盘有两种方案:一是采用现有的一些芯片实现键盘扫描;再就是用软件实现键盘扫描。
作为一个嵌入系统设计人员,总是会关心产品成本。
目前有很多芯片可以用来实现键盘扫描,但是键盘扫描的软件实现方法有助于缩减一个系统的重复开发成本,且只需要很少的CPU 开销。
嵌入式控制器的功能能强,可能充分利用这一资源,这里就介绍一下软键盘的实现方案。
图15-1 简单键盘电路
通常在一个键盘中使用了一个瞬时接触开关,并且用如图15-1 所示的简单电路,微处理器可以容易地检测到闭合。
当开关打开时,通过处理器的I/O 口的一个上拉电阻提供逻辑1;当开关闭合时,处理器的/IO 口的输入将被拉低得到逻辑0。
可遗憾的是,开关并不完善,因为当它们被按下或者被释放时,并不能够产生一个明确的1 或者0。
尽管触点可能看起来稳定而且很快地闭合,但与微处理器快速的运行速度相比,这种动作是比较慢的。
当触点闭合时,其弹起就像一个球。
弹起效果将产生如图15-2 所示的好几个脉冲。
弹起的持续时间通常将维持在5ms∼30ms 之间。
如果需要多个键,则可以将每个开关连接到微处理器上它自己的输入端口。
然而,当开关的数目增加时,这种方法将很快使用完所有的输入端口。
图15-2 按键抖动
键盘上阵列这些开关最有效的方法(当需要5 个以上的键时)就形成了一个如图15-3 所示的二维矩阵。
当行和列的数目一样多时,也就是方型的矩阵,将产生一个最优化的布列方式(I/O 端被连接的时候)。
一个瞬时接触开关(按钮)放置在每一行与线一列的交叉点。
矩阵所需的键的数目显然根据应用程序而不同。
每一行由一个输出端口的一位驱动,而每一列由一个电阻器上拉且供给输入端口一位。
图15-3 矩阵键盘
键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4行为高电平,然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。
同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。
获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在7段码管显示。
二、实验内容
本实验要求完成的任务是通过编程实现对4X4矩阵键盘按下键的键值的读取,并在数码管上完成一定功能(如移动等)的显示。
按键盘的定义,按下“*”键则在数码管是显示“E”键值。
按下“#”键在数码管上显示“F”键值。
其它的键则按键盘上的标识进行显示。
在此实验中数码管与FPGA的连接电路和管脚连接在以前的实验中都做了详细说
明,这里不在赘述。
本实验箱上的4X4矩阵键盘的电路原理如图15-4所示。
与FPGA的管脚连接如表15-1所示。
图15-4 4X4矩阵键盘电路原理图
表15-1 4X4矩阵键与FPGA的管脚连接表
三、实验步骤
1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参
照光盘中提供的示例程序。
4、编写完VHDL程序后,保存起来。
方法同实验一。
5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、编译仿真无误后,依照4X4矩阵键、数码管与FPGA的管脚连接表(表或参
照附录进行管脚分配。
表15-2是示例程序的管脚分配表。
分配完成后,再进行全
编译一次,以使管脚分配生效。
表15-2 端口管脚分配表
7、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
观察实验结果是
否与自己的编程思想一致。
四、实验结果与现象
以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1KHZ,按下矩阵键盘的某一个键,则在数码管上显示对应的这个键标识的键值,当再按下第二个键的时候前一个键的键值在数码管上左移一位。
按下“*”键则在数码管是显示“E”键值。
按下“#”键在数码管上显示“F”键值。
五、实验报告
1、绘出不同的键值时的数码管的仿真波形,并作说明。
2、根据自己的思路,找一找还有没有其它方法进行键盘的扫描显示。
并画出流程图。
1、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。